Function at 0x1800ec1d0
Capabilities:
Authenticate hmac
Encrypt data using aes mixcolumns step
Parse credit card information

Disassembly:
push rsi
push rdi
sub rsp, 0xa68
mov eax, dword [0x180147404]
mov byte [rsp + 0x154], al
movzx eax, byte [0x180147428]
mov byte [rsp + 0x40], al
mov eax, 0xd2
mov word [rsp + 0x50], ax
mov eax, 0x9b42
mov word [rsp + 0x54], ax
mov rax, qword [0x180147430]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], 0x4501fe94
movzx eax, word [0x180147454]
mov qword [rsp + 0x78], rax
mov rax, qword [0x180147430]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], 0xc683b9d
mov eax, 0xffff83d8
mov word [rsp + 0x48], ax
mov dword [rsp + 0x64], 0xbd35
movzx eax, byte [0x18014733f]
movsx rax, al
mov qword [rsp + 0xa0], rax
mov rax, qword [0x180147410]
mov qword [rsp + 0x98], rax
movzx eax, byte [0x18014737f]
mov byte [rsp + 0x41], al
movzx eax, byte [0x18014733f]
mov byte [rsp + 0x45], al
movzx eax, byte [0x1801472e6]
mov byte [rsp + 0x44], al
movsx rax, word [0x180147438]
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x42], 0xcc
mov qword [rsp + 0x88], 0xaf
movzx eax, byte [0x18014737f]
mov byte [rsp + 0x43], al
mov dword [rsp + 0x5c], 0x3d85
movsx ax, byte [0x18014733e]
mov word [rsp + 0x4c], ax
mov dword [rsp + 0x60], 0x743190fd
mov rax, qword [0x1801473f0]
mov word [rsp + 0x50c], ax
movzx eax, word [0x180147458]
mov word [rsp + 0x510], ax
movzx eax, byte [0x18014737f]
mov dword [rsp + 0x690], eax
movzx eax, byte [0x180147428]
mov byte [rsp + 0xd4], al
movzx eax, word [0x180147468]
mov word [rsp + 0x4d4], ax
movzx eax, byte [0x18014733f]
movsx rax, al
mov qword [rsp + 0x750], rax
mov eax, dword [0x180147424]
mov qword [rsp + 0x758], rax
mov eax, 0x9c
mov word [rsp + 0x4d8], ax
mov byte [rsp + 0xd5], 1
mov rax, qword [0x1801473f0]
mov word [rsp + 0x4e4], ax
mov eax, 0x48
mov word [rsp + 0x4e0], ax
movzx eax, word [0x18014737c]
mov word [rsp + 0x4dc], ax
mov eax, dword [0x1801473ec]
mov eax, eax
mov qword [rsp + 0x760], rax
mov dword [rsp + 0x694], 0xe784234f
mov byte [rsp + 0xd6], 0xd0
mov byte [rsp + 0xd7], 0x79
movzx eax, byte [rsp + 0x43]
movzx ecx, word [0x180147454]
xor eax, ecx
movzx ecx, byte [rsp + 0x43]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x43], al
movzx eax, word [rsp + 0x54]
movzx eax, ax
sar eax, 1
mov word [rsp + 0x48], ax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xd8], eax
movzx eax, word [0x180147464]
cwde
cmp eax, dword [0x180147458]
jbe 0x1800ec404
mov dword [rsp + 0x410], 1
jmp 0x1800ec40f
mov dword [rsp + 0x410], 0
movzx eax, word [0x180147464]
cwde
cmp eax, 0x2b
jle 0x1800ec429
mov dword [rsp + 0x40c], 1
jmp 0x1800ec434
mov dword [rsp + 0x40c], 0
mov eax, dword [rsp + 0x40c]
cmp dword [rsp + 0x410], eax
jne 0x1800ec4c2
movsx rax, byte [0x18014733e]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
mov r9d, 0xf
xor r8d, r8d
mov edx, 0xb1
xor ecx, ecx
call fcn.1800d7ef0
mov qword [rsp + 0x70], rax
movzx eax, word [0x180147454]
test eax, eax
jne 0x1800ec495
mov dword [rsp + 0x160], 1
jmp 0x1800ec4a0
mov dword [rsp + 0x160], 0
mov eax, dword [0x180147400]
imul eax, dword [rsp + 0x160]
test eax, eax
je 0x1800ec4c0
mov eax, dword [0x180147404]
dec eax
mov dword [0x180147404], eax
jmp 0x1800ec505
cmp qword [rsp + 0x70], 0xffffffffffff002f
ja 0x1800ec4db
mov qword [rsp + 0x5b8], 1
jmp 0x1800ec4e7
mov qword [rsp + 0x5b8], 0
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x5b8], rax
je 0x1800ec505
mov rax, qword [0x1801473f0]
shr rax, 8
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x3cd
mov dword [rsp + 0x4ac], eax
movzx eax, word [0x1801473d4]
movsx rax, ax
mov rcx, qword [rsp + 0xa0]
cmp rax, rcx
ja 0x1800ec54b
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x64], eax
movsx eax, byte [rsp + 0x41]
sub eax, 0xb947c731
mov word [0x180147314], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x2a7
mov dword [rsp + 0x4b0], eax
mov dx, 0xc4
xor ecx, ecx
call fcn.1800d8140
mov byte [0x1801472e7], al
cmp qword [0x180147428], 0
jne 0x1800ec586
mov dword [rsp + 0x164], 1
jmp 0x1800ec591
mov dword [rsp + 0x164], 0
mov eax, dword [0x180147460]
imul eax, dword [rsp + 0x164]
test eax, eax
je 0x1800ec620
movsx rax, word [0x18014737c]
mov rcx, qword [0x180147468]
imul rcx, rax
mov rax, rcx
mov qword [0x180147468], rax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
jne 0x1800ec5d7
mov dword [rsp + 0x168], 1
jmp 0x1800ec5e2
mov dword [rsp + 0x168], 0
movzx eax, byte [rsp + 0x43]
mov rcx, qword [0x1801473f8]
imul rax, rcx
mov ecx, 0xbec18797
sub rcx, rax
mov rax, rcx
movsx ecx, byte [0x18014733e]
mov edx, dword [rsp + 0x64]
add edx, ecx
mov ecx, edx
add ecx, dword [rsp + 0x168]
movsxd rcx, ecx
sub rax, rcx
mov word [0x180147464], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x226
mov dword [rsp + 0x134], eax
movzx eax, word [0x180147314]
movzx ecx, byte [0x1801472fb]
movsx ecx, cl
mov dword [rsp + 0x20], eax
mov r9d, 0xb8
mov r8d, ecx
xor edx, edx
xor ecx, ecx
call fcn.1800d7c60
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
jne 0x1800ec67d
cmp dword [0x180147460], 0
je 0x1800ec67b
mov eax, dword [rsp + 0x68]
add eax, 0x1366
mov byte [rsp + 0x44], al
jmp 0x1800ec6f3
cmp dword [rsp + 0x68], 0
jne 0x1800ec691
mov dword [rsp + 0x16c], 1
jmp 0x1800ec69c
mov dword [rsp + 0x16c], 0
movzx eax, word [rsp + 0x4c]
cwde
mov ecx, dword [rsp + 0x16c]
and ecx, eax
mov eax, ecx
and eax, 0xc700
not eax
cdqe
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [0x180147430]
imul rcx, rdx
movsx edx, byte [rsp + 0x41]
movzx r8d, byte [0x180147366]
movsx r8d, r8b
imul edx, r8d
not edx
movsxd rdx, edx
sub rcx, rdx
add rax, rcx
mov word [rsp + 0x50], ax
mov dword [rsp + 0x5c], 0xbcb66ae7
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xdc], eax
movzx eax, word [0x180147450]
movzx eax, ax
cmp qword [rsp + 0x70], rax
je 0x1800ec7da
movzx eax, byte [0x1801472e6]
movsx eax, al
test eax, eax
je 0x1800ec73d
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
je 0x1800ec73d
mov qword [rsp + 0x5c0], 0
jmp 0x1800ec749
mov qword [rsp + 0x5c0], 1
mov rax, qword [0x180147478]
cmp qword [rsp + 0x5c0], rax
jbe 0x1800ec77d
movzx eax, byte [rsp + 0x40]
movzx eax, al
movzx ecx, word [0x180147464]
movsx ecx, cx
sub eax, ecx
mov ecx, dword [rsp + 0x68]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
jmp 0x1800ec7da
movzx eax, byte [0x180147366]
movsx rax, al
movabs rcx, 0x89192813a2db8
sub rax, rcx
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
jne 0x1800ec7b3
mov qword [rsp + 0x5c8], 1
jmp 0x1800ec7bf
mov qword [rsp + 0x5c8], 0
mov rax, qword [rsp + 0x5c8]
mov rcx, qword [rsp + 0x88]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x508e
mov dword [rsp + 0x698], eax
xor r8d, r8d
mov edx, dword [rsp + 0x98]
xor ecx, ecx
call fcn.1800d83f0
mov byte [0x18014737e], al
movzx eax, byte [0x18014737e]
movsx eax, al
test eax, eax
jge 0x1800ec81f
mov dword [rsp + 0x174], 1
jmp 0x1800ec82a
mov dword [rsp + 0x174], 0
movzx eax, byte [0x18014737e]
movsx eax, al
cmp eax, 1
jge 0x1800ec846
mov dword [rsp + 0x170], 1
jmp 0x1800ec851
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x170]
cmp dword [rsp + 0x174], eax
jle 0x1800ec879
movzx eax, byte [0x180147317]
sub eax, 0x27a8
cdqe
mov qword [rsp + 0x90], rax
jmp 0x1800ec89d
mov rax, qword [0x180147430]
add rax, 0xd926
mov word [rsp + 0x50], ax
mov eax, dword [0x180147400]
mov ecx, dword [rsp + 0x5c]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x1f25
mov dword [rsp + 0x508], eax
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800ec92a
cmp dword [0x180147420], 0
jne 0x1800ec8cf
mov dword [rsp + 0x178], 1
jmp 0x1800ec8da
mov dword [rsp + 0x178], 0
movzx eax, byte [0x18014737e]
movsx eax, al
not eax
cmp dword [rsp + 0x178], eax
je 0x1800ec8fc
mov dword [rsp + 0x17c], 1
jmp 0x1800ec907
mov dword [rsp + 0x17c], 0
movsx eax, word [rsp + 0x48]
add eax, dword [rsp + 0x17c]
not eax
test eax, eax
je 0x1800ec928
mov rax, qword [0x180147470]
sub rax, 0xb
mov dword [rsp + 0x64], eax
jmp 0x1800ec9a6
movsx eax, byte [rsp + 0x41]
test eax, eax
je 0x1800ec9a6
cmp qword [0x180147478], 0
jne 0x1800ec94a
mov dword [rsp + 0x180], 1
jmp 0x1800ec955
mov dword [rsp + 0x180], 0
movzx eax, word [rsp + 0x50]
cwde
mov ecx, dword [rsp + 0x180]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800ec979
mov qword [rsp + 0x5d0], 1
jmp 0x1800ec985
mov qword [rsp + 0x5d0], 0
mov rax, qword [rsp + 0x5d0]
mov qword [0x180147478], rax
movzx eax, byte [rsp + 0x45]
movsx eax, al
imul eax, eax, 0x601e
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0xdc]
add eax, 0xc4
mov dword [rsp + 0x69c], eax
movsx rax, word [rsp + 0x48]
cmp rax, qword [rsp + 0x88]
jb 0x1800ec9ce
jmp 0x1800ecab4
movsx eax, byte [0x18014733e]
test eax, eax
je 0x1800eca04
mov eax, dword [0x180147400]
mov eax, eax
movzx ecx, byte [0x1801472e6]
movsx rcx, cl
sub rcx, qword [rsp + 0x78]
sub rax, rcx
not rax
mov qword [rsp + 0xa0], rax
jmp 0x1800ecab4
mov rax, qword [0x180147440]
test rax, rax
je 0x1800eca75
cmp dword [rsp + 0x68], 0
jne 0x1800eca24
mov dword [rsp + 0x184], 1
jmp 0x1800eca2f
mov dword [rsp + 0x184], 0
movzx eax, byte [0x1801472e6]
movsx eax, al
test eax, eax
jne 0x1800eca4a
mov dword [rsp + 0x188], 1
jmp 0x1800eca55
mov dword [rsp + 0x188], 0
movzx eax, byte [0x1801472e6]
movsx eax, al
add eax, dword [rsp + 0x184]
sub eax, dword [rsp + 0x188]
mov byte [0x1801472fb], al
jmp 0x1800ecab4
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800ecab4
movzx eax, word [0x180147464]
cwde
test eax, eax
je 0x1800eca99
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x5d8], rax
jmp 0x1800ecaa9
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov qword [rsp + 0x5d8], rax
mov eax, dword [rsp + 0x5d8]
mov dword [rsp + 0x58], eax
movsx eax, word [0x180147438]
imul eax, eax, 0x3509ce48
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x508]
xor eax, 0xb8
xor eax, 0x1d2d
mov dword [rsp + 0x444], eax
movsx eax, byte [rsp + 0x41]
test eax, eax
je 0x1800ecaf9
movzx eax, byte [0x1801472fb]
movsx eax, al
mov dword [rsp + 0x18c], eax
jmp 0x1800ecb04
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x18c]
mov dword [0x18014743c], eax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xe0], eax
mov rax, qword [0x1801473f0]
test rax, rax
je 0x1800ecb3d
movzx eax, byte [0x18014737e]
movsx eax, al
mov dword [rsp + 0x190], eax
jmp 0x1800ecb48
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x190], eax
movzx eax, word [rsp + 0x190]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x97
mov dword [rsp + 0x1a4], eax
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800ecd5f
mov qword [rsp + 0x70], 4
cmp qword [0x180147468], 0
jne 0x1800ecb99
mov qword [rsp + 0x5e0], 1
jmp 0x1800ecba5
mov qword [rsp + 0x5e0], 0
mov rax, qword [rsp + 0x5e0]
mov rcx, qword [0x180147468]
sub rcx, rax
mov rax, rcx
mov byte [0x1801472e6], al
movzx eax, word [rsp + 0x4c]
movsx rax, ax
movabs rcx, 0xa082daf9580dc
add rax, rcx
mov byte [0x18014737f], al
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x418], rax
cmp qword [rsp + 0x418], 0
je 0x1800ecc31
cmp qword [rsp + 0x418], 1
je 0x1800ecc52
cmp qword [rsp + 0x418], 2
je 0x1800ecccb
cmp qword [rsp + 0x418], 3
je 0x1800ecd12
cmp qword [rsp + 0x418], 4
je 0x1800ecd4c
jmp 0x1800ecd5d
mov rax, qword [rsp + 0x70]
add rax, 0x7367
mov dword [rsp + 0x60], eax
movzx eax, byte [0x18178e9c8]
mov byte [0x180147313], al
jmp 0x1800ecd5d
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x1800ecc69
mov qword [rsp + 0x5b0], 1
jmp 0x1800ecc75
mov qword [rsp + 0x5b0], 0
mov rax, qword [rsp + 0x5b0]
imul rax, qword [0x180147448]
movzx ecx, byte [0x18014737b]
add rax, rcx
test rax, rax
jne 0x1800ecca1
mov dword [rsp + 0x194], 1
jmp 0x1800eccac
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
mov dword [0x180147424], eax
movzx eax, byte [0x18178e9c8]
mov byte [0x18014737e], al
jmp 0x1800ecd5d
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
not rcx
add rax, rcx
test rax, rax
jne 0x1800ecce9
mov byte [rsp + 0xa8], 1
jmp 0x1800eccf1
mov byte [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [0x18014737f], al
movsx eax, byte [0x180147316]
xor eax, dword [rsp + 0x68]
mov byte [0x180147316], al
jmp 0x1800ecd5d
movsx eax, byte [0x18014733e]
xor eax, 0xc855dd30
movzx ecx, byte [0x180147317]
add ecx, eax
mov eax, ecx
mov byte [0x180147317], al
movabs rax, 0x347210c7a2bbf
mov rcx, qword [0x180147478]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x64], eax
jmp 0x1800ecd5d
movzx eax, byte [0x180147311]
movzx eax, al
add eax, 0x49
mov dword [rsp + 0x64], eax
jmp 0x1800ecd82
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800ecd82
mov eax, dword [0x180147458]
movabs rcx, 0x6a0bffe2bafac
sub rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0xe0]
add eax, 0x105
mov dword [rsp + 0x1a8], eax
movsx eax, word [0x180147438]
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
add eax, ecx
movsx ecx, word [0x180147438]
sub ecx, eax
mov eax, ecx
mov word [0x180147438], ax
movzx eax, byte [0x180147460]
mov byte [0x1801472e7], al
mov eax, dword [rsp + 0xe0]
add eax, 0xc5d4
mov dword [rsp + 0x6a0], eax
movsxd rax, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0xa0]
cmp rax, rcx
je 0x1800ecdec
jmp 0x1800ece22
movzx eax, byte [0x180147313]
movzx eax, al
movzx ecx, byte [0x18014737b]
cmp eax, ecx
jle 0x1800ece22
movsx eax, byte [0x18014733e]
sub eax, dword [rsp + 0x68]
mov byte [0x180147312], al
mov eax, dword [0x180147458]
sub eax, 0x9763e3c0
mov word [rsp + 0x50], ax
movsxd rax, dword [rsp + 0x58]
cmp qword [0x180147448], rax
jl 0x1800ece3d
mov dword [rsp + 0x19c], 1
jmp 0x1800ece48
mov dword [rsp + 0x19c], 0
cmp qword [0x180147448], 0x5c
jl 0x1800ece5f
mov dword [rsp + 0x198], 1
jmp 0x1800ece6a
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
cmp dword [rsp + 0x19c], eax
jge 0x1800eceda
movzx eax, word [0x180147450]
movzx eax, ax
movsx ecx, byte [0x180147312]
sub eax, ecx
movzx ecx, word [0x180147450]
movzx ecx, cx
or ecx, eax
mov eax, ecx
mov word [0x180147450], ax
movzx eax, byte [0x18014737e]
movsx eax, al
test eax, eax
je 0x1800ecebf
movzx eax, word [rsp + 0x50]
cwde
mov dword [rsp + 0x1a0], eax
jmp 0x1800ececc
mov eax, dword [0x180147400]
mov dword [rsp + 0x1a0], eax
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0x44], al
jmp 0x1800ecef2
movzx eax, byte [0x180147367]
movzx eax, al
movsx ecx, byte [rsp + 0x44]
imul eax, ecx
mov byte [0x180147367], al
mov eax, dword [rsp + 0x1a4]
mov ecx, dword [rsp + 0x1a4]
sub eax, ecx
mov ecx, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1a8]
xor ecx, edx
xor eax, ecx
xor eax, 0x328
mov dword [rsp + 0x448], eax
movsx rax, word [rsp + 0x48]
mov qword [rsp + 0x70], rax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xe4], eax
cmp qword [rsp + 0x70], 0
je 0x1800ecf55
mov rax, qword [0x1801473f0]
shr rax, 2
mov qword [rsp + 0x78], rax
jmp 0x1800ed038
cmp qword [rsp + 0x78], 0xffffffffcced3f1e
je 0x1800ecf6d
mov dword [rsp + 0x1ac], 1
jmp 0x1800ecf78
mov dword [rsp + 0x1ac], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
cmp dword [rsp + 0x1ac], eax
je 0x1800ecfe9
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x1800ecf9f
mov dword [rsp + 0x1b0], 1
jmp 0x1800ecfaa
mov dword [rsp + 0x1b0], 0
movsx eax, word [0x18014737c]
mov ecx, dword [0x180147420]
add ecx, eax
mov eax, ecx
movzx ecx, word [0x180147454]
add ecx, dword [rsp + 0x1b0]
sub eax, ecx
cdqe
mov qword [0x180147428], rax
movzx eax, byte [rsp + 0x40]
movzx eax, al
sub rax, qword [0x180147428]
mov byte [rsp + 0x40], al
jmp 0x1800ed038
mov rax, qword [0x180147408]
test rax, rax
je 0x1800ed011
mov dword [0x180147400], 0xff076d8c
mov eax, dword [rsp + 0x64]
add eax, 0xb3e30f15
mov word [0x180147454], ax
jmp 0x1800ed038
movzx eax, byte [0x180147366]
movsx eax, al
test eax, eax
jne 0x1800ed02e
mov rax, qword [0x180147418]
not rax
test rax, rax
je 0x1800ed038
mov dword [0x18014743c], 1
mov eax, dword [rsp + 0xe4]
add eax, 0xf4
mov dword [rsp + 0x6a4], eax
movsx eax, word [0x18014737c]
sub eax, 0x3d157b80
mov byte [0x18014733e], al
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0xe4]
add eax, 0xd4
mov dword [rsp + 0x504], eax
movzx eax, byte [0x180147367]
movzx eax, al
xor eax, dword [0x180147458]
mov byte [0x180147367], al
cmp qword [rsp + 0x90], 0
je 0x1800ed0ce
movzx eax, word [0x1801473d4]
mov word [rsp + 0xc8], ax
jmp 0x1800ed0dd
movzx eax, word [0x1801473d4]
mov word [rsp + 0xc8], ax
movsx rax, word [rsp + 0xc8]
mov qword [0x180147410], rax
mov eax, dword [rsp + 0xe4]
add eax, 0xd3d4
mov dword [rsp + 0x500], eax
mov dword [rsp + 0x20], 0x74
mov r9d, 0x51
xor r8d, r8d
mov edx, dword [rsp + 0x88]
xor ecx, ecx
call fcn.1800d7c60
mov word [rsp + 0x48], ax
movsx eax, word [0x18014745c]
test eax, eax
jne 0x1800ed14a
movzx eax, word [0x180147450]
movzx eax, ax
test eax, eax
jne 0x1800ed14a
mov dword [rsp + 0x1b4], 0
jmp 0x1800ed155
mov dword [rsp + 0x1b4], 1
mov eax, dword [rsp + 0x1b4]
not eax
test eax, eax
je 0x1800ed170
mov qword [rsp + 0x5e8], 1
jmp 0x1800ed17c
mov qword [rsp + 0x5e8], 0
mov rax, qword [0x180147430]
cmp rax, qword [rsp + 0x5e8]
jne 0x1800ed1f5
mov rax, qword [0x180147418]
mov ecx, dword [0x18014743c]
movsxd rcx, ecx
cmp rax, rcx
jbe 0x1800ed1be
mov eax, 4
imul rax, rax, 0x4b28
lea rcx, [0x1818b2390]
mov edx, dword [rsp + 0x78]
mov dword [rcx + rax], edx
jmp 0x1800ed1f3
movzx eax, byte [rsp + 0x45]
movsx rax, al
mov rcx, qword [rsp + 0xa0]
sub rax, rcx
mov byte [0x18014737b], al
movsx rax, word [0x18014737c]
movabs rcx, 0x6b64d49b67568
add rax, rcx
mov dword [0x180147404], eax
jmp 0x1800ed232
movzx eax, byte [0x1801472e6]
movsx eax, al
test eax, eax
je 0x1800ed217
movzx eax, byte [0x180147313]
movzx eax, al
mov qword [rsp + 0x5f0], rax
jmp 0x1800ed226
mov rax, qword [0x180147440]
mov qword [rsp + 0x5f0], rax
movzx eax, byte [rsp + 0x5f0]
mov byte [rsp + 0x40], al
movzx eax, byte [0x180147367]
movzx eax, al
mov dx, 0x9b
movzx ecx, ax
call fcn.1800d8140
mov word [rsp + 0x4c], ax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
je 0x1800ed2bc
movsx rax, byte [rsp + 0x41]
sub rax, qword [rsp + 0x80]
movzx ecx, byte [0x180147317]
mov edx, 0xffff1877
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
test rax, rax
jne 0x1800ed28d
mov dword [rsp + 0x1b8], 1
jmp 0x1800ed298
mov dword [rsp + 0x1b8], 0
movzx eax, byte [0x18014737e]
movsx eax, al
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
add eax, ecx
xor eax, dword [rsp + 0x1b8]
cdqe
mov qword [rsp + 0x70], rax
jmp 0x1800ed2c6
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x504]
mov ecx, dword [rsp + 0x500]
add eax, ecx
mov ecx, 0xd528
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44c], eax
movzx eax, byte [rsp + 0x42]
movzx eax, al
xor rax, qword [rsp + 0x88]
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xe8]
add eax, 0xb4
mov dword [rsp + 0xec], eax
mov qword [rsp + 0x88], 0x71c4c762
mov eax, dword [rsp + 0xe8]
add eax, 0x2195
mov dword [rsp + 0x6a8], eax
mov eax, 4
imul rax, rax, 0xbb
lea rcx, [0x18181f500]
mov eax, dword [rcx + rax]
mov dword [0x180147404], eax
movzx eax, byte [rsp + 0x42]
movzx eax, al
movsx ecx, byte [0x180147316]
and eax, ecx
cdqe
mov rcx, qword [rsp + 0xa0]
add rcx, 0xba
not rcx
add rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0xe8]
add eax, 0xc9
mov dword [rsp + 0x4fc], eax
movzx eax, word [0x180147450]
movzx eax, ax
mov ecx, dword [0x180147400]
sub ecx, eax
mov eax, ecx
mov dword [0x180147400], eax
mov eax, dword [0x1801473ec]
sub eax, 0xb340a007
mov word [0x18014737c], ax
mov eax, dword [rsp + 0xec]
mov ecx, dword [rsp + 0xec]
xor eax, ecx
mov ecx, dword [rsp + 0x4fc]
mov edx, dword [rsp + 0xec]
imul ecx, edx
add eax, ecx
mov ecx, 0x9015
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x450], eax
lea rax, [rsp + 0x7a0]
lea rcx, str.DoGetKeys
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x180147420], eax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xf0], eax
mov rax, qword [0x1801473f8]
mov word [0x180147464], ax
mov eax, dword [rsp + 0xf0]
add eax, 0xa68d
mov dword [rsp + 0x6ac], eax
mov rax, qword [0x180147470]
not rax
test rax, rax
jne 0x1800ed481
mov rax, qword [0x1801473f8]
not rax
test rax, rax
je 0x1800ed4ba
mov rax, qword [0x180147470]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x18178e9c8]
mov dword [0x180147424], eax
jmp 0x1800ed4cb
imul eax, dword [rsp + 0x64], 0x6524ecfa
cdqe
mov qword [0x180147410], rax
mov eax, dword [rsp + 0xf0]
add eax, 0x103
mov dword [rsp + 0x1d4], eax
mov rax, qword [0x1801473f0]
test rax, rax
je 0x1800ed504
movzx eax, byte [0x1801472fb]
movsx eax, al
sub eax, 0x8a313fa8
mov eax, eax
mov qword [0x180147418], rax
jmp 0x1800ed54f
movsx eax, byte [rsp + 0x41]
sub eax, 0xf368
cdqe
mov rcx, qword [0x180147448]
add rcx, rax
mov rax, rcx
mov qword [0x180147448], rax
mov eax, dword [0x180147400]
mov eax, eax
movabs rcx, 0x6e0c897e31480
add rax, rcx
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xf0]
add eax, 0x3dcf
mov dword [rsp + 0x6b0], eax
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800ed57a
movsxd rax, dword [rsp + 0x5c]
mov qword [rsp + 0x5f8], rax
jmp 0x1800ed589
mov rax, qword [0x180147440]
mov qword [rsp + 0x5f8], rax
movzx eax, word [rsp + 0x5f8]
mov word [0x180147438], ax
mov eax, dword [0x18014743c]
cdqe
cmp qword [rsp + 0x90], rax
jbe 0x1800ed724
movzx edx, word [0x180147448]
xor ecx, ecx
call fcn.1800d8140
mov word [rsp + 0x4c], ax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
je 0x1800ed5d8
mov dword [rsp + 0x1c0], 1
jmp 0x1800ed5e3
mov dword [rsp + 0x1c0], 0
movzx eax, word [rsp + 0x4c]
cwde
cmp eax, 0x25
je 0x1800ed5fb
mov dword [rsp + 0x1bc], 1
jmp 0x1800ed606
mov dword [rsp + 0x1bc], 0
mov eax, dword [rsp + 0x1bc]
cmp dword [rsp + 0x1c0], eax
jl 0x1800ed629
movzx eax, word [0x18014745c]
mov word [0x1801473d4], ax
jmp 0x1800ed71f
cmp qword [rsp + 0x98], 0
jne 0x1800ed63f
cmp qword [rsp + 0x90], 0
je 0x1800ed697
movzx eax, byte [0x180147367]
movzx eax, al
movsx ecx, byte [rsp + 0x41]
sub eax, ecx
test eax, eax
jne 0x1800ed661
mov dword [rsp + 0x1c4], 1
jmp 0x1800ed66c
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov byte [0x180147367], al
movzx eax, word [0x180147464]
cwde
add eax, 0x42a4
mov dword [rsp + 0x60], eax
jmp 0x1800ed71f
movsx eax, word [rsp + 0x48]
test eax, eax
je 0x1800ed71f
cmp qword [rsp + 0x90], 0
jne 0x1800ed6b8
mov dword [rsp + 0x1c8], 1
jmp 0x1800ed6c3
mov dword [rsp + 0x1c8], 0
movsx eax, word [rsp + 0x48]
add eax, dword [rsp + 0x68]
test eax, eax
jne 0x1800ed6de
mov qword [rsp + 0x600], 1
jmp 0x1800ed6ea
mov qword [rsp + 0x600], 0
mov eax, dword [rsp + 0x5c]
sub eax, 0x10
mov ecx, dword [rsp + 0x1c8]
imul ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0xa0]
imul rcx, qword [rsp + 0x70]
sub rcx, qword [rsp + 0x600]
sub rax, rcx
not rax
mov dword [rsp + 0x60], eax
jmp 0x1800ed809
mov eax, dword [0x180147404]
test eax, eax
jne 0x1800ed73c
mov qword [rsp + 0x608], 1
jmp 0x1800ed748
mov qword [rsp + 0x608], 0
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x608], rax
jae 0x1800ed764
mov dword [rsp + 0x1cc], 1
jmp 0x1800ed76f
mov dword [rsp + 0x1cc], 0
movzx eax, byte [0x180147366]
movsx eax, al
cmp eax, dword [rsp + 0x1cc]
jne 0x1800ed78b
mov byte [0x1801472fb], 0xe3
jmp 0x1800ed809
cmp dword [0x180147460], 0
jne 0x1800ed7b8
mov rax, qword [0x180147440]
movzx ecx, byte [0x1801472fb]
movsx rcx, cl
cmp rax, rcx
jge 0x1800ed7b8
mov dword [rsp + 0x1d0], 0
jmp 0x1800ed7c3
mov dword [rsp + 0x1d0], 1
mov eax, dword [rsp + 0x1d0]
not eax
test eax, eax
je 0x1800ed809
mov byte [0x180147366], 0xa3
movzx eax, byte [0x18014737f]
test eax, eax
jne 0x1800ed7f0
mov qword [rsp + 0x560], 1
jmp 0x1800ed7fc
mov qword [rsp + 0x560], 0
mov rax, qword [rsp + 0x560]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x1d4]
mov ecx, dword [rsp + 0x1d4]
imul eax, ecx
add eax, 0xfffefd6c
mov dword [rsp + 0x454], eax
mov rax, qword [0x180147408]
sub rax, 0x2d
mov byte [rsp + 0x42], al
movsxd rax, dword [rsp + 0x58]
movabs rcx, 0xee69997f568ed
add rax, rcx
mov dword [0x1801473ec], eax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xf4], eax
mov rax, qword [0x180147478]
cmp qword [rsp + 0x70], rax
ja 0x1800ed875
mov dword [rsp + 0x1dc], 1
jmp 0x1800ed880
mov dword [rsp + 0x1dc], 0
cmp qword [rsp + 0x70], 0x45
ja 0x1800ed895
mov dword [rsp + 0x1d8], 1
jmp 0x1800ed8a0
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
je 0x1800ed8e1
movsx eax, byte [0x180147316]
imul eax, dword [rsp + 0x58]
cdqe
mov qword [0x180147448], rax
mov eax, dword [0x180147424]
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
jmp 0x1800ed8fa
movzx eax, byte [0x180147311]
movzx eax, al
sub eax, 0xb940
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0xf4]
add eax, 0x9edf
mov dword [rsp + 0x4f8], eax
movzx r8d, byte [0x180147448]
mov dl, 0x66
xor ecx, ecx
call fcn.1800d8640
mov byte [rsp + 0x42], al
cmp qword [0x180147470], 0
jne 0x1800ed939
mov dword [rsp + 0x1e0], 1
jmp 0x1800ed944
mov dword [rsp + 0x1e0], 0
cmp dword [rsp + 0x1e0], 0x6d17b01a
jg 0x1800ed95e
mov dword [rsp + 0x1f0], 1
jmp 0x1800ed969
mov dword [rsp + 0x1f0], 0
mov rax, qword [rsp + 0x70]
not rax
cmp qword [rsp + 0x90], rax
jbe 0x1800ed988
mov dword [rsp + 0x1e8], 1
jmp 0x1800ed993
mov dword [rsp + 0x1e8], 0
mov rax, qword [0x180147410]
cmp qword [rsp + 0x88], rax
jbe 0x1800ed9b1
mov dword [rsp + 0x1e4], 1
jmp 0x1800ed9bc
mov dword [rsp + 0x1e4], 0
mov eax, dword [rsp + 0x1e4]
cmp dword [rsp + 0x1e8], eax
jne 0x1800ed9d9
mov dword [rsp + 0x1ec], 1
jmp 0x1800ed9e4
mov dword [rsp + 0x1ec], 0
mov eax, dword [rsp + 0x1ec]
cmp dword [rsp + 0x1f0], eax
jl 0x1800eda9f
movzx eax, word [rsp + 0x54]
movzx eax, ax
cmp dword [rsp + 0x60], eax
jb 0x1800eda13
mov dword [rsp + 0x1f8], 1
jmp 0x1800eda1e
mov dword [rsp + 0x1f8], 0
cmp dword [rsp + 0x60], 0x4e
jb 0x1800eda32
mov dword [rsp + 0x1f4], 1
jmp 0x1800eda3d
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x1f4]
cmp dword [rsp + 0x1f8], eax
jne 0x1800eda6f
movzx eax, word [rsp + 0x50]
cwde
add eax, 0x2f2f547f
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x64]
sar eax, 6
cdqe
mov qword [rsp + 0xa0], rax
jmp 0x1800eda9f
movzx eax, byte [rsp + 0x45]
movsx eax, al
movzx ecx, byte [0x18014737b]
imul eax, ecx
cdqe
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
mov rdx, qword [0x180147430]
imul rcx, rdx
sub rax, rcx
mov dword [0x180147424], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x8129
mov dword [rsp + 0x6e8], eax
mov rax, qword [rsp + 0x90]
xor rax, 0x60
mov byte [0x180147367], al
mov eax, dword [0x180147458]
mov rcx, qword [rsp + 0x88]
and rcx, rax
mov rax, rcx
movsx rcx, byte [rsp + 0x41]
imul rax, rcx
test rax, rax
jne 0x1800edaf5
mov qword [rsp + 0x610], 1
jmp 0x1800edb01
mov qword [rsp + 0x610], 0
mov eax, dword [0x180147458]
mov rcx, qword [0x180147440]
sub rcx, rax
mov rax, rcx
add rax, qword [rsp + 0x610]
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0xf4]
add eax, 0x4eae
mov dword [rsp + 0x6b4], eax
mov dx, 0xc3
xor ecx, ecx
call fcn.1800d8140
movzx eax, ax
mov qword [rsp + 0x70], rax
movsxd rax, dword [rsp + 0x5c]
movabs rcx, 0x9f150338dc248
cmp rax, rcx
jne 0x1800edb67
mov dword [rsp + 0x1fc], 1
jmp 0x1800edb72
mov dword [rsp + 0x1fc], 0
cmp dword [rsp + 0x1fc], 0x3e
jg 0x1800edba9
mov eax, dword [0x1801473ec]
sub eax, dword [0x180147460]
mov dword [0x1801473ec], eax
movsxd rax, dword [rsp + 0x58]
add rax, qword [rsp + 0x78]
movsxd rcx, dword [rsp + 0x58]
and rcx, rax
mov rax, rcx
mov dword [rsp + 0x58], eax
jmp 0x1800edbd5
movzx eax, byte [0x1801472e6]
movsx rax, al
mov ecx, 8
imul rcx, rcx, 0x3866
lea rdx, [0x1817e5b60]
mov qword [rdx + rcx], rax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x64], eax
mov rax, qword [0x180147440]
movsx rcx, byte [rsp + 0x44]
cmp rax, rcx
jle 0x1800edbf4
mov dword [rsp + 0x204], 1
jmp 0x1800edbff
mov dword [rsp + 0x204], 0
mov rax, qword [0x180147440]
cmp rax, 0x39
jle 0x1800edc19
mov dword [rsp + 0x200], 1
jmp 0x1800edc24
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x204], eax
jge 0x1800edc54
movzx eax, byte [0x1801472e7]
movsx rax, al
movabs rcx, 0x1b31aaacb216b
add rax, rcx
mov byte [0x180147316], al
jmp 0x1800edc81
movzx eax, byte [0x180147317]
xor eax, 0xf0d5
mov byte [rsp + 0x44], al
movzx eax, byte [0x180147311]
movzx eax, al
movabs rcx, 0xceed573b8cda3
add rax, rcx
mov dword [0x180147400], eax
mov eax, dword [rsp + 0x4f8]
add eax, 0x8a
xor eax, 0x9f69
mov dword [rsp + 0x458], eax
movsx eax, word [0x180147438]
movsx ecx, byte [rsp + 0x41]
imul ecx, dword [0x180147458]
xor eax, ecx
mov byte [0x18014737f], al
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xf8], eax
movzx eax, word [rsp + 0x50]
mov ecx, 1
imul rcx, rcx, 0xd05
lea rdx, [0x18181f8f0]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0xf8]
add eax, 0xdd
mov dword [rsp + 0x6b8], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x2d00
mov dword [rsp + 0x4f0], eax
movsx eax, byte [0x180147316]
and eax, 0x89ca
cdqe
mov qword [0x180147478], rax
mov eax, dword [rsp + 0xf8]
add eax, 0x10e
mov dword [rsp + 0x210], eax
mov qword [0x180147470], 0
mov eax, 0x9d
mov word [0x180147450], ax
movzx eax, byte [0x18014737b]
add eax, 0x506
mov byte [0x18014737b], al
mov rax, qword [0x180147470]
mov qword [rsp + 0x710], rax
cmp qword [rsp + 0x710], 0
je 0x1800edd6f
jmp 0x1800eddc8
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x1800edd85
mov dword [rsp + 0x208], 1
jmp 0x1800edd90
mov dword [rsp + 0x208], 0
movzx eax, byte [0x180147367]
movzx eax, al
not eax
add eax, dword [rsp + 0x208]
cdqe
mov qword [0x1801473f8], rax
mov eax, dword [0x18014743c]
cdqe
mov ecx, 8
imul rcx, rcx, 0x29
lea rdx, [0x181821560]
mov qword [rdx + rcx], rax
mov dword [rsp + 0x68], 4
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0
je 0x1800ede1a
cmp dword [rsp + 0xcc], 1
je 0x1800ede45
cmp dword [rsp + 0xcc], 2
je 0x1800ede74
cmp dword [rsp + 0xcc], 3
je 0x1800edea8
cmp dword [rsp + 0xcc], 4
je 0x1800edeba
jmp 0x1800ededa
mov rax, qword [0x180147448]
sub rax, 0x4449dddf
mov byte [0x18014733e], al
mov rax, qword [rsp + 0x90]
add rax, 0x40
mov word [0x180147464], ax
jmp 0x1800ededa
mov rax, qword [rsp + 0xa0]
movabs rcx, 0x58ff29c2b05b1
add rax, rcx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x68]
add eax, 0x3b489072
mov eax, eax
mov qword [rsp + 0x80], rax
jmp 0x1800ededa
cmp dword [rsp + 0x68], 0
je 0x1800ede8c
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov dword [rsp + 0x20c], eax
jmp 0x1800ede9a
movzx eax, word [0x180147314]
mov dword [rsp + 0x20c], eax
movzx eax, byte [rsp + 0x20c]
mov byte [rsp + 0x44], al
jmp 0x1800ededa
mov eax, dword [rsp + 0x5c]
sar eax, 3
cdqe
mov qword [0x1801473f0], rax
jmp 0x1800ededa
movzx eax, byte [0x180147313]
movzx eax, al
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x210]
or eax, 0xf309
mov ecx, dword [rsp + 0x210]
mov edx, dword [rsp + 0x4f0]
add ecx, edx
imul eax, ecx
add eax, 0xd4460490
mov dword [rsp + 0x460], eax
movzx eax, word [rsp + 0x50]
movsx rax, ax
cmp rax, qword [rsp + 0x78]
jne 0x1800ee04d
mov dword [rsp + 0x20], 0x57
mov r9d, dword [0x180147428]
xor r8d, r8d
mov edx, dword [0x180147448]
mov ecx, 0x43
call fcn.1800d7c60
cdqe
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
jne 0x1800edfe7
cmp qword [rsp + 0x78], 0
jne 0x1800edfe7
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800edf86
movzx eax, byte [rsp + 0x43]
and eax, dword [rsp + 0x5c]
mov byte [rsp + 0x43], al
mov dword [0x180147404], 0x1beac4f7
jmp 0x1800edfe5
movzx eax, byte [rsp + 0x42]
movzx eax, al
movzx ecx, byte [0x180147367]
movzx ecx, cl
add eax, ecx
test eax, eax
je 0x1800edfc4
mov rax, qword [0x180147430]
mov ecx, 0xbf96f5e4
imul rax, rcx
mov qword [0x180147468], rax
movzx eax, byte [0x18178e9c8]
mov byte [0x180147316], al
jmp 0x1800edfe5
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800edfe5
movsx eax, word [rsp + 0x48]
mov ecx, dword [0x180147460]
xor ecx, eax
mov eax, ecx
mov dword [0x180147460], eax
jmp 0x1800ee04b
cmp dword [rsp + 0x64], 0x7f
je 0x1800ee04b
movzx eax, byte [0x18014737e]
movsx eax, al
test eax, eax
jne 0x1800ee009
mov dword [rsp + 0x218], 1
jmp 0x1800ee014
mov dword [rsp + 0x218], 0
cmp dword [0x180147458], 0
jne 0x1800ee02a
mov dword [rsp + 0x214], 1
jmp 0x1800ee035
mov dword [rsp + 0x214], 0
mov eax, dword [rsp + 0x214]
mov ecx, dword [rsp + 0x218]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x1800ee0c1
movzx eax, word [0x180147450]
movzx eax, ax
test eax, eax
jne 0x1800ee079
movabs rax, 0xd1aac315b3cf2
xor ecx, ecx
cmp rcx, rax
je 0x1800ee079
mov dword [rsp + 0x21c], 1
jmp 0x1800ee084
mov dword [rsp + 0x21c], 0
movzx eax, byte [rsp + 0x43]
and eax, dword [rsp + 0x21c]
not eax
test eax, eax
je 0x1800ee0c1
mov rax, qword [0x180147478]
sub rax, 0x3e1648b8
mov byte [0x18014737b], al
movzx eax, byte [0x1801472e7]
movsx eax, al
not eax
xor eax, 0x4ac0
mov word [0x18014745c], ax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x1664
mov dword [rsp + 0x6bc], eax
mov byte [0x180147313], 0xc8
mov eax, dword [rsp + 0xfc]
add eax, 0x634a
mov dword [rsp + 0x224], eax
movzx eax, byte [0x180147366]
movsx eax, al
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x8cbe
mov dword [rsp + 0x4f4], eax
movsx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1800ee132
mov dword [rsp + 0x220], 1
jmp 0x1800ee13d
mov dword [rsp + 0x220], 0
movzx eax, byte [0x180147366]
movsx eax, al
not eax
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
imul eax, ecx
test eax, eax
jne 0x1800ee166
mov qword [rsp + 0x618], 1
jmp 0x1800ee172
mov qword [rsp + 0x618], 0
movsx eax, word [0x180147438]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
imul eax, ecx
mov ecx, dword [rsp + 0x220]
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
mov rdx, qword [0x1801473f8]
add rcx, rdx
mov rdx, qword [rsp + 0x618]
imul rdx, rcx
mov rcx, rdx
imul rax, rcx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x224]
mov ecx, dword [rsp + 0x4f4]
imul eax, ecx
mov ecx, dword [rsp + 0x224]
xor ecx, 0x22
or eax, ecx
mov ecx, 0x36966d09
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x464], eax
mov rax, qword [0x180147440]
test rax, rax
je 0x1800ee2d8
movsx rax, byte [0x180147316]
cmp qword [0x180147448], rax
je 0x1800ee215
mov dword [rsp + 0x22c], 1
jmp 0x1800ee220
mov dword [rsp + 0x22c], 0
cmp qword [0x180147448], 0x60
je 0x1800ee237
mov dword [rsp + 0x228], 1
jmp 0x1800ee242
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x22c], eax
jge 0x1800ee267
mov rax, qword [0x1801473f0]
xor rax, qword [rsp + 0x70]
mov qword [0x1801473f0], rax
jmp 0x1800ee2d6
movzx eax, byte [0x18014737f]
imul eax, eax, 0x8e
cdqe
mov rcx, qword [0x180147440]
sub rcx, rax
mov rax, rcx
mov qword [0x180147440], rax
movzx eax, byte [0x180147311]
movzx eax, al
test eax, eax
jne 0x1800ee2a5
mov dword [rsp + 0x230], 1
jmp 0x1800ee2b0
mov dword [rsp + 0x230], 0
mov eax, dword [0x180147400]
or eax, dword [rsp + 0x58]
not eax
movzx ecx, byte [0x180147313]
movzx ecx, cl
sub ecx, dword [rsp + 0x230]
sub eax, ecx
mov eax, eax
mov qword [rsp + 0x78], rax
jmp 0x1800ee344
cmp qword [0x180147468], 0
je 0x1800ee327
mov eax, dword [0x180147404]
shl eax, 2
mov word [0x180147438], ax
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1800ee309
mov qword [rsp + 0x620], 1
jmp 0x1800ee315
mov qword [rsp + 0x620], 0
mov rax, qword [rsp + 0x620]
mov qword [rsp + 0x80], rax
jmp 0x1800ee344
movsx eax, byte [rsp + 0x44]
movsx ecx, byte [0x180147312]
imul eax, ecx
test eax, eax
jge 0x1800ee344
mov eax, 0xffffacd1
mov word [rsp + 0x50], ax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x100], eax
cmp qword [0x180147468], 0
je 0x1800ee382
movsx rax, byte [rsp + 0x44]
mov rcx, qword [0x180147470]
sub rcx, rax
mov rax, rcx
mov ecx, 0x92ac32ef
sub ecx, dword [rsp + 0x64]
mov ecx, ecx
sub rax, rcx
mov byte [0x180147311], al
mov eax, dword [rsp + 0x100]
add eax, 0x9956
mov dword [rsp + 0x6c0], eax
mov byte [rsp + 0x45], 4
mov byte [0x18014737f], 0xb7
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0xac], al
cmp byte [rsp + 0xac], 0
je 0x1800ee3ec
cmp byte [rsp + 0xac], 1
je 0x1800ee425
cmp byte [rsp + 0xac], 2
je 0x1800ee445
cmp byte [rsp + 0xac], 3
je 0x1800ee476
cmp byte [rsp + 0xac], 4
je 0x1800ee4a6
jmp 0x1800ee4c8
movzx eax, byte [0x180147317]
test eax, eax
jne 0x1800ee405
mov qword [rsp + 0x628], 1
jmp 0x1800ee411
mov qword [rsp + 0x628], 0
mov rax, qword [rsp + 0x628]
mov qword [0x1801473f8], rax
jmp 0x1800ee4c8
mov eax, dword [0x180147404]
sar eax, 3
mov byte [0x18014737f], al
mov qword [rsp + 0x98], 0x27
jmp 0x1800ee4c8
movsx eax, word [0x18014745c]
movzx ecx, byte [0x18014737f]
sub eax, ecx
cdqe
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [0x1801473f0]
imul rcx, rdx
sub rax, rcx
not rax
mov dword [rsp + 0x60], eax
jmp 0x1800ee4c8
mov eax, dword [0x1801473ec]
mov eax, eax
movabs rcx, 0x4c8a8d218ecdb
sub rax, rcx
mov dword [0x18014743c], eax
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
jmp 0x1800ee4c8
movzx eax, byte [rsp + 0x40]
movzx eax, al
sub rax, qword [rsp + 0x98]
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x100]
add eax, 0xc8
mov dword [rsp + 0x440], eax
mov eax, 0xfffffd3e
mov word [rsp + 0x50], ax
movzx eax, word [0x180147464]
cwde
mov ecx, dword [0x180147400]
add eax, ecx
test eax, eax
jne 0x1800ee503
mov byte [rsp + 0xa9], 1
jmp 0x1800ee50b
mov byte [rsp + 0xa9], 0
movzx eax, byte [rsp + 0xa9]
mov byte [0x18014733f], al
mov eax, dword [rsp + 0x100]
add eax, 0xbfca
mov dword [rsp + 0x6c4], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xa211
mov byte [rsp + 0x43], al
movsx rax, byte [0x18014733e]
add rax, qword [rsp + 0x90]
mov word [0x180147438], ax
movzx eax, byte [0x18014737e]
movsx rax, al
mov qword [0x180147430], rax
mov eax, dword [rsp + 0x440]
or eax, 0xd310
add eax, 0xffff2e84
mov dword [rsp + 0x468], eax
movsx eax, byte [0x180147312]
test eax, eax
je 0x1800ee5b2
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, word [0x1801473d4]
movsx ecx, cx
cmp eax, ecx
jge 0x1800ee5b0
movzx eax, byte [0x18014737e]
movsx eax, al
sub eax, 0xf52e
mov byte [0x180147366], al
jmp 0x1800ee5e8
mov eax, 1
imul rax, rax, 4
lea rcx, [0x1818eef40]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x5c], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
sub eax, 0xfbf9
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x104], eax
movsx eax, word [rsp + 0x48]
add eax, 0x1e
cdqe
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x104]
add eax, 0x358
mov dword [rsp + 0x2b0], eax
movzx eax, byte [rsp + 0x40]
movzx eax, al
sar eax, 8
cdqe
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x64], 0x62163aeb
mov eax, dword [rsp + 0x444]
mov ecx, dword [rsp + 0x104]
add eax, ecx
mov dword [rsp + 0x6c8], eax
movzx eax, word [rsp + 0x4c]
cwde
movzx ecx, byte [0x18014733f]
movsx ecx, cl
cmp eax, ecx
je 0x1800ee716
mov eax, 1
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
cdqe
mov ecx, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
sub rdx, rcx
mov rcx, rdx
movsx edx, word [0x18014737c]
not edx
movsxd rdx, edx
sub rdx, qword [rsp + 0x78]
imul rcx, rdx
add rax, rcx
mov byte [rsp + 0x43], al
movsx eax, word [rsp + 0x48]
mov dword [rsp + 0x234], eax
cmp dword [rsp + 0x234], 0
je 0x1800ee6c8
cmp dword [rsp + 0x234], 1
je 0x1800ee6fc
jmp 0x1800ee716
movsx rax, byte [rsp + 0x44]
mov rcx, qword [0x180147470]
add rcx, rax
mov rax, rcx
mov qword [0x180147470], rax
imul rax, qword [rsp + 0x78], 0xf0
movsxd rcx, dword [rsp + 0x58]
or rcx, rax
mov rax, rcx
mov dword [rsp + 0x58], eax
jmp 0x1800ee716
movsx rax, word [rsp + 0x48]
movabs rcx, 0x166981dfc2ddf
add rax, rcx
mov word [0x18014737c], ax
mov eax, dword [rsp + 0x448]
mov ecx, dword [rsp + 0x104]
add eax, ecx
mov dword [rsp + 0x478], eax
xor eax, eax
cmp eax, 0x1503
je 0x1800ee74f
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800ee74f
mov dword [rsp + 0x23c], 0
jmp 0x1800ee75a
mov dword [rsp + 0x23c], 1
cmp dword [rsp + 0x64], 0
je 0x1800ee775
xor eax, eax
cmp eax, 0xffffffb8
je 0x1800ee775
mov dword [rsp + 0x238], 1
jmp 0x1800ee780
mov dword [rsp + 0x238], 0
mov eax, dword [rsp + 0x238]
cmp dword [rsp + 0x23c], eax
je 0x1800ee79d
mov dword [rsp + 0x248], 1
jmp 0x1800ee7a8
mov dword [rsp + 0x248], 0
movzx eax, byte [0x180147367]
movzx eax, al
test eax, eax
je 0x1800ee7cc
movsx eax, byte [rsp + 0x41]
test eax, eax
je 0x1800ee7cc
mov dword [rsp + 0x240], 1
jmp 0x1800ee7d7
mov dword [rsp + 0x240], 0
movsx eax, byte [rsp + 0x41]
cmp dword [rsp + 0x240], eax
jle 0x1800ee7f2
mov dword [rsp + 0x244], 1
jmp 0x1800ee7fd
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
cmp dword [rsp + 0x248], eax
jne 0x1800ee81a
mov dword [rsp + 0x24c], 1
jmp 0x1800ee825
mov dword [rsp + 0x24c], 0
mov eax, dword [rsp + 0x24c]
not eax
test eax, eax
je 0x1800ee876
movzx eax, byte [rsp + 0x42]
movzx eax, al
cmp rax, qword [rsp + 0x88]
jb 0x1800ee86c
movzx eax, byte [0x180147311]
movzx eax, al
mov word [0x180147464], ax
movzx eax, byte [0x180147313]
movzx eax, al
and eax, 0x60634d8c
mov byte [0x180147316], al
jmp 0x1800ee876
mov eax, 0xffffd59d
mov word [rsp + 0x4c], ax
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x108], eax
movzx eax, byte [0x180147311]
movzx eax, al
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
movsx eax, byte [rsp + 0x44]
add eax, 0xb7c8
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x44c]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x2e4], eax
cmp qword [rsp + 0x80], 0
je 0x1800ee911
movzx eax, word [rsp + 0x4c]
mov r8b, 0x41
xor edx, edx
movzx ecx, al
call fcn.1800d8640
mov byte [0x18014737f], al
movzx eax, byte [0x18014737f]
test eax, eax
je 0x1800ee911
mov eax, dword [rsp + 0x58]
shl eax, 3
mov byte [0x18014733f], al
mov eax, dword [rsp + 0x450]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x704], eax
movsx rax, byte [0x18014733e]
mov rcx, qword [0x180147408]
not rcx
cmp rax, rcx
jbe 0x1800ee94c
mov dword [rsp + 0x254], 1
jmp 0x1800ee957
mov dword [rsp + 0x254], 0
mov eax, dword [0x180147420]
cmp dword [rsp + 0x58], eax
jne 0x1800ee970
mov dword [rsp + 0x250], 1
jmp 0x1800ee97b
mov dword [rsp + 0x250], 0
mov eax, dword [rsp + 0x250]
cmp dword [rsp + 0x254], eax
jge 0x1800ee9c1
movzx eax, byte [rsp + 0x40]
movzx eax, al
movsx ecx, byte [rsp + 0x41]
xor eax, ecx
mov byte [rsp + 0x40], al
movabs rax, 0x4834be273ac20
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov dword [0x18014743c], eax
jmp 0x1800eeb16
cmp dword [rsp + 0x64], 0
jne 0x1800ee9d5
mov dword [rsp + 0x258], 1
jmp 0x1800ee9e0
mov dword [rsp + 0x258], 0
mov eax, dword [rsp + 0x258]
cmp dword [rsp + 0x64], eax
jge 0x1800ee9fa
mov dword [rsp + 0x260], 1
jmp 0x1800eea05
mov dword [rsp + 0x260], 0
cmp qword [rsp + 0x88], 0
jne 0x1800eea1e
mov qword [rsp + 0x630], 1
jmp 0x1800eea2a
mov qword [rsp + 0x630], 0
mov rax, qword [0x180147408]
cmp qword [rsp + 0x630], rax
jne 0x1800eea48
mov dword [rsp + 0x25c], 1
jmp 0x1800eea53
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
not eax
cmp dword [rsp + 0x260], eax
jle 0x1800eea88
movzx eax, byte [0x180147366]
movsx eax, al
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
jmp 0x1800eeb16
movsx eax, word [0x18014737c]
test eax, eax
je 0x1800eeaae
movzx eax, byte [0x180147311]
movzx eax, al
test eax, eax
je 0x1800eeaae
mov dword [rsp + 0x264], 1
jmp 0x1800eeab9
mov dword [rsp + 0x264], 0
movsx eax, byte [rsp + 0x41]
not eax
cdqe
movabs rcx, 0x2e32e3eedf3d5
cmp rax, rcx
jne 0x1800eeade
mov dword [rsp + 0x268], 1
jmp 0x1800eeae9
mov dword [rsp + 0x268], 0
mov eax, dword [rsp + 0x264]
not eax
cmp eax, dword [rsp + 0x268]
jg 0x1800eeb16
movsx rax, byte [rsp + 0x44]
movabs rcx, 0xc1e1e82918901
imul rax, rcx
mov word [0x180147438], ax
mov eax, dword [rsp + 0x454]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x4a0], eax
mov eax, dword [0x1801473ec]
mov eax, eax
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x158], 0
movzx eax, word [rsp + 0x4c]
cwde
movsx ecx, word [0x18014737c]
cmp eax, ecx
jle 0x1800eeb7f
movzx eax, byte [0x18014737f]
shl eax, 1
cdqe
mov qword [0x180147418], rax
mov eax, dword [rsp + 0x458]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x50]
cwde
imul eax, eax, 0x5a
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x88]
sub rax, 0x77ae
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x430], 0
movzx eax, byte [0x180147317]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov eax, 1
imul rax, rax, 0x12
lea rcx, [0x1818eef40]
movzx eax, byte [rcx + rax]
mov dword [0x180147404], eax
xor edx, edx
movzx ecx, word [rsp + 0x78]
call fcn.1800d8140
movzx eax, ax
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x78], 1
jne 0x1800eec32
movsx eax, byte [0x180147316]
movzx ecx, word [0x180147450]
movzx ecx, cx
lea eax, [rcx + rax - 0x42e7]
mov word [0x180147450], ax
mov dword [rsp + 0x128], 0
movzx eax, byte [rsp + 0x42]
movzx eax, al
cmp dword [rsp + 0x60], eax
jb 0x1800eec58
mov dword [rsp + 0x270], 1
jmp 0x1800eec63
mov dword [rsp + 0x270], 0
cmp dword [rsp + 0x60], 0x28
jb 0x1800eec77
mov dword [rsp + 0x26c], 1
jmp 0x1800eec82
mov dword [rsp + 0x26c], 0
mov eax, dword [rsp + 0x26c]
cmp dword [rsp + 0x270], eax
jle 0x1800eecc4
movzx eax, byte [rsp + 0x42]
movzx eax, al
mov ecx, 4
imul rcx, rcx, 0xe5
lea rdx, [0x18181f500]
mov dword [rdx + rcx], eax
movzx eax, word [0x180147314]
sub eax, 0x38
mov word [rsp + 0x4c], ax
jmp 0x1800eed4d
movsx eax, byte [0x18014733e]
cmp eax, 0x94
jge 0x1800eecdf
mov dword [rsp + 0x274], 1
jmp 0x1800eecea
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
not eax
test eax, eax
je 0x1800eed4d
movsx eax, word [rsp + 0x48]
mov ecx, dword [0x180147400]
not ecx
add eax, ecx
mov eax, eax
movzx ecx, word [rsp + 0x4c]
movsx rcx, cx
mov rdx, qword [rsp + 0x78]
xor rdx, rcx
mov rcx, rdx
add rax, rcx
test rax, rax
jne 0x1800eed32
mov qword [rsp + 0x638], 1
jmp 0x1800eed3e
mov qword [rsp + 0x638], 0
mov rax, qword [rsp + 0x638]
mov qword [0x180147408], rax
mov qword [rsp + 0x660], 0
mov qword [rsp + 0x570], 0
mov eax, dword [rsp + 0x60]
movabs rcx, 0x84b2a96ec1f70
add rax, rcx
mov byte [0x18014737b], al
mov qword [rsp + 0x4e8], 0
mov eax, 1
mov word [rsp + 0x4c], ax
movsx eax, byte [rsp + 0x44]
mov ecx, dword [0x18014743c]
xor ecx, eax
mov eax, ecx
mov byte [0x1801472e7], al
movzx eax, word [rsp + 0x4c]
cwde
mov dword [rsp + 0x278], eax
cmp dword [rsp + 0x278], 0
je 0x1800eedcd
cmp dword [rsp + 0x278], 1
je 0x1800eee44
jmp 0x1800eee65
movzx eax, byte [rsp + 0x45]
movsx eax, al
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
xor eax, ecx
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x45], al
movsx rax, byte [rsp + 0x44]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
not rax
add rax, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x50]
movsx rcx, cx
mov rdx, qword [0x180147418]
add rdx, rcx
mov rcx, rdx
movzx edx, word [rsp + 0x4c]
movsx edx, dx
sub edx, 0x72d4
movsxd rdx, edx
add rcx, rdx
xor rax, rcx
mov word [0x180147464], ax
jmp 0x1800eee65
mov eax, 0x9d9ea74e
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
movsx rcx, word [rsp + 0x48]
or rcx, rax
mov rax, rcx
mov word [rsp + 0x48], ax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x80], 4
movzx eax, byte [rsp + 0x42]
movzx eax, al
mov rcx, qword [rsp + 0xa0]
sub rax, rcx
mov byte [rsp + 0x42], al
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [0x180147410]
add rcx, rax
mov rax, rcx
mov qword [0x180147410], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x420], rax
cmp qword [rsp + 0x420], 0
je 0x1800eef01
cmp qword [rsp + 0x420], 1
je 0x1800eef36
cmp qword [rsp + 0x420], 2
je 0x1800eef47
cmp qword [rsp + 0x420], 3
je 0x1800eeffb
cmp qword [rsp + 0x420], 4
je 0x1800ef02e
jmp 0x1800ef04f
mov rax, qword [rsp + 0x80]
sub rax, 0xff
mov dword [0x180147400], eax
movsx eax, word [rsp + 0x48]
movzx ecx, word [0x180147454]
add eax, ecx
movsx ecx, word [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
jmp 0x1800ef04f
mov qword [rsp + 0x98], 0x3b
jmp 0x1800ef04f
movsxd rax, dword [rsp + 0x5c]
sub rax, qword [rsp + 0x70]
test rax, rax
jne 0x1800eef63
mov dword [rsp + 0x280], 1
jmp 0x1800eef6e
mov dword [rsp + 0x280], 0
cmp dword [rsp + 0x68], 0
jne 0x1800eef82
mov dword [rsp + 0x27c], 1
jmp 0x1800eef8d
mov dword [rsp + 0x27c], 0
movsx eax, byte [0x180147312]
add eax, dword [rsp + 0x27c]
mov ecx, dword [rsp + 0x280]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x78]
not rcx
movsx rdx, word [0x18014737c]
add rcx, rdx
mov rdx, qword [0x180147428]
add rdx, 0xb4
xor rcx, rdx
xor rax, rcx
test rax, rax
jne 0x1800eefe1
mov dword [rsp + 0x284], 1
jmp 0x1800eefec
mov dword [rsp + 0x284], 0
mov eax, dword [rsp + 0x284]
mov dword [0x180147458], eax
jmp 0x1800ef04f
mov qword [rsp + 0x90], 0xe4
movzx eax, byte [0x180147313]
movzx eax, al
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800ef04f
movzx eax, byte [rsp + 0x40]
movzx eax, al
xor eax, 0x1f
cdqe
mov rcx, qword [0x180147418]
sub rcx, rax
mov rax, rcx
mov qword [0x180147418], rax
mov dword [rsp + 0x3f0], 0
mov rax, qword [0x180147430]
test rax, rax
je 0x1800ef092
movzx eax, byte [0x180147313]
movzx eax, al
movzx ecx, byte [0x1801472fb]
movsx ecx, cl
add eax, ecx
movzx ecx, byte [0x180147313]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180147313], al
jmp 0x1800ef10c
movzx eax, byte [0x180147313]
movzx eax, al
movzx ecx, word [0x180147454]
not ecx
cmp eax, ecx
jl 0x1800ef0bc
mov byte [rsp + 0x42], 0xd8
mov qword [rsp + 0x88], 0x2d
jmp 0x1800ef10c
mov rax, qword [0x180147440]
test rax, rax
je 0x1800ef0f8
movzx eax, byte [0x180147317]
dec al
mov byte [0x180147317], al
movzx eax, byte [rsp + 0x40]
movzx eax, al
sub eax, 0xa3a8e079
mov eax, eax
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800ef10c
xor eax, eax
cmp eax, 0x5e54
je 0x1800ef10c
movzx eax, byte [rsp + 0x70]
mov byte [0x180147367], al
lea rax, [rsp + 0x7b8]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov rax, qword [0x180147418]
test rax, rax
jne 0x1800ef139
mov dword [rsp + 0x288], 1
jmp 0x1800ef144
mov dword [rsp + 0x288], 0
movzx eax, word [0x1801473d4]
cwde
mov ecx, dword [rsp + 0x288]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x180147317]
mov edx, dword [0x1801473ec]
add edx, ecx
mov ecx, edx
sub eax, ecx
test eax, eax
jne 0x1800ef17c
mov qword [rsp + 0x640], 1
jmp 0x1800ef188
mov qword [rsp + 0x640], 0
mov rax, qword [0x180147428]
not rax
movsxd rcx, dword [rsp + 0x5c]
sub rax, rcx
mov ecx, 0xdf310c2
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x640]
imul rcx, rax
mov rax, rcx
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x590], 0
mov eax, 8
imul rax, rax, 0x2c29
lea rcx, [0x18178ea70]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x42], al
mov qword [rsp + 0x598], 0
cmp qword [0x180147468], 0
je 0x1800ef243
mov r8b, 0xa4
mov dl, 5
xor ecx, ecx
call fcn.1800d8640
movzx eax, al
mov word [0x180147450], ax
movzx eax, word [0x180147450]
movzx eax, ax
test eax, eax
jle 0x1800ef241
mov eax, dword [rsp + 0x58]
add eax, 0xd3
mov word [0x1801473d4], ax
mov rax, qword [0x180147418]
mov rcx, qword [0x180147478]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x44], al
jmp 0x1800ef2ad
mov rax, qword [rsp + 0x90]
dec rax
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0x50]
cwde
test eax, eax
jne 0x1800ef26d
mov dword [rsp + 0x28c], 1
jmp 0x1800ef278
mov dword [rsp + 0x28c], 0
mov rax, qword [0x180147440]
movabs rcx, 0x8b9ef71ec5293
imul rax, rcx
not rax
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
mov edx, dword [rsp + 0x28c]
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
add rax, rcx
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x5a8], 0
mov qword [0x1801473f0], 3
movzx eax, byte [0x1801472e7]
movsx eax, al
shl eax, 4
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x50]
cwde
mov dword [rsp + 0x60], eax
mov rax, qword [0x1801473f0]
mov qword [rsp + 0x438], rax
cmp qword [rsp + 0x438], 0
je 0x1800ef31c
cmp qword [rsp + 0x438], 1
je 0x1800ef32d
cmp qword [rsp + 0x438], 2
je 0x1800ef358
cmp qword [rsp + 0x438], 3
je 0x1800ef36e
jmp 0x1800ef38d
mov rax, qword [rsp + 0x70]
shl rax, 8
mov byte [0x180147313], al
jmp 0x1800ef38d
movzx eax, word [rsp + 0x4c]
mov word [0x180147464], ax
mov rax, qword [0x180147418]
mov ecx, 4
imul rcx, rcx, 0xcc
lea rdx, [0x18181f500]
mov dword [rdx + rcx], eax
jmp 0x1800ef38d
movsx eax, byte [rsp + 0x44]
and eax, 0xceb7
cdqe
mov qword [rsp + 0x88], rax
jmp 0x1800ef38d
mov eax, dword [rsp + 0x60]
sub eax, 0x2332
mov byte [0x1801472e7], al
mov rax, qword [rsp + 0x70]
shr rax, 4
mov qword [0x180147440], rax
call fcn.1800e8f30
mov qword [rsp + 0x660], rax
xor edx, edx
lea rcx, [0x1800f7300]
call fcn.180082490
mov r9, rax
mov r8d, 8
mov edx, 2
lea rcx, [0x18002ec70]
call fcn.180082490
mov qword [rsp + 0x430], rax
mov dword [rsp + 0x820], 0x238
lea rdx, [rsp + 0x820]
mov rcx, qword [rsp + 0x430]
call fcn.1800f73f0
mov dword [rsp + 0x128], eax
mov byte [rsp + 0x42], 0x9d
cmp dword [rsp + 0x128], 0
je 0x1800f0485
movzx eax, word [rsp + 0x50]
cwde
test eax, eax
je 0x1800ef436
movzx eax, word [0x1801473d4]
cwde
movsx ecx, byte [0x180147316]
sub eax, ecx
movzx ecx, word [0x1801473d4]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1801473d4], ax
jmp 0x1800ef474
cmp qword [rsp + 0x90], 0
je 0x1800ef474
movzx eax, byte [rsp + 0x45]
movsx rax, al
movabs rcx, 0xfd400fb385382
sub rax, rcx
mov word [0x180147450], ax
movzx eax, byte [0x1801472fb]
movsx eax, al
and eax, 0x4a59984a
cdqe
mov qword [rsp + 0x78], rax
mov rax, qword [0x180147410]
test rax, rax
jne 0x1800ef48d
mov dword [rsp + 0x290], 1
jmp 0x1800ef498
mov dword [rsp + 0x290], 0
movzx eax, byte [0x1801472fb]
movsx eax, al
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
sub eax, ecx
not eax
mov ecx, dword [rsp + 0x290]
lea eax, [rax + rcx + 0x25d36c1c]
cdqe
movsx rcx, byte [rsp + 0x41]
mov edx, dword [rsp + 0x60]
mov rdi, qword [0x180147430]
add rdi, rdx
mov rdx, rdi
not rdx
sub rcx, rdx
not rcx
sub rax, rcx
not rax
mov byte [0x180147367], al
mov eax, dword [0x18178e9c8]
mov dword [rsp + 0x10c], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x1800ef51e
mov r8, qword [rsp + 0x430]
mov edx, 1
lea rcx, [0x18002eab0]
call fcn.180082490
mov eax, dword [rsp + 0x2e4]
mov ecx, dword [rsp + 0x4a0]
sub eax, ecx
mov ecx, dword [rsp + 0x2e4]
sub ecx, eax
mov eax, ecx
cmp eax, 0x25c
je 0x1800f269e
mov rax, qword [rsp + 0xa0]
movzx ecx, byte [0x180147366]
movsx rcx, cl
cmp rax, rcx
jae 0x1800f04e9
mov dword [rsp + 0x2ec], 1
jmp 0x1800f04f4
mov dword [rsp + 0x2ec], 0
mov rax, qword [rsp + 0xa0]
cmp rax, 0x4e
jae 0x1800f050f
mov dword [rsp + 0x2e8], 1
jmp 0x1800f051a
mov dword [rsp + 0x2e8], 0
mov eax, dword [rsp + 0x2e8]
cmp dword [rsp + 0x2ec], eax
jne 0x1800f0558
lea rcx, [0x180111430]
call fcn.180041bd0
mov qword [rsp + 0x570], rax
lea rax, [rsp + 0xaa]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xaa]
call fcn.1800f31d0
mov rcx, rax
call fcn.1800f5aa0
mov rdx, rax
mov rcx, qword [rsp + 0x570]
call fcn.180043360
mov qword [rsp + 0x4e8], rax
lea rax, [rsp + 0xa78]
mov qword [rsp + 0xc0], rax
lea rdx, [rsp + 0x718]
lea rcx, [rsp + 0x768]
call fcn.1800f7370
movsx eax, byte [0x180147312]
mov ecx, dword [rsp + 0x68]
lea eax, [rax + rcx + 0x88]
mov byte [0x180147312], al
jmp 0x1800f2746
mov rax, qword [rsp + 0x718]
cmp qword [rsp + 0xc0], rax
jae 0x1800f2d8a
movzx eax, byte [0x1801472e6]
movsx eax, al
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
cmp eax, ecx
jl 0x1800f277f
mov rax, qword [rsp + 0xa0]
movsx ecx, byte [rsp + 0x41]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, ecx
mov edx, 0x6b
mov ecx, 0x51
call fcn.1800d7c60
cdqe
mov qword [0x180147410], rax
mov rax, qword [0x180147410]
test rax, rax
jbe 0x1800f2dd2