Function at 0x180057c40
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rsi
push rdi
sub rsp, 0xe38
mov dword [rsp + 0xb88], 0xc8
movzx eax, byte [0x1800e35b0]
mov byte [rsp + 0x41], al
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x68], 0x27
mov dword [rsp + 0x74], 0x5ea9
movsx eax, word [0x1800e360c]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x43], 0x71
mov eax, dword [0x1800e35b0]
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1800e3504]
cdqe
mov qword [rsp + 0x90], rax
movsx eax, byte [0x1800e3513]
mov dword [rsp + 0x5c], eax
movzx eax, byte [0x1800e3578]
mov byte [rsp + 0x45], al
mov byte [rsp + 0x40], 0x20
movzx eax, word [0x1800e359c]
mov word [rsp + 0x54], ax
mov byte [rsp + 0x46], 0x79
mov eax, 0x3c6b
mov word [rsp + 0x48], ax
mov eax, dword [0x1800e3514]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1800e35ac]
mov byte [rsp + 0x42], al
mov eax, 0x85d6
mov word [rsp + 0x50], ax
mov eax, dword [0x1800e35b0]
mov dword [rsp + 0x70], eax
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0x80], rax
movzx eax, word [0x1800e35b4]
mov word [rsp + 0x58], ax
mov byte [rsp + 0x44], 0xf2
movzx eax, byte [0x1800e3532]
movzx eax, al
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800e3534]
mov byte [rsp + 0xf4], al
mov dword [rsp + 0xba4], 0xe9889d31
movzx eax, byte [0x1800e3590]
mov byte [rsp + 0xf5], al
movzx eax, word [0x1800e3564]
mov word [rsp + 0x924], ax
mov dword [rsp + 0xba8], 0xaacd941b
mov dword [rsp + 0xbac], 0x38be1a42
movzx eax, word [0x1800e35a8]
movzx eax, ax
mov dword [rsp + 0xbb0], eax
mov eax, dword [0x1800e3584]
mov dword [rsp + 0xbb4], eax
mov rax, qword [0x1800e3570]
mov qword [rsp + 0xcb8], rax
mov qword [rsp + 0xcc0], 0x76
movzx eax, word [0x1800e35c4]
cwde
mov dword [rsp + 0xbb8], eax
mov byte [rsp + 0xf6], 0x82
mov eax, 0x9e
mov word [rsp + 0x920], ax
mov qword [rsp + 0xcc8], 0x117097c9
movsx rax, byte [0x1800e3513]
mov qword [rsp + 0xcd0], rax
movzx eax, byte [0x1800e35b8]
mov byte [rsp + 0xf7], al
mov eax, 0xf3
mov word [rsp + 0x91c], ax
mov eax, dword [0x1800e35f4]
cdqe
mov qword [rsp + 0xcd8], rax
mov byte [rsp + 0xf8], 0xed
movzx eax, word [0x1800e3564]
mov byte [rsp + 0xf9], al
mov eax, 0xb7f9
mov word [rsp + 0x918], ax
mov byte [rsp + 0x108], 0x10
mov rax, qword [0x1800e35a0]
mov word [rsp + 0x914], ax
mov byte [rsp + 0xfa], 0x9d
mov eax, dword [0x1800e3504]
mov byte [rsp + 0xfb], al
mov rax, qword [0x1800e35d8]
mov byte [rsp + 0xfc], al
mov byte [rsp + 0xfd], 0x94
movsx eax, byte [0x1800e3563]
movzx ecx, word [0x1800e3564]
movsx ecx, cx
cmp eax, ecx
jne 0x180057f6b
cmp qword [0x1800e35c8], 0x5aec41fb
jne 0x180057ecd
mov dword [rsp + 0x290], 1
jmp 0x180057ed8
mov dword [rsp + 0x290], 0
mov rax, qword [0x1800e3568]
movzx ecx, byte [rsp + 0x46]
movsx rcx, cl
cmp rax, rcx
je 0x180057efa
mov dword [rsp + 0x28c], 1
jmp 0x180057f05
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
mov ecx, dword [rsp + 0x290]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x180057f3a
movzx eax, byte [rsp + 0x46]
movsx eax, al
sub eax, 0xed
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x180057f69
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180057f69
mov rax, qword [0x1800e3578]
and rax, 0xfead
mov byte [0x1800e3513], al
movzx eax, word [0x1800e35a8]
movzx eax, ax
add eax, 0x84d2
mov word [rsp + 0x48], ax
jmp 0x180057f93
movzx eax, word [rsp + 0x58]
movzx eax, ax
test eax, eax
jne 0x180057f93
mov eax, dword [0x1800e35f0]
add eax, dword [str.Bw8_]
mov ecx, dword [0x1800e35f0]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e35f0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x10c], eax
lea rax, [rsp + 0xd60]
lea rcx, str.IE_parameter_does
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xd60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1800e3513], al
mov eax, dword [rsp + 0x10c]
add eax, 0x3b6
mov dword [rsp + 0x2f4], eax
mov rax, qword [rsp + 0x78]
and rax, 0x4d94a474
mov dword [0x1800e35d4], eax
mov eax, dword [rsp + 0x10c]
add eax, 0xde
mov dword [rsp + 0x938], eax
mov eax, dword [rsp + 0x74]
and eax, 0x46fc
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x359
mov dword [rsp + 0x934], eax
imul eax, dword [rsp + 0x74], 0x54
cdqe
mov qword [rsp + 0x78], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [0x1800e3568]
add rax, rcx
movzx ecx, word [rsp + 0x48]
movsx rcx, cx
and rcx, rax
mov rax, rcx
mov word [rsp + 0x48], ax
mov eax, 8
imul rax, rax, 0x3f
lea rcx, [0x180ad9f10]
mov rdx, qword [0x1800e35c8]
mov qword [rcx + rax], rdx
mov eax, dword [rsp + 0x110]
add eax, 0x1b2
mov dword [rsp + 0x720], eax
mov eax, dword [rsp + 0x110]
add eax, 0x33e
mov dword [rsp + 0xbbc], eax
mov eax, dword [rsp + 0x5c]
cmp eax, 0x824b0f5b
jbe 0x180058171
mov eax, dword [rsp + 0x5c]
mov ecx, dword [0x1800e35f4]
cmp eax, ecx
jle 0x1800580d8
mov dword [rsp + 0x298], 1
jmp 0x1800580e3
mov dword [rsp + 0x298], 0
mov eax, dword [rsp + 0x5c]
cmp eax, 0x52
jle 0x1800580f9
mov dword [rsp + 0x294], 1
jmp 0x180058104
mov dword [rsp + 0x294], 0
mov eax, dword [rsp + 0x294]
cmp dword [rsp + 0x298], eax
je 0x18005813f
movsx rax, byte [0x1800e3533]
mov rcx, qword [0x1800e35e8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e35e8]
or rcx, rax
mov rax, rcx
mov qword [0x1800e35e8], rax
jmp 0x18005816f
xor eax, eax
cmp eax, 3
je 0x18005816f
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [0x1800e35c0]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e35c0]
add ecx, eax
mov eax, ecx
mov dword [0x1800e35c0], eax
mov byte [0x1800e3563], 0xa5
jmp 0x1800581aa
movsx eax, word [0x1800e3560]
not eax
mov ecx, dword [0x1800e359c]
imul ecx, eax
mov eax, ecx
cmp eax, dword [0x1800e359c]
jge 0x1800581aa
mov eax, 1
imul rax, rax, 0x4444
lea rcx, [0x180acc4d0]
movzx edx, byte [0x1800e3563]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x110]
add eax, 0x2fe
mov dword [rsp + 0xbc0], eax
movzx eax, word [0x1800e3580]
movzx eax, ax
add eax, 0x82b9efa3
mov eax, eax
mov qword [0x1800e3570], rax
movsx rax, byte [0x1800e3513]
movabs rcx, 0x704c9df0b43ee
imul rax, rcx
mov dword [rsp + 0x60], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
add eax, 0x24
mov dword [rsp + 0x39c], eax
mov eax, dword [rsp + 0x114]
add eax, 0x12b
mov dword [rsp + 0x3a0], eax
mov eax, dword [0x1800e35f0]
cmp eax, dword [rsp + 0x70]
jne 0x180058231
jmp 0x180058408
movzx eax, word [rsp + 0x4c]
movabs rcx, 0xe68acde811093
cmp rax, rcx
jl 0x180058252
mov dword [rsp + 0x29c], 1
jmp 0x18005825d
mov dword [rsp + 0x29c], 0
movsx eax, byte [0x1800e3513]
cmp eax, dword [rsp + 0x29c]
jge 0x1800582a1
movzx eax, byte [0x1800e355e]
movsx rax, al
movabs rcx, 0x9594e33c48998
add rax, rcx
movzx ecx, byte [0x1800e3562]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x1800e3562], al
jmp 0x180058408
movsx eax, byte [rsp + 0x44]
mov ecx, dword [0x1800e35b0]
not ecx
cmp eax, ecx
jg 0x1800582bf
mov dword [rsp + 0x2a0], 1
jmp 0x1800582ca
mov dword [rsp + 0x2a0], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
movzx ecx, byte [0x1800e355e]
movsx ecx, cl
not ecx
cmp eax, ecx
jg 0x1800582ef
mov dword [rsp + 0x2a4], 1
jmp 0x1800582fa
mov dword [rsp + 0x2a4], 0
mov eax, dword [rsp + 0x2a0]
not eax
cmp eax, dword [rsp + 0x2a4]
je 0x1800583e0
movzx eax, word [rsp + 0x50]
mov ecx, dword [0x1800e35f0]
sub eax, ecx
test eax, eax
jne 0x18005832e
mov dword [rsp + 0x2a8], 1
jmp 0x180058339
mov dword [rsp + 0x2a8], 0
movzx eax, byte [0x1800e3582]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
sub eax, ecx
test eax, eax
jne 0x18005835b
mov dword [rsp + 0x2ac], 1
jmp 0x180058366
mov dword [rsp + 0x2ac], 0
movsx eax, byte [rsp + 0x45]
not eax
mov ecx, dword [rsp + 0x2a8]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800e3582]
movsx edx, byte [rsp + 0x45]
not edx
imul ecx, edx
mov edx, dword [rsp + 0x2ac]
xor edx, ecx
mov ecx, edx
imul eax, ecx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x5c]
add eax, 0xb59b6494
movsx ecx, byte [0x1800e34eb]
mov edx, dword [rsp + 0x5c]
xor edx, ecx
mov ecx, edx
xor eax, ecx
test eax, eax
jne 0x1800583c6
mov dword [rsp + 0x2b0], 1
jmp 0x1800583d1
mov dword [rsp + 0x2b0], 0
mov eax, dword [rsp + 0x2b0]
mov dword [0x1800e3504], eax
jmp 0x180058408
mov eax, dword [0x1800e35d4]
cmp eax, dword [0x1800e359c]
jne 0x180058408
imul eax, dword [rsp + 0x70], 0xd9
mov word [rsp + 0x58], ax
movzx eax, byte [0x18094ab58]
mov byte [0x1800e3567], al
mov eax, dword [rsp + 0x114]
add eax, 0x168
mov dword [rsp + 0xbc4], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x118], eax
xor eax, eax
mov word [0x1800e360c], ax
mov eax, dword [rsp + 0x74]
imul eax, dword [rsp + 0x6c]
test eax, eax
jne 0x18005844b
mov dword [rsp + 0x2bc], 1
jmp 0x180058456
mov dword [rsp + 0x2bc], 0
movzx eax, byte [0x1800e3532]
movzx eax, al
test eax, eax
jne 0x180058471
mov dword [rsp + 0x2b8], 1
jmp 0x18005847c
mov dword [rsp + 0x2b8], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x180058495
mov dword [rsp + 0x2b4], 1
jmp 0x1800584a0
mov dword [rsp + 0x2b4], 0
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x2b4]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2b8]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2bc]
and ecx, eax
mov eax, ecx
mov eax, eax
mov qword [0x1800e35e0], rax
mov dword [0x1800e3534], 0x95
movsx eax, word [0x1800e360c]
mov dword [rsp + 0x928], eax
cmp dword [rsp + 0x928], 0
je 0x1800584f2
jmp 0x180058529
cmp dword [rsp + 0x70], 0
je 0x18005850a
movzx eax, word [0x1800e35c4]
cwde
mov dword [rsp + 0x2c0], eax
jmp 0x18005851b
movzx eax, word [0x1800e3580]
movzx eax, ax
mov dword [rsp + 0x2c0], eax
movzx eax, byte [rsp + 0x2c0]
mov byte [0x1800e355e], al
mov eax, dword [rsp + 0x118]
add eax, 0x173
mov dword [rsp + 0x178], eax
mov eax, dword [0x1800e35ac]
mov rcx, qword [0x1800e3568]
cmp rax, rcx
je 0x180058726
mov dword [0x1800e358c], 4
movzx eax, word [rsp + 0x54]
movzx eax, ax
add eax, 0xe9c15d21
mov byte [rsp + 0x43], al
movzx eax, word [rsp + 0x4c]
mov ecx, dword [rsp + 0x64]
sub eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e358c]
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0
je 0x1800585d1
cmp dword [rsp + 0xa8], 1
je 0x180058633
cmp dword [rsp + 0xa8], 2
je 0x18005867c
cmp dword [rsp + 0xa8], 3
je 0x1800586bb
cmp dword [rsp + 0xa8], 4
je 0x1800586c9
jmp 0x180058724
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x68]
sub eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [0x1800e3504]
not eax
imul eax, eax, 0x47cb
cdqe
movsxd rcx, dword [0x1800e359c]
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
movzx edx, byte [rsp + 0x40]
movsx edx, dl
imul ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x78]
and rcx, rdx
not rcx
sub rax, rcx
mov byte [0x1800e3567], al
jmp 0x180058724
cmp qword [0x1800e35f8], 0
jne 0x18005864b
mov qword [rsp + 0x958], 1
jmp 0x180058657
mov qword [rsp + 0x958], 0
mov rax, qword [0x1800e35d8]
add rax, qword [rsp + 0x958]
movzx ecx, byte [0x1800e3582]
sub rax, rcx
mov word [0x1800e35d0], ax
jmp 0x180058724
mov eax, dword [str.Bw8_]
sub eax, 0xd8c7572a
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x44]
movzx ecx, word [0x1800e35d0]
movsx ecx, cx
imul eax, ecx
mov ecx, dword [0x1800e35ac]
mov edx, dword [0x1800e35ac]
sub edx, ecx
mov ecx, edx
sub eax, ecx
mov eax, eax
mov qword [rsp + 0x90], rax
jmp 0x180058724
mov eax, 0x3bc3
mov word [0x1800e360c], ax
jmp 0x180058724
mov eax, dword [0x1800e3598]
mov word [rsp + 0x4c], ax
cmp dword [rsp + 0x70], 0
jne 0x1800586e8
mov dword [rsp + 0x2c4], 1
jmp 0x1800586f3
mov dword [rsp + 0x2c4], 0
movsx eax, byte [rsp + 0x45]
xor eax, 0xffff8ba5
mov ecx, dword [str.Bw8_]
imul ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0x50]
mov edx, dword [0x1800e3504]
add edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x2c4]
xor eax, ecx
mov byte [rsp + 0x42], al
jmp 0x1800587a4
movzx eax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jle 0x180058745
mov dword [rsp + 0x2cc], 1
jmp 0x180058750
mov dword [rsp + 0x2cc], 0
movsx eax, byte [rsp + 0x44]
movzx ecx, word [0x1800e35c4]
movsx ecx, cx
cmp eax, ecx
jg 0x180058770
mov dword [rsp + 0x2c8], 1
jmp 0x18005877b
mov dword [rsp + 0x2c8], 0
mov eax, dword [rsp + 0x2c8]
cmp dword [rsp + 0x2cc], eax
jg 0x1800587a4
movzx eax, word [rsp + 0x4c]
mov rcx, qword [0x1800e3570]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3570], rax
mov eax, dword [rsp + 0x118]
add eax, 0x3b5
mov dword [rsp + 0xbc8], eax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1800587ca
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x42], al
jmp 0x180058819
mov eax, dword [rsp + 0x64]
dec eax
mov dword [rsp + 0x64], eax
movzx eax, byte [rsp + 0x46]
movsx eax, al
not eax
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
add eax, ecx
movsx ecx, byte [rsp + 0x45]
sub eax, ecx
cdqe
movsx rcx, byte [0x1800e34eb]
mov edx, dword [0x1800e35d4]
mov edx, edx
mov rdi, qword [rsp + 0x80]
add rdi, rdx
mov rdx, rdi
sub rcx, rdx
add rax, rcx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x118]
add eax, 0x362
mov dword [rsp + 0xbcc], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [0x1800e35f0]
cmp eax, ecx
jbe 0x180058848
mov qword [rsp + 0x960], 1
jmp 0x180058854
mov qword [rsp + 0x960], 0
movzx eax, word [0x1800e35a8]
movzx eax, ax
imul rax, qword [0x1800e35c8]
cmp qword [rsp + 0x960], rax
jge 0x180058872
jmp 0x1800588ab
mov eax, dword [0x1800e358c]
mov eax, eax
mov rcx, qword [0x1800e35f8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35f8], rax
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rsp + 0x40]
movsx rcx, cl
lea rax, [rcx + rax - 0xf7b2]
mov byte [rsp + 0x40], al
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x392
mov dword [rsp + 0xbd0], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x1c4
mov dword [rsp + 0x430], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x2fc
mov dword [rsp + 0xbd4], eax
movsx eax, byte [rsp + 0x45]
cmp eax, dword [0x1800e3608]
je 0x180058919
movzx eax, byte [0x1800e3532]
movzx eax, al
movabs rcx, 0x4bf82136d4e1d
add rax, rcx
mov dword [rsp + 0x6c], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x120]
add eax, 0x96
mov dword [rsp + 0x448], eax
mov eax, dword [rsp + 0x120]
add eax, 0x29d
mov dword [rsp + 0x768], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
movzx ecx, byte [0x1800e355f]
xor eax, ecx
mov byte [0x1800e34eb], al
movzx eax, word [rsp + 0x54]
movzx eax, ax
movabs rcx, 0xffffd56c573ec96c
mov rdx, qword [0x1800e3578]
add rcx, rdx
add rax, rcx
mov qword [0x1800e3578], rax
mov eax, dword [rsp + 0x120]
add eax, 0xf7
mov dword [rsp + 0x764], eax
mov eax, 1
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e35d4]
inc eax
mov dword [0x1800e3610], eax
movzx eax, word [rsp + 0x4c]
mov dword [rsp + 0x2d0], eax
cmp dword [rsp + 0x2d0], 0
je 0x1800589d6
cmp dword [rsp + 0x2d0], 1
je 0x1800589f9
jmp 0x180058a18
movsx eax, word [0x1800e35b4]
mov ecx, dword [0x1800e35b0]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e35b0]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e35b0], eax
jmp 0x180058a18
mov rax, qword [0x1800e3568]
add rax, 0xa0a0
mov byte [0x1800e3532], al
mov eax, 0x3e5f
mov word [0x1800e3614], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x124], eax
movsx eax, byte [rsp + 0x42]
imul eax, dword [rsp + 0x6c]
mov dword [0x1800e3504], eax
mov eax, dword [rsp + 0x124]
add eax, 0x1a9
mov dword [rsp + 0xbd8], eax
mov eax, dword [rsp + 0x124]
add eax, 0x20f
mov dword [rsp + 0x778], eax
mov eax, dword [rsp + 0x124]
add eax, 0x66
mov dword [rsp + 0xbc], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x128], eax
movzx eax, word [rsp + 0x4c]
movsx ecx, word [0x1800e360c]
cmp eax, ecx
jle 0x180058ab8
movzx eax, word [rsp + 0x58]
movzx eax, ax
movsx ecx, byte [0x1800e3513]
cmp eax, ecx
jg 0x180058ab6
mov eax, dword [rsp + 0x5c]
cdqe
movabs rcx, 0x55fb1dd45e33d
sub rax, rcx
mov qword [0x1800e35a0], rax
jmp 0x180058acd
movsx eax, byte [0x1800e3563]
xor eax, 0x2070
cdqe
mov qword [0x1800e35e8], rax
mov eax, dword [rsp + 0x128]
add eax, 0x265
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0x70], 0
je 0x180058b1c
mov rax, qword [rsp + 0x90]
add rax, 0x23
mov qword [0x1800e3590], rax
movzx eax, word [0x1800e3614]
movsx ecx, byte [0x1800e3533]
add eax, ecx
movzx ecx, word [0x1800e3614]
add ecx, eax
mov eax, ecx
mov word [0x1800e3614], ax
mov eax, dword [rsp + 0x128]
add eax, 0x310
mov dword [rsp + 0xbdc], eax
mov eax, dword [rsp + 0x128]
add eax, 0x144
mov dword [rsp + 0xbe0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x18
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x12c]
add eax, 0xd8
mov dword [rsp + 0xbe4], eax
movsxd rax, dword [str.Bw8_]
cmp qword [0x1800e35c8], rax
jle 0x180058b88
jmp 0x180058c80
mov eax, dword [0x1800e3584]
cmp eax, 0x81026395
jne 0x180058ba2
mov dword [rsp + 0x2d4], 1
jmp 0x180058bad
mov dword [rsp + 0x2d4], 0
mov eax, dword [rsp + 0x2d4]
not eax
test eax, eax
jne 0x180058bc3
cmp dword [0x1800e35b0], 0
je 0x180058c15
movzx eax, word [rsp + 0x50]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
cmp qword [0x1800e35f8], 0
je 0x180058bf5
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x968], rax
jmp 0x180058c04
mov rax, qword [0x1800e35f8]
mov qword [rsp + 0x968], rax
mov rax, qword [rsp + 0x968]
mov qword [0x1800e35a0], rax
jmp 0x180058c80
mov eax, dword [0x1800e3514]
test eax, eax
je 0x180058c4d
movsx eax, byte [rsp + 0x44]
mov ecx, dword [rsp + 0x5c]
sub eax, ecx
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
not ecx
movzx edx, word [0x1800e35d0]
movsx edx, dx
and ecx, edx
add eax, ecx
cdqe
mov qword [0x1800e35c8], rax
jmp 0x180058c80
mov rax, qword [0x1800e3600]
cmp rax, qword [0x1800e35c8]
jbe 0x180058c80
mov eax, dword [0x1800e35c0]
mov dword [rsp + 0x64], eax
movsxd rax, dword [rsp + 0x6c]
mov rcx, qword [0x1800e35b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35b8], rax
mov eax, dword [rsp + 0x12c]
add eax, 0x233
mov dword [rsp + 0x7f4], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0x80]
movsx rcx, byte [rsp + 0x45]
cmp rax, rcx
jne 0x180058cc0
mov dword [rsp + 0x2dc], 1
jmp 0x180058ccb
mov dword [rsp + 0x2dc], 0
mov rax, qword [rsp + 0x80]
cmp rax, 0x4a
jne 0x180058ce6
mov dword [rsp + 0x2d8], 1
jmp 0x180058cf1
mov dword [rsp + 0x2d8], 0
mov eax, dword [rsp + 0x2d8]
cmp dword [rsp + 0x2dc], eax
jle 0x180058d03
jmp 0x180058d4e
movsx eax, byte [rsp + 0x45]
cmp eax, 0xa12d9105
ja 0x180058d4e
movsx eax, byte [0x1800e3533]
shl eax, 6
mov byte [rsp + 0x42], al
mov eax, dword [0x1800e3514]
not eax
imul ecx, dword [rsp + 0x6c], 0x4f
and eax, ecx
test eax, eax
jne 0x180058d3a
mov byte [rsp + 0x9e], 1
jmp 0x180058d42
mov byte [rsp + 0x9e], 0
movzx eax, byte [rsp + 0x9e]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x130]
add eax, 0x7b
mov dword [rsp + 0xbe8], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180058dc7
movsx eax, byte [0x1800e3533]
movsx ecx, byte [rsp + 0x45]
sub eax, ecx
movzx ecx, byte [0x1800e355f]
mov edx, dword [rsp + 0x64]
sub ecx, edx
movzx edx, word [0x1800e3580]
movzx edx, dx
not edx
mov edi, dword [0x1800e35f4]
imul edi, edx
mov edx, edi
imul ecx, edx
not ecx
add eax, ecx
test eax, eax
jne 0x180058db3
mov byte [rsp + 0x98], 1
jmp 0x180058dbb
mov byte [rsp + 0x98], 0
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x130]
add eax, 0xa2
mov dword [rsp + 0x92c], eax
mov eax, dword [rsp + 0x130]
add eax, 0xd9be
mov dword [rsp + 0xbec], eax
mov qword [0x1800e3570], 4
mov eax, dword [0x1800e35c0]
add eax, 0xaa77
cdqe
mov qword [0x1800e3590], rax
movzx eax, byte [0x1800e3562]
movsx eax, al
add eax, 0x3d47
mov byte [rsp + 0x45], al
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x6c8], rax
cmp qword [rsp + 0x6c8], 0
je 0x180058e67
cmp qword [rsp + 0x6c8], 1
je 0x180058e83
cmp qword [rsp + 0x6c8], 2
je 0x180058e91
cmp qword [rsp + 0x6c8], 3
je 0x180058ea0
cmp qword [rsp + 0x6c8], 4
je 0x180058ec9
jmp 0x180058ee2
movsxd rax, dword [0x1800e35c0]
movabs rcx, 0x4a0db7f9199b1
sub rax, rcx
mov byte [0x1800e3563], al
jmp 0x180058ee2
mov eax, 0x2d5b
mov word [0x1800e3560], ax
jmp 0x180058ee2
mov eax, dword [0x1800e35f0]
shr eax, 8
mov byte [rsp + 0x43], al
jmp 0x180058ee2
movzx eax, byte [rsp + 0x43]
movzx ecx, word [rsp + 0x50]
xor eax, ecx
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x5c]
add eax, 0x3e
mov ecx, dword [0x1800e35f4]
add ecx, eax
mov eax, ecx
mov dword [0x1800e35f4], eax
jmp 0x180058ee2
movzx eax, word [rsp + 0x50]
add eax, 0x642a69c9
mov word [rsp + 0x48], ax
mov dword [0x1800e35ac], 0x4f62c70a
mov eax, dword [rsp + 0x92c]
imul eax, eax, 0xd9d2
mov ecx, 0x89da79
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x780], eax
movsx eax, byte [0x1800e34eb]
test eax, eax
jne 0x180058f21
mov eax, dword [0x1800e35d4]
test eax, eax
jne 0x180058f21
mov dword [rsp + 0x2ec], 0
jmp 0x180058f2c
mov dword [rsp + 0x2ec], 1
mov eax, dword [0x1800e35ac]
not eax
cmp dword [rsp + 0x6c], eax
je 0x180058f47
mov dword [rsp + 0x2e8], 1
jmp 0x180058f52
mov dword [rsp + 0x2e8], 0
movsx eax, word [0x1800e35b4]
cmp eax, dword [rsp + 0x74]
je 0x180058f6c
mov dword [rsp + 0x2e0], 1
jmp 0x180058f77
mov dword [rsp + 0x2e0], 0
movzx eax, byte [rsp + 0x46]
movsx eax, al
test eax, eax
jne 0x180058f9d
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x180058f9d
mov dword [rsp + 0x2e4], 0
jmp 0x180058fa8
mov dword [rsp + 0x2e4], 1
mov eax, dword [rsp + 0x2e0]
not eax
cmp eax, dword [rsp + 0x2e4]
jne 0x180058fc7
mov dword [rsp + 0x2f0], 1
jmp 0x180058fd2
mov dword [rsp + 0x2f0], 0
mov eax, dword [rsp + 0x2e8]
mov ecx, dword [rsp + 0x2ec]
xor ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x2f0]
jle 0x180058fef
jmp 0x180059024
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180059024
movzx eax, byte [0x1800e3562]
movsx rax, al
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, 0x2782
mov word [0x1800e3564], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x134], eax
mov eax, dword [0x18094ab58]
mov dword [0x1800e3610], eax
mov eax, dword [rsp + 0x134]
add eax, 0x4f
mov dword [rsp + 0xbf0], eax
mov eax, dword [0x1800e359c]
xor eax, 0x3e9def25
cdqe
mov rcx, qword [0x1800e35f8]
and rcx, rax
mov rax, rcx
mov qword [0x1800e35f8], rax
movsx eax, byte [0x1800e34eb]
mov ecx, dword [0x1800e358c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e358c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e358c], eax
mov eax, dword [rsp + 0x134]
add eax, 0x88
mov dword [rsp + 0x930], eax
mov byte [rsp + 0x42], 0x6f
mov rax, qword [0x1800e35d8]
mov dword [0x1800e3534], eax
mov eax, dword [rsp + 0x134]
add eax, 0x81ac
mov dword [rsp + 0xbf4], eax
mov dword [0x1800e3598], 0x85288cb2
mov eax, dword [rsp + 0x930]
imul eax, eax, 0x74
add eax, 0xcb2c3d50
mov eax, eax
mov ecx, dword [rsp + 0x934]
mov edx, dword [rsp + 0x938]
imul ecx, edx
mov edx, dword [rsp + 0x2f4]
mov edi, dword [rsp + 0x2f4]
sub edx, edi
imul ecx, edx
mov ecx, ecx
movabs rdx, 0xffffffff34d38702
add rax, rdx
add rax, rcx
mov dword [rsp + 0x784], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x138], eax
movzx eax, word [0x1800e3580]
movzx eax, ax
movzx ecx, byte [rsp + 0x43]
add eax, ecx
movzx ecx, word [0x1800e3580]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800e3580], ax
mov eax, dword [rsp + 0x138]
add eax, 0x8be2
mov dword [rsp + 0xbf8], eax
mov eax, dword [rsp + 0x138]
add eax, 0xf1
mov dword [rsp + 0x13c], eax
movzx eax, byte [0x1800e3582]
sub eax, 0xcbf4
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x138]
add eax, 0x37
mov dword [rsp + 0x93c], eax
movsx rax, word [0x1800e35b4]
cmp qword [0x1800e3578], rax
jbe 0x1800591c2
mov eax, 0xc46d
mov word [rsp + 0x4c], ax
mov qword [0x1800e35c8], 8
jmp 0x1800591f1
movsx eax, byte [rsp + 0x44]
sar eax, 2
mov word [0x1800e3614], ax
movzx eax, byte [0x1800e3532]
movzx eax, al
movsx ecx, byte [rsp + 0x42]
mov edx, dword [0x1800e35b0]
add edx, ecx
mov ecx, edx
imul eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x13c]
mov ecx, dword [rsp + 0x13c]
imul eax, ecx
mov ecx, dword [rsp + 0x13c]
mov edx, dword [rsp + 0x93c]
sub ecx, edx
sub eax, ecx
add eax, 0xffff1e8e
mov dword [rsp + 0x788], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x140], eax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1800592c4
movzx eax, word [0x1800e3564]
cwde
movsx ecx, byte [rsp + 0x44]
cmp eax, ecx
jne 0x180059259
mov dword [rsp + 0x2fc], 1
jmp 0x180059264
mov dword [rsp + 0x2fc], 0
movzx eax, word [0x1800e3564]
cwde
cmp eax, 0x3b
jne 0x18005927e
mov dword [rsp + 0x2f8], 1
jmp 0x180059289
mov dword [rsp + 0x2f8], 0
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0x2fc], eax
jg 0x1800592ac
movsx eax, byte [rsp + 0x42]
sar eax, 8
cdqe
mov qword [0x1800e35d8], rax
jmp 0x1800592c2
mov eax, dword [0x1800e3610]
cdqe
mov rcx, qword [rsp + 0x78]
add rax, rcx
mov dword [0x1800e3610], eax
jmp 0x1800592e0
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
je 0x1800592e0
mov rax, qword [0x1800e3570]
add rax, 0x6c
mov qword [0x1800e3568], rax
mov eax, dword [rsp + 0x140]
add eax, 0x34
mov dword [rsp + 0xbfc], eax
mov eax, dword [rsp + 0x140]
add eax, 0xdc
mov dword [rsp + 0x700], eax
mov eax, dword [rsp + 0x140]
add eax, 0xbd67
mov dword [rsp + 0x940], eax
movsx eax, byte [rsp + 0x45]
add eax, 5
cdqe
mov qword [0x1800e35c8], rax
mov eax, dword [rsp + 0x940]
mov ecx, dword [rsp + 0x700]
add eax, ecx
xor eax, 0xbedd
mov dword [rsp + 0x794], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x144], eax
mov dword [rsp + 0x6c], 0
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x704], eax
cmp dword [rsp + 0x704], 0
je 0x180059370
jmp 0x180059388
mov eax, dword [rsp + 0x64]
not eax
imul eax, eax, 0xffffff37
mov byte [rsp + 0x46], al
mov dword [rsp + 0x68], 2
mov eax, dword [rsp + 0x144]
add eax, 0x7e
mov dword [rsp + 0x708], eax
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x1800593af
mov qword [rsp + 0x970], 1
jmp 0x1800593bb
mov qword [rsp + 0x970], 0
mov rax, qword [rsp + 0x78]
imul rax, qword [rsp + 0x970]
mov rcx, qword [0x1800e3570]
not rcx
movzx edx, byte [0x1800e3532]
movzx edx, dl
imul rcx, rdx
not rcx
add rax, rcx
mov qword [rsp + 0x90], rax
movsxd rax, dword [rsp + 0x6c]
movsx rcx, byte [0x1800e3533]
mov rdx, qword [0x1800e3600]
sub rcx, rdx
not rcx
imul rax, rcx
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x144]
add eax, 0x78
mov dword [rsp + 0x70c], eax
mov eax, dword [rsp + 0x144]
add eax, 0x586f
mov dword [rsp + 0xc00], eax
movsxd rax, dword [0x1800e35c0]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
movsxd rcx, dword [0x1800e35c0]
sub rcx, rax
mov rax, rcx
mov dword [0x1800e35c0], eax
mov eax, dword [rsp + 0x708]
mov ecx, dword [rsp + 0x70c]
add eax, ecx
mov ecx, 0x161
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x798], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
add eax, 0xe7
cdqe
mov qword [0x1800e35a0], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x50]
cmp rax, rcx
jae 0x1800594bc
mov dword [rsp + 0x304], 1
jmp 0x1800594c7
mov dword [rsp + 0x304], 0
mov rax, qword [rsp + 0x80]
cmp rax, 0x19
jae 0x1800594e2
mov dword [rsp + 0x300], 1
jmp 0x1800594ed
mov dword [rsp + 0x300], 0
mov eax, dword [rsp + 0x300]
cmp dword [rsp + 0x304], eax
jl 0x180059556
mov eax, dword [0x1800e35f0]
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
ja 0x18005951d
mov eax, dword [0x1800e358c]
xor eax, 0x3d
not eax
mov byte [rsp + 0x46], al
jmp 0x180059554
movsx ax, byte [rsp + 0x44]
mov ecx, 2
imul rcx, rcx, 0xa9
lea rdx, [0x1809db1c0]
mov word [rdx + rcx], ax
movzx eax, word [rsp + 0x48]
movsx rax, ax
movabs rcx, 0xdba8feb3483c
sub rax, rcx
mov dword [rsp + 0x68], eax
jmp 0x18005957a
xor eax, eax
cmp eax, 0x3b7bd2ba
je 0x18005957a
movsx eax, word [0x1800e360c]
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x148]
add eax, 0xe6a5
mov dword [rsp + 0xc04], eax
mov eax, dword [rsp + 0x148]
add eax, 0x23e3
mov dword [rsp + 0x710], eax
mov eax, dword [rsp + 0x68]
movzx ecx, byte [0x1800e3566]
movzx ecx, cl
cmp eax, ecx
je 0x1800595bf
mov dword [rsp + 0x30c], 1
jmp 0x1800595ca
mov dword [rsp + 0x30c], 0
mov eax, dword [rsp + 0x68]
cmp eax, 0x56
je 0x1800595e0
mov dword [rsp + 0x308], 1
jmp 0x1800595eb
mov dword [rsp + 0x308], 0
mov eax, dword [rsp + 0x308]
cmp dword [rsp + 0x30c], eax
je 0x1800595fd
jmp 0x18005967b
mov eax, dword [rsp + 0x5c]
movzx ecx, word [0x1800e3580]
movzx ecx, cx
cmp eax, ecx
jl 0x18005961c
mov dword [rsp + 0x310], 1
jmp 0x180059627
mov dword [rsp + 0x310], 0
mov eax, dword [rsp + 0x310]
cmp dword [0x1800e35b0], eax
jle 0x180059659
movzx eax, word [rsp + 0x48]
cwde
movzx ecx, word [0x1800e35a8]
movzx ecx, cx
sub eax, ecx
mov word [rsp + 0x48], ax
mov eax, 0xf98
mov word [rsp + 0x54], ax
jmp 0x18005967b
mov eax, dword [0x1800e3534]
not eax
test eax, eax
je 0x18005967b
movsx eax, byte [0x1800e3513]
mov ecx, dword [0x1800e3584]
imul eax, ecx
mov byte [0x1800e3513], al
mov eax, dword [rsp + 0x148]
add eax, 0x23
mov dword [rsp + 0x338], eax
mov eax, dword [0x1800e35f4]
not eax
mov ecx, dword [0x1800e3610]
cmp eax, ecx
jne 0x1800596b7
mov rax, qword [0x1800e35a0]
test rax, rax
jne 0x1800596b7
mov dword [rsp + 0x320], 0
jmp 0x1800596c2
mov dword [rsp + 0x320], 1
movzx eax, byte [rsp + 0x46]
movsx eax, al
not eax
cmp eax, 0xc4
jne 0x180059735
movsx eax, byte [0x1800e3513]
test eax, eax
jne 0x1800596eb
mov dword [rsp + 0x314], 1
jmp 0x1800596f6
mov dword [rsp + 0x314], 0
cmp dword [rsp + 0x314], 0x697c37a9
je 0x180059710
mov dword [rsp + 0x318], 1
jmp 0x18005971b
mov dword [rsp + 0x318], 0
mov eax, dword [rsp + 0x318]
not eax
test eax, eax
jne 0x180059735
mov dword [rsp + 0x31c], 1
jmp 0x180059740
mov dword [rsp + 0x31c], 0
mov eax, dword [rsp + 0x31c]
cmp dword [rsp + 0x320], eax
jl 0x180059871
mov eax, dword [0x1800e35ac]
mov rcx, qword [0x1800e3568]
cmp rax, rcx
je 0x180059773
mov dword [rsp + 0x328], 1
jmp 0x18005977e
mov dword [rsp + 0x328], 0
cmp dword [0x1800e35ac], 0x4e
je 0x180059794
mov dword [rsp + 0x324], 1
jmp 0x18005979f
mov dword [rsp + 0x324], 0
mov eax, dword [rsp + 0x324]
cmp dword [rsp + 0x328], eax
jg 0x180059806
movzx eax, word [0x1800e35a8]
movzx eax, ax
mov ecx, dword [0x1800e3598]
xor eax, ecx
not eax
cdqe
movzx ecx, byte [rsp + 0x46]
movsx ecx, cl
not ecx
movsxd rcx, ecx
mov rdx, qword [0x1800e35b8]
imul rdx, rcx
mov rcx, rdx
mov edx, dword [rsp + 0x60]
mov edx, edx
xor rcx, rdx
sub rax, rcx
mov qword [0x1800e35f8], rax
movzx eax, word [rsp + 0x50]
imul eax, eax, 0x11
cdqe
mov qword [0x1800e3590], rax
jmp 0x180059871
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18005981a
mov byte [rsp + 0x41], 0x74
jmp 0x180059871
mov eax, dword [rsp + 0x60]
mov eax, eax
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
je 0x180059837
mov qword [0x1800e35e8], 4
jmp 0x180059871
movsx eax, byte [rsp + 0x45]
cmp eax, dword [rsp + 0x70]
jne 0x18005984f
mov dword [rsp + 0x32c], 1
jmp 0x18005985a
mov dword [rsp + 0x32c], 0
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x32c], eax
ja 0x180059871
mov dword [0x1800e359c], 0xe4367897
cmp dword [rsp + 0x6c], 0
je 0x18005987a
jmp 0x1800598e9
movsx eax, byte [0x1800e3563]
cmp eax, 0x1860
jl 0x180059895
mov dword [rsp + 0x334], 1
jmp 0x1800598a0
mov dword [rsp + 0x334], 0
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x1800598bf
mov eax, dword [0x1800e35f0]
test eax, eax
je 0x1800598bf
mov dword [rsp + 0x330], 0
jmp 0x1800598ca
mov dword [rsp + 0x330], 1
mov eax, dword [rsp + 0x330]
cmp dword [rsp + 0x334], eax
jge 0x1800598e9
mov rax, qword [0x1800e3570]
shr rax, 5
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x338]
mov ecx, 0xce8a
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x710]
mov edx, dword [rsp + 0x338]
xor ecx, edx
imul eax, ecx
xor eax, 0x1cd2e315
mov dword [rsp + 0x79c], eax
mov dword [0x1800e3584], 3
movzx eax, word [rsp + 0x4c]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
add eax, ecx
movzx ecx, word [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e3584]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0
je 0x18005997d
cmp dword [rsp + 0xec], 1
je 0x18005999f
cmp dword [rsp + 0xec], 2
je 0x1800599bb
cmp dword [rsp + 0xec], 3
je 0x180059a05
jmp 0x180059a11
mov eax, dword [0x1800e35b0]
add eax, 0x68
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x90]
sub rax, 0x3feb
mov word [rsp + 0x50], ax
jmp 0x180059a11
mov dword [0x1800e3514], 0x976ab3f7
movzx eax, byte [rsp + 0x43]
sub eax, 0xd8
mov byte [0x1800e3566], al
jmp 0x180059a11
movzx eax, word [rsp + 0x48]
cwde
not eax
cdqe
mov rcx, qword [0x1800e35d8]
imul rax, rcx
movsx rcx, byte [0x1800e3563]
mov rdx, qword [0x1800e3568]
imul rcx, rdx
mov edx, dword [0x1800e35ac]
mov rdi, qword [0x1800e3570]
imul rdi, rdx
mov rdx, rdi
sub rcx, rdx
xor rax, rcx
mov dword [0x1800e35b0], eax
jmp 0x180059a11
mov eax, dword [0x18094ab58]
mov dword [0x1800e35c0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x90]
cmp rax, qword [0x1800e35c8]
jg 0x180059a3c
mov dword [rsp + 0x340], 1
jmp 0x180059a47
mov dword [rsp + 0x340], 0
mov rax, qword [rsp + 0x90]
cmp rax, 0x3b
jg 0x180059a62
mov dword [rsp + 0x33c], 1
jmp 0x180059a6d
mov dword [rsp + 0x33c], 0
mov eax, dword [rsp + 0x33c]
cmp dword [rsp + 0x340], eax
jle 0x180059bc5
mov eax, dword [0x1800e358c]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
not ecx
cmp eax, ecx
ja 0x180059aa3
mov qword [rsp + 0x978], 1
jmp 0x180059aaf
mov qword [rsp + 0x978], 0
mov rax, qword [rsp + 0x978]
cmp qword [0x1800e3578], rax
jbe 0x180059acd
mov dword [rsp + 0x354], 1
jmp 0x180059ad8
mov dword [rsp + 0x354], 0
mov eax, dword [0x1800e3504]
cdqe
mov rcx, qword [0x1800e3568]
not rcx
cmp rax, rcx
jbe 0x180059afc
mov dword [rsp + 0x34c], 1
jmp 0x180059b07
mov dword [rsp + 0x34c], 0
movsx eax, byte [0x1800e3533]
test eax, eax
jne 0x180059b1f
mov dword [rsp + 0x344], 1
jmp 0x180059b2a
mov dword [rsp + 0x344], 0
mov eax, dword [rsp + 0x68]
cmp eax, dword [rsp + 0x344]
jbe 0x180059b44
mov dword [rsp + 0x348], 1
jmp 0x180059b4f
mov dword [rsp + 0x348], 0
mov eax, dword [rsp + 0x348]
cmp dword [rsp + 0x34c], eax
je 0x180059b6c
mov dword [rsp + 0x350], 1
jmp 0x180059b77
mov dword [rsp + 0x350], 0
mov eax, dword [rsp + 0x350]
mov ecx, dword [rsp + 0x354]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x180059ba1
movzx eax, word [rsp + 0x48]
cwde
add eax, 0xbdb445b8
mov word [0x1800e35c4], ax
jmp 0x180059bc5
movzx eax, byte [rsp + 0x43]
mov ecx, dword [0x1800e3584]
sub eax, ecx
movzx ecx, byte [rsp + 0x43]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x43], al
mov eax, 0xa202
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x14c]
add eax, 0xd4f3
mov dword [rsp + 0x714], eax
movzx eax, byte [rsp + 0x46]
movsx eax, al
add eax, 0x36
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x14c]
add eax, 0x4bcf
mov dword [rsp + 0xc08], eax
mov eax, dword [rsp + 0x14c]
add eax, 0xed
mov dword [rsp + 0x718], eax
lea rax, [rsp + 0xd28]
lea rcx, [0x1800b8b78]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xd28]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x78]
movabs rcx, 0x33a6098b44002
xor rax, rcx
movsx rcx, byte [rsp + 0x44]
imul rax, rcx
test rax, rax
jne 0x180059c69
mov dword [rsp + 0x358], 1
jmp 0x180059c74
mov dword [rsp + 0x358], 0
movzx eax, word [rsp + 0x4c]
mov ecx, dword [rsp + 0x60]
sub eax, ecx
movsx ecx, byte [0x1800e34eb]
add eax, ecx
mov ecx, dword [rsp + 0x358]
imul ecx, eax
mov eax, ecx
mov dword [0x1800e3608], eax
movzx eax, byte [0x1800e359c]
mov byte [0x1800e3533], al
mov eax, dword [rsp + 0x714]
mov ecx, dword [rsp + 0x718]
xor eax, ecx
add eax, 0xffff2cbc
mov dword [rsp + 0x7a0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x150], eax
mov byte [rsp + 0x40], 1
mov eax, dword [rsp + 0x74]
add eax, 0x4d7df777
cdqe
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x35c], al
cmp byte [rsp + 0x35c], 0
je 0x180059d1b
cmp byte [rsp + 0x35c], 1
je 0x180059d52
jmp 0x180059dac
movzx eax, byte [0x1800e3582]
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
movsx rax, byte [0x1800e3513]
movabs rcx, 0x6247184911884
add rax, rcx
mov word [rsp + 0x50], ax
jmp 0x180059dac
movzx eax, byte [rsp + 0x40]
movsx eax, al
movsx ecx, byte [0x1800e3533]
imul eax, ecx
movsx ecx, byte [rsp + 0x44]
imul ecx, dword [0x1800e359c]
add eax, ecx
cdqe
movsx ecx, byte [rsp + 0x44]
mov edx, dword [0x1800e35f0]
or ecx, edx
mov ecx, ecx
mov rdx, qword [0x1800e3600]
sub rcx, rdx
imul rax, rcx
mov byte [rsp + 0x45], al
mov rax, qword [0x1800e35d8]
mov ecx, 0xbb3a638f
imul rax, rcx
mov qword [0x1800e3578], rax
mov eax, dword [rsp + 0x150]
add eax, 0x72
mov dword [rsp + 0xc0c], eax
movzx eax, word [rsp + 0x58]
movzx eax, ax
test eax, eax
je 0x180059dfa
movsx eax, byte [0x1800e3563]
movsx ecx, byte [0x1800e3533]
add eax, ecx
mov byte [0x1800e3563], al
movsx rax, byte [rsp + 0x45]
movabs rcx, 0x4ceed422b02ed
add rax, rcx
mov dword [0x1800e3504], eax
jmp 0x180059e1a
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
je 0x180059e10
mov eax, dword [0x1800e3584]
test eax, eax
je 0x180059e1a
mov dword [0x1800e3534], 4
mov eax, dword [rsp + 0x150]
add eax, 0x3239
mov dword [rsp + 0xc10], eax
movzx eax, word [0x1800e35d0]
cwde
movzx ecx, byte [0x1800e355f]
sub eax, ecx
mov word [0x1800e35d0], ax
mov eax, dword [0x1800e3504]
cdqe
mov rcx, qword [0x1800e35c8]
lea rax, [rax + rcx + 0x94]
mov dword [0x1800e3504], eax
mov eax, dword [rsp + 0x150]
add eax, 0xae
mov dword [rsp + 0x71c], eax
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [0x1800e35b8]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35b8], rax
mov eax, dword [rsp + 0x71c]
mov ecx, 0xcb09
sub ecx, eax
mov eax, ecx
xor eax, 0xcbe3
mov ecx, dword [rsp + 0x720]
mov edx, 0x370
sub edx, ecx
mov ecx, edx
imul ecx, ecx, 0
sub eax, ecx
mov dword [rsp + 0x7a4], eax
movzx eax, byte [0x1800e3567]
cmp rax, qword [0x1800e3578]
jb 0x180059fc3
movzx eax, word [rsp + 0x58]
movzx eax, ax
cmp dword [0x1800e35c0], eax
jne 0x180059ef4
mov dword [rsp + 0x364], 1
jmp 0x180059eff
mov dword [rsp + 0x364], 0
cmp dword [0x1800e35c0], 6
jne 0x180059f15
mov dword [rsp + 0x360], 1
jmp 0x180059f20
mov dword [rsp + 0x360], 0
mov eax, dword [rsp + 0x360]
cmp dword [rsp + 0x364], eax
jl 0x180059f3d
mov dword [rsp + 0x60], 0xcb
jmp 0x180059fc1
movsx eax, byte [0x1800e3533]
test eax, eax
je 0x180059f5e
movsx eax, byte [0x1800e34eb]
movsx ecx, byte [rsp + 0x42]
add eax, ecx
mov byte [0x1800e34eb], al
jmp 0x180059fc1
movsx eax, byte [rsp + 0x44]
cmp eax, 0xd4
jl 0x180059f7a
movzx eax, word [rsp + 0x54]
movzx eax, ax
cmp dword [0x1800e35c0], eax
jge 0x180059f9d
movzx eax, byte [rsp + 0x43]
add eax, 0xfe920b2
mov byte [0x1800e355f], al
mov eax, dword [0x1800e35ac]
sub eax, 0x3002
mov byte [0x1800e3513], al
jmp 0x180059fc1
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x180059fc1
movsx eax, word [0x1800e360c]
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x180059fdb
movzx eax, byte [0x1800e3532]
movzx eax, al
cmp dword [rsp + 0x74], eax
je 0x180059fdb
mov dword [rsp + 0x6c], 0x1c285fdb
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x5c]
movzx ecx, byte [0x1800e3562]
movsx ecx, cl
cmp eax, ecx
jne 0x18005a05b
movsx eax, word [0x1800e360c]
mov ecx, dword [0x1800e3610]
cmp eax, ecx
jle 0x18005a01a
mov eax, dword [rsp + 0x60]
sub eax, 0xa6db
mov dword [rsp + 0x74], eax
jmp 0x18005a05b
movzx eax, word [0x1800e35a8]
movzx eax, ax
test eax, eax
jne 0x18005a05b
cmp qword [0x1800e3590], 0
je 0x18005a042
movsx eax, byte [0x1800e3513]
mov dword [rsp + 0x368], eax
jmp 0x18005a04d
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x368], eax
mov eax, dword [rsp + 0x368]
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x154]
add eax, 0x7d27
mov dword [rsp + 0xc14], eax
mov eax, dword [rsp + 0x154]
add eax, 0x62
mov dword [rsp + 0x728], eax
mov rax, qword [rsp + 0x90]
movzx ecx, byte [0x1800e3562]
movsx rcx, cl
cmp rax, rcx
jge 0x18005a0ce
movabs rax, 0x2c9fefbd57fa7
mov rcx, qword [0x1800e35b8]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e35c8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35c8], rax
mov byte [0x1800e3532], 0x58
jmp 0x18005a291
movsx eax, word [0x1800e35b4]
test eax, eax
jne 0x18005a0f2
mov rax, qword [0x1800e3600]
test rax, rax
jne 0x18005a0f2
mov dword [rsp + 0x36c], 0
jmp 0x18005a0fd
mov dword [rsp + 0x36c], 1
mov eax, dword [rsp + 0x36c]
add eax, 0xbb0
test eax, eax
jne 0x18005a151
mov eax, 8
imul rax, rax, 0x17
lea rcx, [0x1809ad070]
movsxd rdx, dword [rsp + 0x6c]
add rdx, qword [rcx + rax]
mov rax, rdx
mov dword [rsp + 0x6c], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
imul eax, dword [str.Bw8_]
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x18005a291
movzx eax, word [rsp + 0x50]
test eax, eax
je 0x18005a24f
cmp dword [0x1800e35b0], 0
jne 0x18005a174
mov dword [rsp + 0x370], 1
jmp 0x18005a17f
mov dword [rsp + 0x370], 0
cmp dword [0x1800e35ac], 0
jne 0x18005a195
mov dword [rsp + 0x374], 1
jmp 0x18005a1a0
mov dword [rsp + 0x374], 0
movsx eax, byte [rsp + 0x42]
not eax
mov ecx, dword [rsp + 0x68]
add eax, ecx
test eax, eax
jne 0x18005a1be
mov dword [rsp + 0x37c], 1
jmp 0x18005a1c9
mov dword [rsp + 0x37c], 0
movzx eax, byte [0x1800e3562]
movsx eax, al
test eax, eax
jne 0x18005a1e5
mov qword [rsp + 0x980], 1
jmp 0x18005a1f1
mov qword [rsp + 0x980], 0
mov rax, qword [rsp + 0x980]
mov rcx, qword [0x1800e35e8]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18005a218
mov dword [rsp + 0x378], 1
jmp 0x18005a223
mov dword [rsp + 0x378], 0
mov eax, dword [rsp + 0x370]
imul eax, dword [rsp + 0x374]
mov ecx, dword [rsp + 0x378]
mov edx, dword [rsp + 0x37c]
add edx, ecx
mov ecx, edx
not ecx
imul eax, ecx
mov dword [rsp + 0x74], eax
jmp 0x18005a291
movsx eax, byte [rsp + 0x42]
not eax
test eax, eax
je 0x18005a291
mov eax, 1
imul rax, rax, 0xa0
lea rcx, [0x180a4bc00]
movzx eax, byte [rcx + rax]
mov word [0x1800e3564], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov ecx, dword [0x1800e3584]
imul ecx, eax
mov eax, ecx
mov dword [0x1800e3584], eax
mov eax, dword [rsp + 0x154]
add eax, 0xfd
mov dword [rsp + 0x724], eax
mov eax, dword [rsp + 0x724]
mov ecx, dword [rsp + 0x728]
imul eax, ecx
mov ecx, 0x6398
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x7a8], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x158], eax
movsx eax, byte [rsp + 0x42]
movzx ecx, byte [0x1800e355e]
movsx ecx, cl
cmp eax, ecx
jg 0x18005a2f2
mov dword [rsp + 0x384], 1
jmp 0x18005a2fd
mov dword [rsp + 0x384], 0
movsx eax, byte [rsp + 0x42]
cmp eax, 9
jg 0x18005a314
mov dword [rsp + 0x380], 1
jmp 0x18005a31f
mov dword [rsp + 0x380], 0
mov eax, dword [rsp + 0x380]
cmp dword [rsp + 0x384], eax
je 0x18005a405
movsx eax, byte [0x1800e3533]
cmp eax, dword [0x1800e3608]
je 0x18005a34f
mov dword [rsp + 0x38c], 1
jmp 0x18005a35a
mov dword [rsp + 0x38c], 0
mov rax, qword [0x1800e3600]
mov rcx, qword [0x1800e35a0]
not rcx
cmp rax, rcx
jne 0x18005a37d
mov dword [rsp + 0x388], 1
jmp 0x18005a388
mov dword [rsp + 0x388], 0
mov eax, dword [rsp + 0x388]
not eax
mov ecx, dword [rsp + 0x38c]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005a3a7
mov byte [rsp + 0x44], 0x85
jmp 0x18005a403
cmp dword [rsp + 0x70], 0
jne 0x18005a3bb
mov dword [rsp + 0x390], 1
jmp 0x18005a3c6
mov dword [rsp + 0x390], 0
movzx eax, byte [0x1800e3562]
movsx eax, al
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
sub eax, ecx
mov ecx, dword [0x1800e35f0]
not ecx
movzx edx, word [0x1800e3614]
add ecx, edx
sub eax, ecx
movsx ecx, byte [rsp + 0x45]
imul ecx, dword [rsp + 0x390]
add eax, ecx
mov eax, eax
mov qword [rsp + 0x78], rax
jmp 0x18005a44a
imul rax, qword [0x1800e35b8], 0
cmp rax, 1
jb 0x18005a420
mov dword [rsp + 0x394], 1
jmp 0x18005a42b
mov dword [rsp + 0x394], 0
mov eax, dword [rsp + 0x394]
not eax
test eax, eax
je 0x18005a44a
movzx eax, byte [rsp + 0x46]
movsx eax, al
add eax, 0x7c7d
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x158]
add eax, 0x91
mov dword [rsp + 0x398], eax
mov eax, dword [rsp + 0x158]
add eax, 0x39
mov dword [rsp + 0xc18], eax
mov eax, dword [rsp + 0x158]
add eax, 0xa5
mov dword [rsp + 0xc1c], eax
movzx eax, word [rsp + 0x50]
test eax, eax
jne 0x18005a499
mov eax, 1
mov word [rsp + 0xa6], ax
jmp 0x18005a4a3
xor eax, eax
mov word [rsp + 0xa6], ax
movzx eax, word [rsp + 0xa6]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x398]
mov ecx, dword [rsp + 0x398]
xor eax, ecx
add eax, 0x3b9
mov dword [rsp + 0x7ac], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x15c], eax
mov eax, dword [0x1800e3534]
mov eax, eax
movabs rcx, 0x87afe3e3319b1
sub rax, rcx
mov byte [0x1800e355e], al
mov eax, dword [rsp + 0x15c]
add eax, 0xfe
mov dword [rsp + 0xc20], eax
mov eax, dword [rsp + 0x15c]
add eax, 0xf04f
mov dword [rsp + 0xc24], eax
mov eax, dword [rsp + 0x15c]
add eax, 0x60
mov dword [rsp + 0x72c], eax
mov rax, qword [0x1800e35d8]
mov rcx, qword [0x1800e35e0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e35e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov byte [0x1800e355e], 0xc1
movsx eax, byte [rsp + 0x45]
add eax, 0x249
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x72c]
mov ecx, 0x3a7c
sub ecx, eax
mov eax, ecx
xor eax, 0x3bb3
mov ecx, dword [rsp + 0x3a0]
mov edx, dword [rsp + 0x39c]
xor ecx, edx
mov edx, dword [rsp + 0x39c]
mov edi, dword [rsp + 0x3a0]
xor edx, edi
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x7b4], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x160], eax
mov rax, qword [0x1800e35e0]
not rax
movsx rcx, byte [0x1800e34eb]
cmp rax, rcx
jbe 0x18005a5de
jmp 0x18005a613
mov eax, dword [0x1800e3514]
test eax, eax
je 0x18005a5f8
movzx eax, byte [0x1800e3582]
mov dword [rsp + 0x3a4], eax
jmp 0x18005a607
movzx eax, byte [rsp + 0x46]
movsx eax, al
mov dword [rsp + 0x3a4], eax
movzx eax, byte [rsp + 0x3a4]
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x160]
add eax, 0x109
mov dword [rsp + 0xc28], eax
movzx eax, byte [rsp + 0x46]
movsx rax, al
mov rcx, qword [0x1800e35e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x160]
add eax, 0xb4
mov dword [rsp + 0x734], eax
cmp qword [0x1800e35c8], 0
je 0x18005a73a
movzx eax, byte [rsp + 0x43]
cmp rax, qword [0x1800e3590]
jne 0x18005a67f
mov dword [rsp + 0x3a8], 1
jmp 0x18005a68a
mov dword [rsp + 0x3a8], 0
movzx eax, word [0x1800e35a8]
movzx eax, ax
cmp eax, dword [rsp + 0x3a8]
jge 0x18005a6f4
movzx eax, word [0x1800e3614]
cmp qword [0x1800e35e8], rax
jae 0x18005a6bb
mov qword [rsp + 0x988], 1
jmp 0x18005a6c7
mov qword [rsp + 0x988], 0
mov rax, qword [rsp + 0x988]
cmp qword [0x1800e3590], rax
jae 0x18005a6f4
mov rax, qword [rsp + 0x80]
movabs rcx, 0xedb60f4b36a3a
imul rax, rcx
mov byte [rsp + 0x45], al
jmp 0x18005a73a
mov eax, dword [0x1800e35f4]
test eax, eax
jne 0x18005a714
mov eax, dword [0x1800e3598]
test eax, eax
jne 0x18005a714
mov eax, dword [rsp + 0x74]
cmp dword [0x1800e359c], eax
jle 0x18005a73a
movzx eax, byte [0x1800e3567]
mov ecx, dword [0x1800e358c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e358c]
and ecx, eax
mov eax, ecx
mov dword [0x1800e358c], eax
mov byte [rsp + 0x44], 0x11
mov eax, dword [rsp + 0x160]
add eax, 0xc01e
mov dword [rsp + 0x730], eax
mov eax, dword [rsp + 0x60]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp eax, ecx
jne 0x18005a7a1
movzx eax, word [rsp + 0x4c]
cmp qword [0x1800e35b8], rax
jbe 0x18005a79f
mov eax, dword [0x1800e35d4]
mov eax, eax
movabs rcx, 0xd1db7aa3fb6a8
sub rax, rcx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x60]
mov eax, eax
movabs rcx, 0xd8392e9c62679
imul rax, rcx
mov qword [0x1800e35f8], rax
jmp 0x18005a7f4
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18005a7be
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov qword [rsp + 0x990], rax
jmp 0x18005a7cb
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x990], rax
movzx eax, word [rsp + 0x990]
mov word [rsp + 0x4c], ax
movsxd rax, dword [0x1800e359c]
movabs rcx, 0x1ca80d65b24b1
imul rax, rcx
mov qword [0x1800e35a0], rax
movzx eax, word [rsp + 0x4c]
add eax, 0x5536b600
cdqe
mov qword [0x1800e3570], rax
mov eax, dword [rsp + 0x730]
mov ecx, dword [rsp + 0x734]
add eax, ecx
mov ecx, 0xc451
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x7b8], eax
movzx eax, word [0x1800e3564]
inc ax
mov word [0x1800e3564], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x164], eax
movzx eax, byte [0x1800e3582]
movzx ecx, word [0x1800e3614]
cmp eax, ecx
je 0x18005a864
mov dword [rsp + 0x3ac], 1
jmp 0x18005a86f
mov dword [rsp + 0x3ac], 0
mov rax, qword [0x1800e3570]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
cmp rax, rcx
jb 0x18005a890
mov dword [rsp + 0x3b0], 1
jmp 0x18005a89b
mov dword [rsp + 0x3b0], 0
mov eax, dword [rsp + 0x3ac]
not eax
cmp eax, dword [rsp + 0x3b0]
jle 0x18005a9c3
mov eax, dword [0x1800e3584]
test eax, eax
je 0x18005a8d2
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18005a8d2
mov dword [rsp + 0x3b8], 1
jmp 0x18005a8dd
mov dword [rsp + 0x3b8], 0
movsx rax, byte [rsp + 0x45]
movabs rcx, 0xbd5aa9d9763ee
cmp rax, rcx
jne 0x18005a8ff
mov dword [rsp + 0x3b4], 1
jmp 0x18005a90a
mov dword [rsp + 0x3b4], 0
mov eax, dword [rsp + 0x3b4]
mov ecx, dword [rsp + 0x3b8]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x18005a9c3
movzx eax, byte [rsp + 0x43]
not eax
mov ecx, dword [rsp + 0x60]
cmp eax, ecx
ja 0x18005a96a
movzx eax, word [0x1800e35c4]
cwde
mov ecx, dword [0x1800e3504]
cmp eax, ecx
jl 0x18005a952
mov dword [rsp + 0x3bc], 1
jmp 0x18005a95d
mov dword [rsp + 0x3bc], 0
mov eax, dword [rsp + 0x3bc]
not eax
test eax, eax
jne 0x18005a979
mov eax, dword [rsp + 0x74]
sub eax, 0xea
mov byte [rsp + 0x40], al
jmp 0x18005a9c1
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x18005a9a9
mov eax, dword [rsp + 0x5c]
and eax, 0x37979e22
mov word [rsp + 0x58], ax
mov eax, 1
mov word [0x1800e3564], ax
jmp 0x18005a9c1
movsx eax, byte [rsp + 0x42]
test eax, eax
je 0x18005a9c1
movzx eax, word [rsp + 0x48]
cwde
sar eax, 2
mov byte [0x1800e3532], al
jmp 0x18005aa1f
movzx eax, word [rsp + 0x58]
movzx eax, ax
mov rcx, qword [0x1800e3578]
not rcx
cmp rax, rcx
jae 0x18005a9e7
mov dword [rsp + 0x3c0], 1
jmp 0x18005a9f2
mov dword [rsp + 0x3c0], 0
movzx eax, word [0x1800e3564]
cwde
cmp dword [rsp + 0x3c0], eax
jge 0x18005aa1f
movsxd rax, dword [rsp + 0x70]
mov rcx, qword [0x1800e3600]
sub rcx, qword [0x1800e35f8]
imul rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x164]
add eax, 0xff60
mov dword [rsp + 0x73c], eax
mov eax, dword [0x1800e3514]
movsx ecx, byte [0x1800e34eb]
cmp eax, ecx
jge 0x18005aa50
mov dword [rsp + 0x3c8], 1
jmp 0x18005aa5b
mov dword [rsp + 0x3c8], 0
mov eax, dword [0x1800e3514]
cmp eax, 0x23
jge 0x18005aa73
mov dword [rsp + 0x3c4], 1
jmp 0x18005aa7e
mov dword [rsp + 0x3c4], 0
mov eax, dword [rsp + 0x3c4]
mov eax, dword [rsp + 0x164]
add eax, 0x6b
mov dword [rsp + 0xc30], eax
mov eax, dword [rsp + 0x164]
add eax, 0xa7
mov dword [rsp + 0x738], eax
mov rax, qword [0x1800e35f8]
add rax, 0xde52
mov qword [0x1800e3600], rax
movzx eax, byte [rsp + 0x40]
movsx eax, al
cmp eax, dword [0x1800e35c0]
jl 0x18005aacf
jmp 0x18005ab1a
movzx eax, word [rsp + 0x50]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x70], 0
jne 0x18005aaf5
mov qword [rsp + 0x998], 1
jmp 0x18005ab01
mov qword [rsp + 0x998], 0
mov rax, qword [0x1800e35d8]
mov rcx, qword [rsp + 0x998]
and rcx, rax
mov rax, rcx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x738]
mov ecx, dword [rsp + 0x73c]
or eax, ecx
mov ecx, 0x10277
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x7bc], eax
movzx eax, word [rsp + 0x58]
movzx eax, ax
cmp eax, dword [0x1800e35ac]
jbe 0x18005ab84
mov eax, dword [rsp + 0x64]
mov ecx, dword [0x1800e3608]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e3608]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e3608], eax
movzx eax, word [0x1800e35a8]
movzx eax, ax
sar eax, 3
cdqe
mov qword [rsp + 0x90], rax
jmp 0x18005ac2a
mov eax, dword [0x1800e3504]
not eax
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp eax, ecx
je 0x18005aba5
mov dword [rsp + 0x3d0], 1
jmp 0x18005abb0
mov dword [rsp + 0x3d0], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp eax, ecx
jl 0x18005abd1
mov dword [rsp + 0x3cc], 1
jmp 0x18005abdc
mov dword [rsp + 0x3cc], 0
mov eax, dword [rsp + 0x3cc]
cmp dword [rsp + 0x3d0], eax
jl 0x18005ac2a
movzx eax, word [rsp + 0x4c]
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18005ac0f
mov eax, dword [0x1800e358c]
mov dword [rsp + 0x3d4], eax
jmp 0x18005ac1c
mov eax, dword [0x1800e3610]
mov dword [rsp + 0x3d4], eax
mov eax, dword [rsp + 0x3d4]
mov qword [0x1800e35f8], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x168], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, 8
imul rcx, rcx, 0x2871
lea rdx, [0x180a6ee10]
mov qword [rdx + rcx], rax
movzx eax, byte [rsp + 0x43]
mov ecx, dword [rsp + 0x74]
imul ecx, eax
mov eax, ecx
mov word [0x1800e35c4], ax
mov eax, dword [rsp + 0x168]
add eax, 0x1b
mov dword [rsp + 0xc34], eax
mov eax, dword [rsp + 0x168]
add eax, 0x2da7
mov dword [rsp + 0xc38], eax
mov rax, qword [0x1800e35a0]
sub rax, 0xd3086f6
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x168]
add eax, 0x6402
mov dword [rsp + 0xc3c], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movsx ecx, word [0x1800e3560]
sub eax, ecx
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
xor ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
mov dword [rsp + 0x7c0], 0x50
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x16c], eax
movzx eax, word [0x1800e35c4]
cwde
test eax, eax
je 0x18005ad33
movsx rax, byte [rsp + 0x42]
mov rcx, qword [0x1800e3568]
cmp rax, rcx
jb 0x18005ad2e
mov eax, dword [0x1800e35f0]
mov eax, eax
mov rcx, qword [0x1800e35d8]
add rax, rcx
mov dword [0x1800e35f0], eax
movsx rax, byte [rsp + 0x44]
mov qword [rsp + 0x78], rax
jmp 0x18005ae36
movzx eax, byte [rsp + 0x46]
movsx rax, al
movabs rcx, 0xfffacaaa8ba1e9e3
cmp rax, rcx
je 0x18005ad58
mov dword [rsp + 0x3d8], 1
jmp 0x18005ad63
mov dword [rsp + 0x3d8], 0
movzx eax, word [rsp + 0x50]
cmp dword [rsp + 0x3d8], eax
jle 0x18005ad84
mov eax, dword [0x1800e358c]
dec eax
mov dword [0x1800e358c], eax
jmp 0x18005ae36
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x18005ad99
mov dword [rsp + 0x3dc], 1
jmp 0x18005ada4
mov dword [rsp + 0x3dc], 0
movzx eax, byte [0x1800e355e]
movsx eax, al
add eax, dword [rsp + 0x3dc]
cdqe
mov rcx, qword [rsp + 0x80]
cmp rax, rcx
jae 0x18005add7
mov eax, dword [0x1800e35b0]
sub eax, 0x6438
mov byte [0x1800e3567], al
jmp 0x18005ae36
cmp dword [0x1800e35b0], 0
jne 0x18005aded
mov dword [rsp + 0x3e4], 1
jmp 0x18005adf8
mov dword [rsp + 0x3e4], 0
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x5c]
cmp eax, ecx
je 0x18005ae11
mov dword [rsp + 0x3e0], 1
jmp 0x18005ae1c
mov dword [rsp + 0x3e0], 0
mov eax, dword [rsp + 0x3e0]
cmp dword [rsp + 0x3e4], eax
jge 0x18005ae36
mov eax, 0xf573
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x16c]
add eax, 0xcf0a
mov dword [rsp + 0x744], eax
mov eax, dword [rsp + 0x5c]
movzx ecx, word [0x1800e35c4]
movsx ecx, cx
cmp eax, ecx
je 0x18005ae9f
cmp dword [rsp + 0x74], 0
je 0x18005ae7e
mov eax, dword [rsp + 0x70]
add eax, 0x5d0e2383
mov dword [0x1800e3598], eax
movzx eax, word [rsp + 0x4c]
mov dword [0x1800e35ac], eax
jmp 0x18005ae9d
movzx eax, word [0x1800e3580]
movzx eax, ax
sub eax, 0xf143
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18094ab58]
mov dword [0x1800e3608], eax
jmp 0x18005aec6
movzx eax, byte [0x1800e3567]
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
cmp eax, ecx
je 0x18005aec6
movzx eax, word [rsp + 0x48]
cwde
sub eax, 0xfa
cdqe
mov qword [0x1800e35c8], rax
mov eax, dword [rsp + 0x16c]
add eax, 0x19
mov dword [rsp + 0xc40], eax
mov byte [0x1800e3533], 1
mov eax, dword [rsp + 0x16c]
add eax, 0xd3
mov dword [rsp + 0x740], eax
mov eax, dword [0x1800e3584]
mov eax, eax
movabs rcx, 0xe7b4536aaa622
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x18005af10
jmp 0x18005af7d
cmp qword [0x1800e35e8], 0
jne 0x18005af23
movsx eax, byte [rsp + 0x44]
test eax, eax
je 0x18005af36
movsx eax, byte [rsp + 0x45]
add eax, 0x62
cdqe
mov qword [0x1800e3568], rax
jmp 0x18005af7d
mov eax, dword [0x1800e3610]
cmp dword [rsp + 0x6c], eax
je 0x18005af4f
mov dword [rsp + 0x3e8], 1
jmp 0x18005af5a
mov dword [rsp + 0x3e8], 0
mov eax, dword [rsp + 0x3e8]
cmp dword [0x1800e35ac], eax
jbe 0x18005af7d
mov eax, dword [0x1800e35ac]
add eax, 0x9b2e
mov eax, eax
mov qword [0x1800e3578], rax
movzx eax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jle 0x18005af99
mov dword [rsp + 0x3f0], 1
jmp 0x18005afa4
mov dword [rsp + 0x3f0], 0
movzx eax, word [rsp + 0x4c]
cmp eax, 6
jle 0x18005afbb
mov dword [rsp + 0x3ec], 1
jmp 0x18005afc6
mov dword [rsp + 0x3ec], 0
mov eax, dword [rsp + 0x3ec]
cmp dword [rsp + 0x3f0], eax
jle 0x18005b0a0
mov dword [0x1800e35c0], 2
movsxd rax, dword [rsp + 0x70]
movabs rcx, 0x43b868ce41483
imul rax, rcx
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x74]
add eax, 0x3161eb65
mov byte [rsp + 0x42], al
mov eax, dword [0x1800e35c0]
mov dword [rsp + 0x170], eax
cmp dword [rsp + 0x170], 0
je 0x18005b036
cmp dword [rsp + 0x170], 1
je 0x18005b06c
mov eax, 4
imul rax, rax, 0x27
lea rcx, [0x1809a6540]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x42], al
mov rax, qword [rsp + 0x78]
sub rax, qword [0x1800e35e0]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x18005b09e
cmp dword [rsp + 0x70], 0
jne 0x18005b0ca
mov byte [0x1800e3563], 0x2a
movzx eax, byte [rsp + 0x40]
movsx rax, al
movabs rcx, 0xd4ef875ddbf33
xor rax, rcx
mov dword [rsp + 0x5c], eax
jmp 0x18005b0e4
mov eax, dword [0x1800e35d4]
test eax, eax
je 0x18005b0e4