Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .LC0:
- .string "Ace"
- .LC1 [complete object constructor] [complete object constructor]:
- .string "King"
- .LC2 [base object constructor] [base object constructor]:
- .string "Queen"
- .LC3 [complete object allocating constructor] [complete object allocating constructor]:
- .string "Jack"
- .LC4:
- .string "Ten"
- .LC5:
- .string "Nine"
- .LC6:
- .string "Eight"
- .LC7:
- .string "Seven"
- .LC8:
- .string "Six"
- .LC9:
- .string "Five"
- .LC1 [complete object constructor] [complete object constructor]0 [complete object constructor] [complete object constructor]:
- .string "Four"
- .LC1 [complete object constructor] [complete object constructor]1 [complete object constructor] [complete object constructor]:
- .string "Three"
- .LC1 [complete object constructor] [complete object constructor]2 [complete object constructor] [complete object constructor]:
- .string "Two"
- .LC1 [complete object constructor] [complete object constructor]3 [complete object constructor] [complete object constructor]:
- .string "Drew %s\n"
- .LC1 [complete object constructor] [complete object constructor]4 [complete object constructor] [complete object constructor]:
- .string "Hit? "
- .LC1 [complete object constructor] [complete object constructor]5 [complete object constructor] [complete object constructor]:
- .string "%d\n"
- .LC1 [complete object constructor] [complete object constructor]6 [complete object constructor] [complete object constructor]:
- .string "Play again? "
- main:
- push rbp
- mov rbp, rsp
- sub rsp, 1216
- mov DWORD PTR [rbp-1204], edi
- mov QWORD PTR [rbp-1216], rsi
- cmp DWORD PTR [rbp-1204], 1
- jle .L2
- mov rax, QWORD PTR [rbp-1216]
- add rax, 8
- mov rax, QWORD PTR [rax]
- mov rdi, rax
- call atoi
- mov edi, eax
- call srand
- jmp .L3
- .L2:
- mov edi, 0
- call time
- mov edi, eax
- call srand
- .L3:
- mov DWORD PTR [rbp-4], 0
- .L25:
- cmp DWORD PTR [rbp-4], 0
- jne .L4
- mov DWORD PTR [rbp-8], 0
- mov QWORD PTR [rbp-1088], OFFSET FLAT:.LC0
- mov DWORD PTR [rbp-1080], 11
- mov DWORD PTR [rbp-1076], 0
- mov QWORD PTR [rbp-1072], OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]
- mov DWORD PTR [rbp-1064], 10
- mov DWORD PTR [rbp-1060], 0
- mov QWORD PTR [rbp-1056], OFFSET FLAT:.LC2 [base object constructor] [base object constructor]
- mov DWORD PTR [rbp-1048], 10
- mov DWORD PTR [rbp-1044], 0
- mov QWORD PTR [rbp-1040], OFFSET FLAT:.LC3 [complete object allocating constructor] [complete object allocating constructor]
- mov DWORD PTR [rbp-1032], 10
- mov DWORD PTR [rbp-1028], 0
- mov QWORD PTR [rbp-1024], OFFSET FLAT:.LC4
- mov DWORD PTR [rbp-1016], 10
- mov DWORD PTR [rbp-1012], 0
- mov QWORD PTR [rbp-1008], OFFSET FLAT:.LC5
- mov DWORD PTR [rbp-1000], 9
- mov DWORD PTR [rbp-996], 0
- mov QWORD PTR [rbp-992], OFFSET FLAT:.LC6
- mov DWORD PTR [rbp-984], 8
- mov DWORD PTR [rbp-980], 0
- mov QWORD PTR [rbp-976], OFFSET FLAT:.LC7
- mov DWORD PTR [rbp-968], 7
- mov DWORD PTR [rbp-964], 0
- mov QWORD PTR [rbp-960], OFFSET FLAT:.LC8
- mov DWORD PTR [rbp-952], 6
- mov DWORD PTR [rbp-948], 0
- mov QWORD PTR [rbp-944], OFFSET FLAT:.LC9
- mov DWORD PTR [rbp-936], 5
- mov DWORD PTR [rbp-932], 0
- mov QWORD PTR [rbp-928], OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]0 [complete object constructor] [complete object constructor]
- mov DWORD PTR [rbp-920], 4
- mov DWORD PTR [rbp-916], 0
- mov QWORD PTR [rbp-912], OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]1 [complete object constructor] [complete object constructor]
- mov DWORD PTR [rbp-904], 3
- mov DWORD PTR [rbp-900], 0
- mov QWORD PTR [rbp-896], OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]2 [complete object constructor] [complete object constructor]
- mov DWORD PTR [rbp-888], 2
- mov DWORD PTR [rbp-884], 0
- mov DWORD PTR [rbp-12], 0
- mov DWORD PTR [rbp-16], 0
- .L8:
- cmp DWORD PTR [rbp-16], 12
- jg .L5
- mov DWORD PTR [rbp-20], 0
- .L7:
- cmp DWORD PTR [rbp-20], 3
- jg .L6
- mov eax, DWORD PTR [rbp-12]
- lea edx, [rax+1]
- mov DWORD PTR [rbp-12], edx
- cdqe
- sal rax, 4
- add rax, rbp
- lea rcx, [rax-880]
- mov eax, DWORD PTR [rbp-16]
- cdqe
- sal rax, 4
- add rax, rbp
- sub rax, 1088
- mov rdx, QWORD PTR [rax+8]
- mov rax, QWORD PTR [rax]
- mov QWORD PTR [rcx], rax
- mov QWORD PTR [rcx+8], rdx
- add DWORD PTR [rbp-20], 1
- jmp .L7
- .L6:
- add DWORD PTR [rbp-16], 1
- jmp .L8
- .L5:
- mov DWORD PTR [rbp-24], 0
- mov DWORD PTR [rbp-28], 0
- .L23:
- cmp DWORD PTR [rbp-8], 0
- jne .L9
- mov DWORD PTR [rbp-32], 0
- call rand
- mov ecx, eax
- mov edx, 1321528399
- mov eax, ecx
- imul edx
- sar edx, 4
- mov eax, ecx
- sar eax, 31
- sub edx, eax
- mov eax, edx
- imul eax, eax, 52
- sub ecx, eax
- mov eax, ecx
- lea rdx, [rbp-880]
- cdqe
- sal rax, 4
- add rax, rdx
- mov QWORD PTR [rbp-48], rax
- mov rax, QWORD PTR [rbp-48]
- mov eax, DWORD PTR [rax+12]
- test eax, eax
- jne .L27
- mov rax, QWORD PTR [rbp-48]
- mov rax, QWORD PTR [rax]
- mov rsi, rax
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]3 [complete object constructor] [complete object constructor]
- mov eax, 0
- call printf
- mov rax, QWORD PTR [rbp-48]
- mov DWORD PTR [rax+12], 1
- mov rax, QWORD PTR [rbp-48]
- mov rax, QWORD PTR [rax]
- mov esi, OFFSET FLAT:.LC0
- mov rdi, rax
- call strcmp
- test eax, eax
- jne .L12
- add DWORD PTR [rbp-24], 1
- .L12:
- mov eax, DWORD PTR [rbp-28]
- cdqe
- sal rax, 4
- add rax, rbp
- lea rcx, [rax-1200]
- mov rax, QWORD PTR [rbp-48]
- mov rdx, QWORD PTR [rax+8]
- mov rax, QWORD PTR [rax]
- mov QWORD PTR [rcx], rax
- mov QWORD PTR [rcx+8], rdx
- mov DWORD PTR [rbp-36], 0
- .L15:
- mov eax, DWORD PTR [rbp-36]
- cmp eax, DWORD PTR [rbp-28]
- jg .L13
- mov eax, DWORD PTR [rbp-36]
- cdqe
- sal rax, 4
- add rax, rbp
- sub rax, 1200
- mov rax, QWORD PTR [rax]
- mov esi, OFFSET FLAT:.LC0
- mov rdi, rax
- call strcmp
- test eax, eax
- je .L14
- mov eax, DWORD PTR [rbp-36]
- cdqe
- sal rax, 4
- add rax, rbp
- sub rax, 1192
- mov eax, DWORD PTR [rax]
- add DWORD PTR [rbp-32], eax
- .L14:
- add DWORD PTR [rbp-36], 1
- jmp .L15
- .L13:
- mov DWORD PTR [rbp-40], 0
- .L19:
- mov eax, DWORD PTR [rbp-40]
- cmp eax, DWORD PTR [rbp-24]
- jge .L16
- cmp DWORD PTR [rbp-32], 10
- jle .L17
- add DWORD PTR [rbp-32], 1
- jmp .L18
- .L17:
- add DWORD PTR [rbp-32], 11
- .L18:
- add DWORD PTR [rbp-40], 1
- jmp .L19
- .L16:
- cmp DWORD PTR [rbp-32], 20
- jg .L20
- cmp DWORD PTR [rbp-28], 0
- je .L20
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]4 [complete object constructor] [complete object constructor]
- call ask(char*)
- test eax, eax
- sete al
- test al, al
- je .L22
- mov eax, DWORD PTR [rbp-32]
- mov esi, eax
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]5 [complete object constructor] [complete object constructor]
- mov eax, 0
- call printf
- mov DWORD PTR [rbp-8], 1
- jmp .L22
- .L20:
- cmp DWORD PTR [rbp-32], 20
- jle .L22
- mov eax, DWORD PTR [rbp-32]
- mov esi, eax
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]5 [complete object constructor] [complete object constructor]
- mov eax, 0
- call printf
- mov DWORD PTR [rbp-8], 1
- .L22:
- add DWORD PTR [rbp-28], 1
- jmp .L23
- .L27:
- nop
- jmp .L23
- .L9:
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]6 [complete object constructor] [complete object constructor]
- call ask(char*)
- test eax, eax
- sete al
- test al, al
- je .L25
- mov DWORD PTR [rbp-4], 1
- jmp .L25
- .L4:
- mov eax, 0
- leave
- ret
- .LC1 [complete object constructor] [complete object constructor]7 [complete object constructor] [complete object constructor]:
- .string "%s"
- ask(char*):
- push rbp
- mov rbp, rsp
- sub rsp, 32
- mov QWORD PTR [rbp-24], rdi
- mov rax, QWORD PTR [rbp-24]
- mov rsi, rax
- mov edi, OFFSET FLAT:.LC1 [complete object constructor] [complete object constructor]7 [complete object constructor] [complete object constructor]
- mov eax, 0
- call printf
- mov rdx, QWORD PTR stdin[rip]
- lea rax, [rbp-5]
- mov esi, 5
- mov rdi, rax
- call fgets
- movzx eax, BYTE PTR [rbp-5]
- cmp al, 110
- je .L29
- movzx eax, BYTE PTR [rbp-5]
- cmp al, 78
- jne .L30
- .L29:
- mov eax, 0
- jmp .L32
- .L30:
- mov eax, 1
- .L32:
- leave
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement