Function at 0x1800a7900
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x418
mov dword [rsp + 0x388], 0x6fb921
mov rax, qword [0x180146cf8]
mov word [rsp + 0x58], ax
movzx eax, byte [0x180146bee]
movsx eax, al
mov dword [rsp + 0x68], eax
movzx eax, byte [0x180146c2f]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x90], 0x16c5ca51
mov rax, qword [0x180146d68]
mov qword [rsp + 0x78], rax
movzx eax, word [0x180146d58]
mov byte [rsp + 0x42], al
mov qword [rsp + 0x88], 0x18
movabs rax, 0xb820a3464a87d
mov qword [rsp + 0xa8], rax
mov eax, 0x8c1
mov word [rsp + 0x48], ax
mov byte [rsp + 0x4c], 7
movzx eax, byte [0x180146c87]
movzx eax, al
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x45], 0x2d
mov eax, dword [0x180146c04]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x41], 0x53
mov dword [rsp + 0x60], 0xe5
movzx eax, byte [0x180146bc7]
movsx eax, al
mov dword [rsp + 0x5c], eax
mov rax, qword [0x180146cf8]
mov qword [rsp + 0x70], rax
movzx eax, byte [0x180146d2c]
mov byte [rsp + 0x44], al
movzx eax, word [0x180146d60]
mov word [rsp + 0x54], ax
movzx eax, word [0x180146d60]
mov qword [rsp + 0xa0], rax
movzx eax, byte [0x180146d2c]
mov byte [rsp + 0x43], al
mov eax, 0x90
mov word [rsp + 0x50], ax
mov eax, 0xb821
mov word [rsp + 0x31c], ax
movzx eax, word [0x180146c5c]
mov word [rsp + 0x320], ax
mov dword [rsp + 0x38c], 0x40babe5e
mov qword [rsp + 0x3f8], 0xe9e5
mov byte [rsp + 0xe8], 0x18
movzx eax, byte [0x180146c03]
mov byte [rsp + 0xc4], al
movzx eax, byte [0x180146d08]
mov byte [rsp + 0xc5], al
mov eax, 0x2819
mov word [rsp + 0x300], ax
movzx eax, word [0x180146d28]
mov byte [rsp + 0xc6], al
mov dword [rsp + 0x390], 0x24
movzx eax, byte [0x180146c5f]
mov word [rsp + 0x304], ax
mov qword [rsp + 0x400], 0xb8e3
mov dword [rsp + 0x394], 0xfa026150
mov eax, 0x2612
mov word [rsp + 0x308], ax
movzx eax, byte [0x180146d3c]
mov byte [rsp + 0xc7], al
mov eax, 0x5b
mov word [rsp + 0x30c], ax
movzx eax, byte [0x181001ff0]
mov byte [0x180146caf], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xc8], eax
movzx eax, byte [rsp + 0x42]
movsx eax, al
test eax, eax
jne 0x1800a7b1c
mov dword [rsp + 0x290], 1
jmp 0x1800a7b27
mov dword [rsp + 0x290], 0
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov ecx, dword [rsp + 0x290]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
not ecx
mov edx, dword [0x180146d48]
xor edx, ecx
mov ecx, edx
add eax, ecx
test eax, eax
jne 0x1800a7b61
mov dword [rsp + 0x124], 1
jmp 0x1800a7b6c
mov dword [rsp + 0x124], 0
cmp qword [rsp + 0xa0], 0
jne 0x1800a7b84
mov dword [rsp + 0x120], 1
jmp 0x1800a7b8f
mov dword [rsp + 0x120], 0
mov rax, qword [0x180146d50]
test rax, rax
jne 0x1800a7ba8
mov dword [rsp + 0x11c], 1
jmp 0x1800a7bb3
mov dword [rsp + 0x11c], 0
movzx eax, byte [0x180146bef]
movzx eax, al
movzx ecx, byte [rsp + 0x42]
movsx ecx, cl
xor eax, ecx
mov ecx, dword [rsp + 0x11c]
mov edx, dword [rsp + 0x120]
add edx, ecx
mov ecx, edx
sub eax, ecx
mov ecx, dword [rsp + 0x124]
sub ecx, eax
mov eax, ecx
cdqe
mov qword [0x180146d50], rax
mov eax, dword [rsp + 0xc8]
add eax, 0xd8
mov dword [rsp + 0x3bc], eax
mov eax, dword [rsp + 0xc8]
add eax, 0x6a
mov dword [rsp + 0x194], eax
movzx eax, byte [rsp + 0x40]
movsx rax, al
movabs rcx, 0xb1324553ca9dd
sub rax, rcx
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0xc8]
add eax, 0x174
mov dword [rsp + 0x198], eax
movsx eax, word [0x180146d3c]
imul eax, eax, 0x6e
movsx ecx, word [0x180146d5c]
add ecx, eax
mov eax, ecx
mov word [0x180146d5c], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x60], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
cmp rax, rcx
je 0x1800a7c92
mov dword [rsp + 0x12c], 1
jmp 0x1800a7c9d
mov dword [rsp + 0x12c], 0
mov rax, qword [rsp + 0x70]
cmp rax, 0x13
je 0x1800a7cb5
mov dword [rsp + 0x128], 1
jmp 0x1800a7cc0
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x128]
cmp dword [rsp + 0x12c], eax
jg 0x1800a7d09
movsx rax, word [0x180146d3c]
sub rax, qword [rsp + 0x78]
movsx rcx, word [0x180146d3c]
sub rcx, rax
mov rax, rcx
mov word [0x180146d3c], ax
mov rax, qword [rsp + 0xa8]
shl rax, 5
mov dword [0x180146d14], eax
jmp 0x1800a7dad
movzx eax, byte [rsp + 0x43]
movsx eax, al
mov ecx, dword [rsp + 0x60]
not ecx
cmp eax, ecx
je 0x1800a7d28
mov dword [rsp + 0x130], 1
jmp 0x1800a7d33
mov dword [rsp + 0x130], 0
cmp dword [rsp + 0x130], 0xee47bf02
ja 0x1800a7dad
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
jne 0x1800a7d5a
mov qword [rsp + 0x350], 1
jmp 0x1800a7d66
mov qword [rsp + 0x350], 0
mov rax, qword [rsp + 0x70]
not rax
sub rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x350]
imul rcx, rax
mov rax, rcx
movabs rcx, 0xf6e77a4d0a7a8
imul rax, rcx
mov qword [rsp + 0x88], rax
movsx eax, word [0x180146d5c]
sub eax, 0xe36fa50b
mov dword [0x180146d64], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x3c
mov dword [rsp + 0x1ac], eax
mov byte [0x180146c5e], 0
movzx eax, byte [rsp + 0x44]
movzx eax, al
sub eax, 0xb05c
movzx ecx, byte [rsp + 0x45]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x45], al
movzx eax, byte [0x180146c5e]
mov byte [rsp + 0x318], al
cmp byte [rsp + 0x318], 0
je 0x1800a7dfc
jmp 0x1800a7e09
mov rax, qword [0x180146d20]
mov byte [0x180146c87], al
mov eax, dword [rsp + 0xcc]
add eax, 0x187
mov dword [rsp + 0x2b0], eax
movzx eax, byte [0x180146c2f]
movsx eax, al
test eax, eax
je 0x1800a7e58
mov eax, dword [0x180146d64]
not eax
test eax, eax
je 0x1800a7e58
mov eax, 1
mov word [rsp + 0x58], ax
mov rax, qword [0x180146d50]
movabs rcx, 0x83ae1f55c3ef8
sub rax, rcx
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xcc]
add eax, 0x140
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x78]
add rax, 0x7505b4f7
movzx ecx, word [0x180146d28]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x180146d28], ax
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x1800a7ea9
movsx rax, word [0x180146d08]
mov qword [rsp + 0x358], rax
jmp 0x1800a7eb9
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x358], rax
movzx eax, byte [rsp + 0x358]
mov byte [rsp + 0x40], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xd0], eax
xor r9d, r9d
mov r8d, 0x77
xor edx, edx
xor ecx, ecx
call fcn.180094760
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
jl 0x1800a7f91
movsx eax, word [0x180146d08]
mov r8d, eax
xor edx, edx
mov ecx, 0x3d
call fcn.1800953a0
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
jge 0x1800a7f79
mov rax, qword [0x180146cf8]
test rax, rax
je 0x1800a7f44
imul eax, dword [rsp + 0x68], 0x86
movzx ecx, byte [0x180146bc7]
movsx ecx, cl
xor ecx, eax
mov eax, ecx
mov byte [0x180146bc7], al
jmp 0x1800a7f77
movzx eax, word [rsp + 0x48]
cwde
not eax
test eax, eax
je 0x1800a7f77
mov eax, 1
imul rax, rax, 0x158
lea rcx, [0x181084010]
movsx eax, byte [rcx + rax]
movzx ecx, byte [rsp + 0x42]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x42], al
jmp 0x1800a7f8f
mov eax, 0xffff98f8
mov word [0x180146d3c], ax
mov eax, 0x4ee
mov word [rsp + 0x50], ax
jmp 0x1800a7fac
movzx eax, word [rsp + 0x58]
movabs rcx, 0xb6c57fe2c5e96
imul rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xd0]
add eax, 0x3d2
mov dword [rsp + 0x1f8], eax
mov qword [0x180146d00], 0
movzx eax, byte [0x180146bef]
movzx eax, al
test eax, eax
jne 0x1800a7fe5
mov dword [rsp + 0x134], 1
jmp 0x1800a7ff0
mov dword [rsp + 0x134], 0
movzx eax, byte [0x180146c41]
movzx eax, al
mov ecx, dword [rsp + 0x134]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x50], ax
movzx eax, byte [0x180146c42]
movsx eax, al
test eax, eax
jne 0x1800a8026
mov qword [rsp + 0x360], 1
jmp 0x1800a8032
mov qword [rsp + 0x360], 0
movzx eax, byte [rsp + 0x4c]
movzx eax, al
movzx ecx, byte [0x180146c86]
sub eax, ecx
cdqe
movzx ecx, word [rsp + 0x48]
movsx rcx, cx
xor rcx, qword [rsp + 0x88]
imul rax, rcx
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x360]
add rdx, rcx
mov rcx, rdx
add rax, rcx
test rax, rax
jne 0x1800a8083
mov qword [rsp + 0x368], 1
jmp 0x1800a808f
mov qword [rsp + 0x368], 0
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x180146d00]
mov qword [rsp + 0x3f0], rax
cmp qword [rsp + 0x3f0], 0
je 0x1800a80bb
jmp 0x1800a80cc
mov rax, qword [0x180146cf8]
not rax
mov qword [0x180146d18], rax
mov eax, dword [rsp + 0xd0]
add eax, 0x3ad
mov dword [rsp + 0x3b8], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x130
mov dword [rsp + 0x3b4], eax
mov qword [rsp + 0x90], 2
mov rax, qword [rsp + 0x90]
sub rax, 0x3e9a
mov byte [rsp + 0x45], al
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x310], rax
cmp qword [rsp + 0x310], 0
je 0x1800a8143
cmp qword [rsp + 0x310], 1
je 0x1800a815c
cmp qword [rsp + 0x310], 2
je 0x1800a816a
jmp 0x1800a817f
movzx eax, byte [0x180146c5e]
movzx ecx, byte [0x180146c5e]
imul eax, ecx
mov byte [0x180146c5e], al
jmp 0x1800a817f
movzx eax, word [0x181001ff0]
mov word [rsp + 0x50], ax
jmp 0x1800a817f
movzx eax, byte [rsp + 0x40]
movsx eax, al
movzx ecx, byte [0x180146c5f]
add eax, ecx
mov byte [rsp + 0x40], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xd4], eax
movsx eax, word [0x180146c5c]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
movzx edx, byte [0x180146c2e]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r9d, 0x20
mov r8d, edx
xor edx, edx
xor ecx, ecx
call fcn.180094460
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
je 0x1800a81da
mov dword [rsp + 0x13c], 1
jmp 0x1800a81e5
mov dword [rsp + 0x13c], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0x1b
je 0x1800a81ff
mov dword [rsp + 0x138], 1
jmp 0x1800a820a
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
cmp dword [rsp + 0x13c], eax
je 0x1800a82ce
mov rax, qword [0x180146d50]
test rax, rax
jne 0x1800a8237
mov dword [rsp + 0x140], 1
jmp 0x1800a8242
mov dword [rsp + 0x140], 0
mov eax, dword [0x180146d4c]
cmp eax, dword [rsp + 0x140]
jbe 0x1800a826b
mov rax, qword [rsp + 0x78]
not rax
test rax, rax
je 0x1800a826b
mov dword [rsp + 0x144], 1
jmp 0x1800a8276
mov dword [rsp + 0x144], 0
movsx eax, word [0x180146d10]
cmp eax, dword [rsp + 0x144]
jl 0x1800a829f
mov eax, dword [rsp + 0x64]
mov eax, eax
movabs rcx, 0x75a1642529f4d
sub rax, rcx
mov dword [rsp + 0x5c], eax
jmp 0x1800a82c9
mov rax, qword [0x180146d20]
test rax, rax
je 0x1800a82c9
movabs rax, 0xf656f81354fa8
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov byte [0x180146c2f], al
jmp 0x1800a8360
movsx rax, word [0x180146d30]
cmp qword [rsp + 0xa0], rax
jg 0x1800a82ed
mov dword [rsp + 0x14c], 1
jmp 0x1800a82f8
mov dword [rsp + 0x14c], 0
movzx eax, word [rsp + 0x58]
cmp eax, 0xc9
jl 0x1800a8311
mov dword [rsp + 0x148], 1
jmp 0x1800a831c
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x14c], eax
je 0x1800a8360
movzx eax, byte [rsp + 0x45]
movzx eax, al
movzx ecx, word [0x180146d60]
sub eax, ecx
mov byte [rsp + 0x45], al
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
mov rcx, qword [0x180146d00]
sub rcx, rax
mov rax, rcx
mov qword [0x180146d00], rax
mov eax, dword [rsp + 0xd4]
add eax, 0x42
mov dword [rsp + 0x3b0], eax
mov dword [rsp + 0x30], 0xbe
mov dword [rsp + 0x28], 0xfc
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
xor edx, edx
mov ecx, 0xe1
call fcn.180094b10
mov byte [0x180146bee], al
movzx eax, byte [0x180146bee]
movsx eax, al
test eax, eax
jg 0x1800a83be
mov dword [rsp + 0x154], 1
jmp 0x1800a83c9
mov dword [rsp + 0x154], 0
movzx eax, byte [0x180146bee]
movsx eax, al
cmp eax, 0x56
jg 0x1800a83e5
mov dword [rsp + 0x150], 1
jmp 0x1800a83f0
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
cmp dword [rsp + 0x154], eax
jne 0x1800a8465
cmp dword [rsp + 0x60], 0
je 0x1800a844f
mov eax, 4
imul rax, rax, 0x604f
lea rcx, [0x18110c530]
movzx edx, byte [0x180146c86]
sub edx, dword [rcx + rax]
mov eax, edx
mov byte [0x180146c86], al
mov eax, 4
imul rax, rax, 6
lea rcx, [0x181204690]
mov edx, dword [0x180146d14]
xor edx, dword [rcx + rax]
mov eax, edx
mov dword [0x180146d14], eax
jmp 0x1800a8465
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
imul eax, eax, 0x64f88070
mov byte [0x180146c5f], al
mov eax, dword [rsp + 0xd4]
add eax, 0xf181
mov dword [rsp + 0xd8], eax
movzx eax, byte [rsp + 0x41]
movsx rax, al
add rax, qword [rsp + 0x88]
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xd4]
add eax, 0x99
mov dword [rsp + 0x3ac], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
jne 0x1800a84b9
mov dword [rsp + 0x158], 1
jmp 0x1800a84c4
mov dword [rsp + 0x158], 0
cmp qword [0x180146d00], 0x81
jbe 0x1800a84de
mov dword [rsp + 0x15c], 1
jmp 0x1800a84e9
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x158]
add ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x15c]
jle 0x1800a857f
mov eax, dword [0x180146d64]
mov eax, eax
cmp rax, qword [rsp + 0x98]
jbe 0x1800a8520
mov dword [rsp + 0x164], 1
jmp 0x1800a852b
mov dword [rsp + 0x164], 0
mov eax, dword [0x180146d64]
cmp eax, 0x21
jbe 0x1800a8543
mov dword [rsp + 0x160], 1
jmp 0x1800a854e
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
cmp dword [rsp + 0x164], eax
jle 0x1800a857a
mov eax, 8
imul rax, rax, 0x304
lea rcx, [0x18106ff00]
mov eax, dword [rcx + rax]
mov dword [0x180146d2c], eax
jmp 0x1800a8697
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
je 0x1800a85ae
movsx rax, word [0x180146d30]
mov qword [0x180146d40], rax
movabs rax, 0x1b4b71f5d383f
mov qword [0x180146d68], rax
jmp 0x1800a8697
movsx eax, word [0x180146d08]
test eax, eax
jne 0x1800a85d4
movzx eax, byte [rsp + 0x40]
movsx eax, al
not eax
test eax, eax
jne 0x1800a85d4
mov dword [rsp + 0x16c], 0
jmp 0x1800a85df
mov dword [rsp + 0x16c], 1
movzx eax, word [0x180146d28]
cwde
cmp eax, 0xa7
jge 0x1800a85fb
mov dword [rsp + 0x168], 1
jmp 0x1800a8606
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
cmp dword [rsp + 0x16c], eax
jne 0x1800a863c
movzx eax, byte [rsp + 0x40]
movsx rax, al
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x1800a8697
movzx eax, byte [rsp + 0x41]
movsx rax, al
mov rcx, qword [0x180146d40]
cmp rax, rcx
jae 0x1800a865e
mov dword [rsp + 0x170], 1
jmp 0x1800a8669
mov dword [rsp + 0x170], 0
movzx eax, byte [0x180146c2e]
cmp dword [rsp + 0x170], eax
jle 0x1800a8697
movzx eax, word [0x180146d58]
mov ecx, 2
imul rcx, rcx, 0x2a23
lea rdx, [0x181128bd0]
mov word [rdx + rcx], ax
movzx eax, word [0x180146d60]
sub eax, 0x4e7
mov byte [0x180146c5b], al
movzx eax, word [0x181001ff0]
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0xd8]
sub eax, 0xbe90
mov ecx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0xd8]
or ecx, edx
or eax, ecx
mov ecx, 0xf532
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c8], eax
cmp qword [0x180146d00], 0
jne 0x1800a86fb
mov qword [rsp + 0x370], 1
jmp 0x1800a8707
mov qword [rsp + 0x370], 0
mov rax, qword [rsp + 0x370]
mov qword [0x180146d18], rax
movabs rax, 0x55c4547d83fb
mov rcx, qword [0x180146cf0]
sub rcx, rax
mov rax, rcx
mov dword [0x180146c04], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xdc], eax
mov eax, dword [0x180146d64]
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
cmp eax, ecx
jb 0x1800a87b2
xor r9d, r9d
mov r8d, 0x1e
mov edx, 0x53
mov ecx, dword [rsp + 0x60]
call fcn.180094760
mov eax, eax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800a87ad
mov eax, 2
imul rax, rax, 0x1af1
lea rcx, [0x18121e0d0]
movzx eax, word [rcx + rax]
mov word [0x180146d5c], ax
mov rax, qword [0x180146cf8]
xor rax, 0x7ca1661
mov qword [rsp + 0x88], rax
jmp 0x1800a8934
movzx eax, word [rsp + 0x58]
xor rax, qword [rsp + 0x90]
test rax, rax
je 0x1800a87f0
mov eax, dword [0x180146d48]
mov eax, eax
add rax, qword [rsp + 0x88]
mov byte [0x180146c2f], al
movzx eax, byte [rsp + 0x43]
movsx eax, al
not eax
mov word [0x180146d5c], ax
jmp 0x1800a8934
cmp dword [rsp + 0x68], 0
jne 0x1800a8811
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
je 0x1800a8811
mov qword [rsp + 0x348], 1
jmp 0x1800a881d
mov qword [rsp + 0x348], 0
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x1800a8912
movsx eax, word [0x180146d10]
not eax
cdqe
movsx rcx, word [0x180146d3c]
mov rdx, qword [rsp + 0x70]
add rcx, rdx
add rax, rcx
test rax, rax
jne 0x1800a8869
mov dword [rsp + 0x174], 1
jmp 0x1800a8874
mov dword [rsp + 0x174], 0
movzx eax, byte [rsp + 0x42]
movsx eax, al
movzx ecx, byte [0x180146c41]
movzx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x174]
add ecx, eax
mov eax, ecx
not eax
mov word [0x180146d30], ax
movsx rax, word [0x180146d5c]
add rax, qword [rsp + 0x90]
test rax, rax
jne 0x1800a88bf
mov dword [rsp + 0x178], 1
jmp 0x1800a88ca
mov dword [rsp + 0x178], 0
movzx eax, byte [rsp + 0x45]
movzx eax, al
movzx ecx, byte [0x180146bc7]
movsx ecx, cl
imul eax, ecx
add eax, dword [rsp + 0x178]
test eax, eax
jne 0x1800a88f9
mov eax, 1
mov word [rsp + 0xbc], ax
jmp 0x1800a8903
xor eax, eax
mov word [rsp + 0xbc], ax
movzx eax, word [rsp + 0xbc]
mov word [rsp + 0x48], ax
jmp 0x1800a8934
movzx eax, byte [rsp + 0x4c]
movzx eax, al
test eax, eax
je 0x1800a8934
movsx eax, word [0x180146d10]
mov ecx, dword [0x180146d48]
add eax, ecx
mov word [0x180146d10], ax
mov eax, dword [rsp + 0xdc]
add eax, 0x5b6
mov dword [rsp + 0x3a8], eax
mov eax, 1
imul rax, rax, 0x82
lea rcx, [0x18100ee30]
movzx edx, byte [rsp + 0xa8]
mov byte [rcx + rax], dl
movzx eax, byte [0x180146c5e]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x86fe
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0xdc]
add eax, 0xb1
mov dword [rsp + 0x190], eax
movzx eax, byte [rsp + 0x45]
movzx eax, al
mov ecx, dword [0x180146d4c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x180146d4c]
add ecx, eax
mov eax, ecx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0x64]
shl eax, 5
mov dword [0x180146d38], eax
movzx eax, byte [0x180146bee]
movsx eax, al
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
cmp eax, ecx
jge 0x1800a8a08
mov dword [rsp + 0x180], 1
jmp 0x1800a8a13
mov dword [rsp + 0x180], 0
movzx eax, byte [0x180146bee]
movsx eax, al
cmp eax, 0x2c
jge 0x1800a8a2f
mov dword [rsp + 0x17c], 1
jmp 0x1800a8a3a
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x17c]
cmp dword [rsp + 0x180], eax
je 0x1800a8b31
movzx eax, byte [0x180146c87]
movzx eax, al
mov dword [rsp + 0x30], 0x3e
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
mov r9d, 0x2b
xor r8d, r8d
mov edx, 0x85
mov ecx, 0xde
call fcn.180094b10
mov dword [0x180146d64], eax
movzx eax, byte [rsp + 0x42]
movsx eax, al
imul eax, dword [0x180146c04]
test eax, eax
je 0x1800a8af7
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
add eax, 0x49d1
movzx ecx, byte [0x180146c03]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x180146c03], al
mov eax, dword [0x180146d48]
test eax, eax
jne 0x1800a8ad7
mov dword [rsp + 0x184], 1
jmp 0x1800a8ae2
mov dword [rsp + 0x184], 0
mov eax, dword [0x180146c44]
imul eax, dword [rsp + 0x184]
mov word [rsp + 0x54], ax
jmp 0x1800a8b2c
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800a8b2c
mov rax, qword [rsp + 0x70]
add rax, 0xfb
movzx ecx, byte [0x180146c43]
movzx edx, byte [rsp + 0x41]
movsx edx, dl
imul ecx, edx
movsxd rcx, ecx
imul rax, rcx
mov byte [0x180146c43], al
jmp 0x1800a8bb2
movabs rax, 0x7c06e226a801c
xor ecx, ecx
cmp rcx, rax
je 0x1800a8b5b
mov rax, qword [0x180146d18]
test rax, rax
je 0x1800a8b5b
mov dword [rsp + 0x18c], 1
jmp 0x1800a8b66
mov dword [rsp + 0x18c], 0
movzx eax, byte [0x180146bef]
movzx eax, al
test eax, eax
jne 0x1800a8b81
mov dword [rsp + 0x188], 1
jmp 0x1800a8b8c
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
cmp dword [rsp + 0x18c], eax
jge 0x1800a8bb2
mov eax, dword [0x180146d14]
mov eax, eax
imul rax, qword [0x180146cf0]
mov dword [0x180146d14], eax
mov eax, dword [rsp + 0x190]
or eax, 0x3ccf
mov ecx, dword [rsp + 0x190]
mov edx, dword [rsp + 0x2a8]
or ecx, edx
or eax, ecx
mov ecx, 0xbf89
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2cc], eax
movzx eax, byte [0x180146c03]
movzx eax, al
movzx ecx, byte [0x180146bef]
movzx ecx, cl
cmp eax, ecx
jg 0x1800a8bfd
mov byte [rsp + 0x44], 4
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xe0], eax
movzx eax, byte [rsp + 0x4c]
movzx eax, al
cmp qword [rsp + 0x90], rax
jbe 0x1800a8cc6
movzx eax, word [0x180146d0c]
movzx eax, ax
movsx ecx, word [0x180146d3c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, dword [rsp + 0x90]
mov edx, 0xdf
mov ecx, 0x25
call fcn.180094460
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1800a8c8f
movzx eax, byte [0x180146c03]
movzx eax, al
test eax, eax
je 0x1800a8c8d
movzx eax, word [rsp + 0x54]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
not ecx
add eax, ecx
not eax
cdqe
mov qword [0x180146d00], rax
jmp 0x1800a8cc6
mov rax, qword [0x180146cf8]
test rax, rax
je 0x1800a8cc6
movzx eax, byte [0x180146bef]
movzx eax, al
movabs rcx, 0x42f8c2cb48b82
imul rax, rcx
mov qword [0x180146cf8], rax
movzx eax, byte [rsp + 0x45]
movzx eax, al
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xe0]
add eax, 0x68
mov dword [rsp + 0x3a4], eax
movabs rax, 0xbcb80f815e049
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov word [0x180146d60], ax
mov eax, dword [rsp + 0xe0]
add eax, 0xd9
mov dword [rsp + 0x3a0], eax
movzx eax, byte [0x181001ff0]
mov byte [rsp + 0x42], al
mov rax, qword [rsp + 0xa0]
sub rax, 0xe0
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0xe0]
add eax, 0x97fc
mov dword [rsp + 0x2ac], eax
movzx eax, word [rsp + 0x54]
sub eax, 0xc4d1
mov byte [0x180146c41], al
mov eax, dword [rsp + 0x64]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
cmp eax, ecx
jne 0x1800a8db7
movzx eax, byte [0x180146c2e]
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
cmp eax, ecx
jg 0x1800a8d85
movzx eax, word [rsp + 0x48]
cwde
movzx ecx, byte [0x180146c87]
movzx ecx, cl
add eax, ecx
mov word [rsp + 0x48], ax
jmp 0x1800a8db5
xor eax, eax
cmp eax, 0x55fd
je 0x1800a8db5
mov byte [str.U_This_legacy_API_is], 1
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
movabs rcx, 0x879c17a54d36d
imul rax, rcx
mov word [0x180146d30], ax
jmp 0x1800a8dca
movzx eax, byte [0x180146c5b]
movsx eax, al
sar eax, 6
mov dword [0x180146c04], eax
mov eax, dword [rsp + 0x2ac]
or eax, 0x71
mov ecx, dword [rsp + 0x194]
mov edx, dword [rsp + 0x194]
sub ecx, edx
mov edx, dword [rsp + 0x198]
mov r8d, dword [rsp + 0x198]
imul edx, r8d
imul ecx, edx
mov edx, 0xffff6803
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x2d0], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xe4], eax
movzx eax, word [rsp + 0x48]
cwde
cmp dword [0x180146c04], eax
jne 0x1800a8e35
mov dword [rsp + 0x1a0], 1
jmp 0x1800a8e40
mov dword [rsp + 0x1a0], 0
cmp dword [0x180146c04], 0x2a
jne 0x1800a8e56
mov dword [rsp + 0x19c], 1
jmp 0x1800a8e61
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
cmp dword [rsp + 0x1a0], eax
jle 0x1800a8e94
mov eax, 4
imul rax, rax, 7
lea rcx, [0x1811c2550]
movzx edx, byte [rsp + 0x43]
movsx edx, dl
add edx, dword [rcx + rax]
mov eax, edx
mov byte [rsp + 0x43], al
jmp 0x1800a8ebc
mov rax, qword [rsp + 0xa0]
xor rax, 0xd9
mov byte [rsp + 0x45], al
movzx eax, word [rsp + 0x58]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
xor eax, ecx
cdqe
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x51
mov dword [rsp + 0x39c], eax
movzx eax, word [rsp + 0x54]
inc ax
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [0x180146cf8]
sub rcx, rax
mov rax, rcx
mov qword [0x180146cf8], rax
mov eax, dword [rsp + 0xe4]
add eax, 0xda
mov dword [rsp + 0x398], eax
mov eax, dword [rsp + 0x68]
movabs rcx, 0x5e666640729a3
xor rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x1d05
mov dword [rsp + 0x3d4], eax
movzx eax, byte [0x180146c5f]
mov ecx, dword [0x180146d14]
imul eax, ecx
mov byte [0x180146c5f], al
movzx eax, byte [rsp + 0x42]
movsx eax, al
movsx ecx, word [0x180146d5c]
cmp eax, ecx
jge 0x1800a8f69
mov dword [rsp + 0x1a8], 1
jmp 0x1800a8f74
mov dword [rsp + 0x1a8], 0
movzx eax, byte [rsp + 0x42]
movsx eax, al
cmp eax, 0x64
jge 0x1800a8f8e
mov dword [rsp + 0x1a4], 1
jmp 0x1800a8f99
mov dword [rsp + 0x1a4], 0
mov eax, dword [rsp + 0x1a4]
cmp dword [rsp + 0x1a8], eax
jl 0x1800a8fcc
mov eax, dword [0x180146d48]
add eax, 0x5876bfb7
mov eax, eax
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x2b0]
add eax, 0x40
mov ecx, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xc0]
xor ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xc0]
add ecx, edx
mov edx, dword [rsp + 0x1ac]
mov r8d, dword [rsp + 0x1ac]
sub edx, r8d
xor ecx, edx
imul eax, ecx
add eax, 0x3c5
mov dword [rsp + 0x2d4], eax
movzx eax, byte [0x180146c42]
movsx eax, al
movzx ecx, byte [0x180146c42]
movsx ecx, cl
cmp eax, ecx
jne 0x1800a9041
mov dword [rsp + 0x1b4], 1
jmp 0x1800a904c
mov dword [rsp + 0x1b4], 0
movzx eax, byte [0x180146c42]
movsx eax, al
cmp eax, 4
jne 0x1800a9068
mov dword [rsp + 0x1b0], 1
jmp 0x1800a9073
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
je 0x1800a90a7
movzx eax, byte [rsp + 0x42]
inc al
mov byte [rsp + 0x42], al
movzx eax, word [rsp + 0x48]
cwde
not eax
imul eax, eax, 0xbd
cdqe
mov qword [0x180146cf8], rax
jmp 0x1800a90ca
movzx eax, word [0x180146d0c]
movzx eax, ax
sub eax, 0xc306e65f
mov byte [0x180146c5f], al
movzx eax, word [0x181001ff0]
mov word [0x180146d60], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0x3f0
mov dword [rsp + 0x1d4], eax
mov eax, dword [0x180146d4c]
test eax, eax
je 0x1800a92be
movsx eax, word [0x180146d30]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, dword [rsp + 0x68]
call fcn.1800950a0
mov byte [0x180146c42], al
movzx eax, byte [0x180146c42]
movsx eax, al
test eax, eax
jge 0x1800a92a1
mov qword [0x180146d20], 4
movzx eax, byte [rsp + 0x42]
movsx rax, al
movabs rcx, 0xcf7a0f44a2f02
sub rax, rcx
mov byte [rsp + 0x43], al
movsx eax, word [0x180146d5c]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
lea eax, [rcx + rax + 0x74]
mov byte [rsp + 0x41], al
mov rax, qword [0x180146d20]
mov qword [rsp + 0x2a0], rax
cmp qword [rsp + 0x2a0], 1
je 0x1800a91b9
cmp qword [rsp + 0x2a0], 2
je 0x1800a925b
cmp qword [rsp + 0x2a0], 3
je 0x1800a927b
cmp qword [rsp + 0x2a0], 4
je 0x1800a928e
jmp 0x1800a929f
movzx eax, byte [0x180146c2f]
movsx eax, al
test eax, eax
jne 0x1800a91d4
mov dword [rsp + 0x1b8], 1
jmp 0x1800a91df
mov dword [rsp + 0x1b8], 0
movzx eax, word [0x180146d58]
movzx eax, ax
test eax, eax
jne 0x1800a91fb
mov qword [rsp + 0x378], 1
jmp 0x1800a9207
mov qword [rsp + 0x378], 0
movzx eax, word [rsp + 0x48]
cwde
and eax, dword [rsp + 0x1b8]
sub eax, 0xdb87
cdqe
mov rcx, qword [rsp + 0x90]
not rcx
mov rdx, qword [rsp + 0x378]
sub rdx, rcx
mov rcx, rdx
movzx edx, byte [0x180146c2f]
movsx edx, dl
mov r8d, dword [0x180146d34]
sub edx, r8d
mov edx, edx
imul rcx, rdx
xor rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x1800a929f
movzx eax, word [rsp + 0x54]
dec ax
mov word [rsp + 0x54], ax
movzx eax, word [0x180146d10]
inc ax
mov word [0x180146d10], ax
jmp 0x1800a929f
mov rax, qword [rsp + 0x78]
xor rax, 0xac0
mov dword [0x180146d34], eax
jmp 0x1800a929f
movzx eax, word [0x180146d30]
inc ax
mov word [0x180146d30], ax
jmp 0x1800a92be
mov rax, qword [0x180146d20]
test rax, rax
je 0x1800a92be
mov byte [rsp + 0x44], 0xfe
mov rax, qword [rsp + 0x70]
mov qword [0x180146d20], rax
mov eax, dword [rsp + 0x100]
add eax, 0xa7
mov dword [rsp + 0x2b4], eax
mov rax, qword [0x180146d20]
movzx ecx, byte [0x180146c03]
movzx ecx, cl
cmp rax, rcx
jae 0x1800a92e9
jmp 0x1800a92fa
movzx eax, byte [rsp + 0x45]
movzx eax, al
add eax, 0xb57eaf9c
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x100]
add eax, 0x27
mov dword [rsp + 0x3c0], eax
movzx eax, byte [rsp + 0x45]
movzx eax, al
mov dword [rsp + 0x28], 0x8f
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x78]
mov ecx, eax
call fcn.180094460
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
jle 0x1800a9352
mov dword [rsp + 0x1c0], 1
jmp 0x1800a935d
mov dword [rsp + 0x1c0], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0xe
jle 0x1800a9377
mov dword [rsp + 0x1bc], 1
jmp 0x1800a9382
mov dword [rsp + 0x1bc], 0
mov eax, dword [rsp + 0x1bc]
cmp dword [rsp + 0x1c0], eax
jle 0x1800a9589
mov eax, 4
mov word [0x180146d30], ax
movzx eax, word [0x180146d28]
cwde
sar eax, 1
mov dword [0x180146d34], eax
movsx eax, word [0x180146d30]
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0
je 0x1800a9403
cmp dword [rsp + 0xb4], 1
je 0x1800a9434
cmp dword [rsp + 0xb4], 2
je 0x1800a94a2
cmp dword [rsp + 0xb4], 3
je 0x1800a9500
cmp dword [rsp + 0xb4], 4
je 0x1800a956c
jmp 0x1800a9587
movsx rax, word [0x180146d5c]
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x1800a9587
movsx eax, word [0x180146c5c]
mov ecx, dword [rsp + 0x68]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [str.U_This_legacy_API_is]
movsx ecx, cl
movzx edx, word [rsp + 0x50]
movzx edx, dx
not edx
add ecx, edx
add eax, ecx
mov eax, eax
movzx ecx, byte [rsp + 0x41]
movsx rcx, cl
movzx edx, byte [rsp + 0x40]
movsx rdx, dl
mov r8, qword [rsp + 0x98]
sub r8, rdx
mov rdx, r8
movabs r8, 0x6332b9990c7dd
add rcx, r8
add rcx, rdx
not rcx
imul rax, rcx
not rax
mov byte [0x180146caf], al
jmp 0x1800a9587
imul rax, qword [rsp + 0x90], 0x2f26
mov dword [0x180146d34], eax
movzx eax, byte [rsp + 0x43]
movsx eax, al
not eax
sub eax, 0x80fa
cdqe
mov ecx, dword [rsp + 0x64]
mov ecx, ecx
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rcx, rdx
movzx edx, byte [rsp + 0x42]
movsx edx, dl
not edx
movsxd rdx, edx
sub rcx, rdx
movabs rdx, 0x6e77ef3a3d339
add rax, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800a9587
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
jne 0x1800a9519
mov dword [rsp + 0x1c4], 1
jmp 0x1800a9524
mov dword [rsp + 0x1c4], 0
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [0x180146d00]
xor rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x48]
movsx rcx, cx
xor rax, rcx
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
add ecx, 0xc2a1
mov edx, dword [rsp + 0x1c4]
imul edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
mov byte [rsp + 0x40], al
jmp 0x1800a9587
movzx eax, byte [rsp + 0x43]
movsx rax, al
movabs rcx, 0x1e8b4fbe45c67
sub rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800a9599
mov eax, dword [rsp + 0x5c]
sub eax, 0x903b
mov word [0x180146d08], ax
mov rax, qword [0x180146d68]
test rax, rax
je 0x1800a9660
mov rax, qword [rsp + 0x70]
mov r8d, 0xd9
xor edx, edx
mov ecx, eax
call fcn.1800953a0
cdqe
mov qword [0x180146d68], rax
mov rax, qword [0x180146d68]
test rax, rax
je 0x1800a95df
mov dword [rsp + 0x1cc], 1
jmp 0x1800a95ea
mov dword [rsp + 0x1cc], 0
mov rax, qword [0x180146d68]
cmp rax, 0x4d
je 0x1800a9604
mov dword [rsp + 0x1c8], 1
jmp 0x1800a960f
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jl 0x1800a964a
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x1800a9648
movzx eax, byte [0x180146bee]
mov ecx, 1
imul rcx, rcx, 0xae
lea rdx, [0x181002280]
mov byte [rdx + rcx], al
jmp 0x1800a965e
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
sub eax, 0x3e
mov word [0x180146d60], ax
jmp 0x1800a96cd
movzx eax, word [rsp + 0x54]
test eax, eax
je 0x1800a96cd
mov eax, 0xb19905af
mov rcx, qword [rsp + 0x88]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x1800a969c
mov dword [rsp + 0x1d0], 1
jmp 0x1800a96a7
mov dword [rsp + 0x1d0], 0
movzx eax, byte [0x180146bc7]
movsx eax, al
add eax, dword [rsp + 0x1d0]
add eax, dword [rsp + 0x5c]
mov ecx, dword [0x180146d4c]
add ecx, eax
mov eax, ecx
mov word [0x180146d58], ax
mov eax, dword [rsp + 0x2b4]
add eax, 0x8d
mov ecx, dword [rsp + 0x1d4]
mov edx, dword [rsp + 0x1d4]
sub ecx, edx
or eax, ecx
add eax, 0x21b
mov dword [rsp + 0x2d8], eax
movzx eax, word [rsp + 0x50]
movzx eax, ax
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x20], edx
mov r9d, eax
xor r8d, r8d
mov edx, 0x82
call fcn.1800950a0
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
movsx eax, al
test eax, eax
jle 0x1800a9807
cmp qword [rsp + 0x78], 0
je 0x1800a976e
movzx eax, word [0x180146d58]
movzx eax, ax
not eax
movsx ecx, word [0x180146d3c]
add eax, ecx
not eax
cdqe
mov qword [0x180146d68], rax
movzx eax, byte [0x180146d3c]
mov byte [rsp + 0x42], al
jmp 0x1800a9807
xor eax, eax
cmp eax, 0xffffff41
je 0x1800a9807
movzx eax, byte [rsp + 0x40]
movsx rax, al
mov qword [rsp + 0x98], rax
movzx eax, word [0x180146d28]
cwde
test eax, eax
jne 0x1800a97a6
mov qword [rsp + 0x380], 1
jmp 0x1800a97b2
mov qword [rsp + 0x380], 0
mov eax, dword [0x180146d14]
mov eax, eax
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
not ecx
movsxd rcx, ecx
mov rdx, qword [0x180146d18]
add rcx, qword [rsp + 0x380]
add rcx, rdx
sub rax, rcx
test rax, rax
jne 0x1800a97f0
mov eax, 1
mov word [rsp + 0xb2], ax
jmp 0x1800a97fa
xor eax, eax
mov word [rsp + 0xb2], ax
movzx eax, word [rsp + 0xb2]
mov word [rsp + 0x48], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xec], eax
mov eax, dword [0x180146d64]
movsx ecx, word [0x180146c5c]
cmp eax, ecx
jbe 0x1800a9868
cmp qword [rsp + 0x78], 0
je 0x1800a9866
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
je 0x1800a9848
mov rax, qword [0x180146cf0]
mov qword [rsp + 0x328], rax
jmp 0x1800a9857
mov rax, qword [0x180146cf8]
mov qword [rsp + 0x328], rax
mov rax, qword [rsp + 0x328]
mov qword [0x180146cf0], rax
jmp 0x1800a9891
movzx eax, byte [0x180146bc7]
movsx eax, al
test eax, eax
je 0x1800a9891
movzx eax, word [0x180146d0c]
movzx eax, ax
movabs rcx, 0x9b5e4a5df386f
add rax, rcx
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xec]
add eax, 0xe0
mov dword [rsp + 0x3c4], eax
mov eax, 4
imul rax, rax, 0x2ba6
lea rcx, [0x181084d70]
movzx eax, byte [rcx + rax]
mov byte [0x180146caf], al
mov eax, dword [rsp + 0xec]
add eax, 0xc8
mov dword [rsp + 0x2b8], eax
movzx eax, byte [0x180146c5f]
movzx ecx, byte [0x180146c5b]
movsx ecx, cl
cmp eax, ecx
jg 0x1800a9923
mov rax, qword [rsp + 0x70]
cmp rax, qword [0x180146cf0]
jb 0x1800a9921
mov qword [rsp + 0x98], 0x6c1482ec
movzx eax, byte [rsp + 0x43]
movsx eax, al
not eax
movzx ecx, byte [0x180146c86]
movzx edx, word [rsp + 0x54]
xor ecx, edx
add eax, ecx
mov byte [rsp + 0x4c], al
jmp 0x1800a993c
mov rax, qword [0x180146d18]
movabs rcx, 0x9ec701489aab3
add rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xec]
add eax, 0x4d4
mov dword [rsp + 0x3c8], eax
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x60], eax
jae 0x1800a9966
mov dword [rsp + 0x1dc], 1
jmp 0x1800a9971
mov dword [rsp + 0x1dc], 0
cmp dword [rsp + 0x60], 0x2a
jae 0x1800a9985
mov dword [rsp + 0x1d8], 1
jmp 0x1800a9990
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
jge 0x1800a99a2
jmp 0x1800a99c9
movzx eax, word [rsp + 0x54]
not eax
cdqe
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x1800a99c9
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x2b8]
or eax, 0xdbe1
xor eax, 0xd96e
mov dword [rsp + 0x2dc], eax
movzx eax, byte [rsp + 0x4c]
movzx eax, al
sub eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
not eax
mov word [0x180146d30], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xf0], eax
mov eax, dword [0x180146d64]
cmp eax, dword [0x180146c04]
ja 0x1800a9a26
mov dword [rsp + 0x1e4], 1
jmp 0x1800a9a31
mov dword [rsp + 0x1e4], 0
mov eax, dword [0x180146d64]
cmp eax, 0x5e
ja 0x1800a9a49
mov dword [rsp + 0x1e0], 1
jmp 0x1800a9a54
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1e4], eax
jge 0x1800a9c47
mov rax, qword [0x180146cf8]
mov r9d, 0x19
xor r8d, r8d
mov edx, 0xb8
mov ecx, eax
call fcn.180094760
mov eax, eax
mov qword [0x180146d40], rax
movsxd rax, dword [rsp + 0x5c]
cmp qword [rsp + 0xa0], rax
jle 0x1800a9aa9
mov dword [rsp + 0x1ec], 1
jmp 0x1800a9ab4
mov dword [rsp + 0x1ec], 0
movsx eax, word [0x180146d5c]
movzx ecx, byte [0x180146c03]
movzx ecx, cl
cmp eax, ecx
jl 0x1800a9ad6
mov dword [rsp + 0x1e8], 1
jmp 0x1800a9ae1
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
cmp dword [rsp + 0x1ec], eax
je 0x1800a9bd4
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xf3
xor r9d, r9d
mov r8d, dword [rsp + 0x90]
xor edx, edx
mov ecx, dword [0x180146d2c]
call fcn.180094460
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x1800a9bb8
movsx eax, byte [0x180146caf]
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov ecx, dword [rsp + 0x64]
call fcn.180094760
mov eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [0x180146c04]
cmp rax, rcx
jb 0x1800a9b5f
jmp 0x1800a9bb6
cmp qword [rsp + 0x78], 0
je 0x1800a9bb6
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0xa6
jl 0x1800a9b83
mov dword [rsp + 0x1f0], 1
jmp 0x1800a9b8e
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
not eax
test eax, eax
je 0x1800a9bb6
mov eax, dword [0x180146d48]
mov eax, eax
movabs rcx, 0x494d1eb5bd6ed
add rax, rcx
mov dword [0x180146d4c], eax
jmp 0x1800a9bd2
mov dword [rsp + 0x5c], 1
movzx eax, byte [rsp + 0x41]
movsx eax, al
xor eax, 0xb2
mov word [rsp + 0x48], ax
jmp 0x1800a9c45
mov rax, qword [0x180146cf8]
test rax, rax
je 0x1800a9c45
mov eax, 0x93207c67
mov rcx, qword [rsp + 0x90]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [0x180146c5f]
sub rax, qword [rsp + 0x90]
imul rax, rax, 0
movzx ecx, byte [rsp + 0x43]
movsx rcx, cl
movzx edx, byte [rsp + 0x40]
movsx rdx, dl
mov r8, qword [0x180146d68]
sub r8, rdx
mov rdx, r8
not rdx
xor rcx, rdx
imul rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800a9c6e
movzx eax, byte [0x180146bc7]
movsx eax, al
movzx ecx, word [0x180146d58]
movzx ecx, cx
movzx edx, byte [rsp + 0x43]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov byte [0x180146c87], al
mov eax, dword [rsp + 0xf0]
add eax, 0x9ebb
mov dword [rsp + 0x3cc], eax
xor r8d, r8d
mov edx, 0xf3
xor ecx, ecx
call fcn.1800953a0
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x54]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
cmp eax, ecx
jle 0x1800a9cb3
mov dword [rsp + 0x1f4], 1
jmp 0x1800a9cbe
mov dword [rsp + 0x1f4], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
sub eax, ecx
cmp dword [rsp + 0x1f4], eax
jge 0x1800a9cdb
jmp 0x1800a9d16
movzx eax, byte [0x180146bee]
movsx eax, al
test eax, eax
jne 0x1800a9cf4
cmp qword [rsp + 0x98], 0
je 0x1800a9d00
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
je 0x1800a9d16
mov eax, 0xab8df8c1
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0xf0]
add eax, 0xc7
mov dword [rsp + 0x3d0], eax
movzx eax, word [rsp + 0x58]
sar eax, 7
mov word [0x180146d0c], ax
mov eax, dword [rsp + 0xf0]
add eax, 0x41bc
mov dword [rsp + 0xf4], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
cmp eax, ecx
jge 0x1800a9d74
movzx eax, byte [rsp + 0x42]
movsx eax, al
test eax, eax
je 0x1800a9d72
mov byte [0x180146c87], 0x28
jmp 0x1800a9d9c
movzx eax, byte [rsp + 0x43]
movsx eax, al
sub eax, 0x106d0555
mov dword [0x180146c04], eax
movzx eax, word [0x180146d58]
movzx eax, ax
sub eax, 0x5865
mov byte [0x180146c41], al
movzx eax, byte [rsp + 0x41]
movsx rax, al
imul rax, qword [rsp + 0x88]
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xf4]
xor eax, 0x85d8
mov ecx, dword [rsp + 0xf4]
mov edx, dword [rsp + 0xf4]
or ecx, edx
sub eax, ecx
xor eax, 0x82a8
mov ecx, dword [rsp + 0x1f8]
imul ecx, ecx, 0x76
mov edx, dword [rsp + 0x1f8]
imul edx, edx, 0x76
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x2ec], eax
mov eax, dword [0x180146d34]
mov eax, eax
movabs rcx, 0xc500a21fe9a3c
add rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xf8], eax
movzx eax, byte [0x180146bee]
movsx eax, al
cmp eax, dword [0x180146c44]
jae 0x1800a9e3a
mov dword [rsp + 0x200], 1
jmp 0x1800a9e45
mov dword [rsp + 0x200], 0
movzx eax, byte [0x180146bee]
movsx eax, al
cmp eax, 0x5b
jge 0x1800a9e61
mov dword [rsp + 0x1fc], 1
jmp 0x1800a9e6c
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
cmp dword [rsp + 0x200], eax
jg 0x1800a9ebf
cmp dword [0x180146c44], 0
je 0x1800a9eb6
mov eax, 2
imul rax, rax, 0x7e
lea rcx, [0x181133ad0]
movzx edx, word [0x180146d30]
mov word [rcx + rax], dx
mov rax, qword [rsp + 0xa8]
sub rax, 0xb72b
mov byte [0x180146bee], al
jmp 0x1800a9ebd
mov byte [0x180146bc7], 0x5c
jmp 0x1800a9ed7
cmp dword [rsp + 0x68], 0
je 0x1800a9ed7
movzx eax, word [0x180146d58]
inc ax
mov word [0x180146d58], ax
mov eax, dword [rsp + 0xf8]
add eax, 0x85
mov dword [rsp + 0x2bc], eax
mov byte [0x180146c42], 0x13
mov eax, dword [rsp + 0xf8]
add eax, 0x13
mov dword [rsp + 0x224], eax
mov dword [rsp + 0x20], 0xb4
xor r9d, r9d
mov r8d, dword [0x180146d48]
xor edx, edx
mov ecx, 0xc9
call fcn.1800950a0
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x1800a9f3c
mov dword [rsp + 0x208], 1
jmp 0x1800a9f47
mov dword [rsp + 0x208], 0
movzx eax, word [rsp + 0x48]
cwde
cmp eax, 0x48
jne 0x1800a9f5f
mov dword [rsp + 0x204], 1
jmp 0x1800a9f6a
mov dword [rsp + 0x204], 0
mov eax, dword [rsp + 0x204]
cmp dword [rsp + 0x208], eax
jl 0x1800aa035
movzx eax, byte [rsp + 0x42]
movsx eax, al
movsx ecx, word [0x180146d08]
cmp eax, ecx
jne 0x1800a9f9e
mov dword [rsp + 0x210], 1
jmp 0x1800a9fa9
mov dword [rsp + 0x210], 0
movzx eax, byte [rsp + 0x42]
movsx eax, al
cmp eax, 0x64
jne 0x1800a9fc3
mov dword [rsp + 0x20c], 1
jmp 0x1800a9fce
mov dword [rsp + 0x20c], 0
mov eax, dword [rsp + 0x20c]
cmp dword [rsp + 0x210], eax
je 0x1800a9fe7
mov byte [0x180146bc7], 0xb2
jmp 0x1800aa033
mov eax, dword [rsp + 0x64]
movzx ecx, byte [0x180146c87]
movzx ecx, cl
cmp eax, ecx
jne 0x1800aa006
mov dword [rsp + 0x214], 1
jmp 0x1800aa011
mov dword [rsp + 0x214], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
not eax
mov ecx, dword [rsp + 0x214]
not ecx
cmp eax, ecx
jl 0x1800aa033
mov eax, dword [rsp + 0x5c]
add eax, 0x3d
mov byte [rsp + 0x44], al
jmp 0x1800aa05d
movzx eax, word [0x180146d60]
test eax, eax
je 0x1800aa05d
movsx eax, word [0x180146d10]
mov ecx, 4
imul rcx, rcx, 0x56bb
lea rdx, [0x1810b5f50]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xee
mov dword [rsp + 0x3d8], eax
movzx eax, word [rsp + 0x54]
cmp rax, qword [rsp + 0x88]
jne 0x1800aa08c
mov dword [rsp + 0x21c], 1
jmp 0x1800aa097
mov dword [rsp + 0x21c], 0
movzx eax, word [rsp + 0x54]
cmp eax, 0x20
jne 0x1800aa0ae
mov dword [rsp + 0x218], 1
jmp 0x1800aa0b9
mov dword [rsp + 0x218], 0
mov eax, dword [rsp + 0x218]
cmp dword [rsp + 0x21c], eax
jl 0x1800aa178
cmp dword [rsp + 0x5c], 0
je 0x1800aa0f4
movzx eax, byte [0x180146c43]
add eax, dword [0x180146c04]
mov byte [0x180146c43], al
mov eax, dword [rsp + 0x60]
mov qword [0x180146d50], rax
jmp 0x1800aa173
movzx eax, byte [rsp + 0x43]
movsx eax, al
not eax
movzx ecx, byte [0x180146c2f]
movsx ecx, cl
imul eax, ecx
test eax, eax
je 0x1800aa125
movzx eax, byte [rsp + 0x41]
movsx eax, al
add eax, 0x1ca5
cdqe
mov qword [rsp + 0x78], rax
jmp 0x1800aa173
movzx eax, word [rsp + 0x48]
movsx rax, ax
movabs rcx, 0xdfb701b95fd35
imul rax, rcx
not rax
mov rcx, qword [0x180146d18]
add rax, rcx
test rax, rax
je 0x1800aa173
mov byte [0x180146c03], 0xe7
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov ecx, 4
imul rcx, rcx, 0x3adf
lea rdx, [0x18110c530]
mov dword [rdx + rcx], eax
jmp 0x1800aa23b
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800aa1a4
mov dword [rsp + 0x60], 0x688ef192
movzx eax, byte [rsp + 0x45]
movzx eax, al
add eax, 0x9008c655
mov eax, eax
mov qword [rsp + 0x78], rax
jmp 0x1800aa23b
mov eax, dword [0x180146d14]
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
cmp eax, ecx
je 0x1800aa1c3
mov dword [rsp + 0x220], 1
jmp 0x1800aa1ce
mov dword [rsp + 0x220], 0
movzx eax, byte [rsp + 0x43]
movsx eax, al
cmp dword [rsp + 0x220], eax
jl 0x1800aa23b
movzx eax, byte [rsp + 0x41]
movsx eax, al
sub eax, 0xeb
mov word [0x180146d30], ax
movsx eax, word [0x180146d30]
test eax, eax
jne 0x1800aa20c
mov qword [rsp + 0x330], 1
jmp 0x1800aa218
mov qword [rsp + 0x330], 0
mov rax, qword [0x180146d40]
sub rax, qword [rsp + 0x330]
movabs rcx, 0xbf549a15ffef1
imul rax, rcx
mov byte [0x180146c5b], al
mov eax, dword [rsp + 0x2bc]
xor eax, 0xb6
mov ecx, dword [rsp + 0x224]
mov edx, dword [rsp + 0x224]
sub ecx, edx
xor eax, ecx
xor eax, 0x220
mov dword [rsp + 0x2f0], eax
mov rax, qword [0x180146d18]
movsx rcx, word [0x180146d10]
cmp rax, rcx
jg 0x1800aa286
mov dword [rsp + 0x22c], 1
jmp 0x1800aa291
mov dword [rsp + 0x22c], 0
mov rax, qword [0x180146d18]
cmp rax, 0x26
jg 0x1800aa2ab
mov dword [rsp + 0x228], 1
jmp 0x1800aa2b6
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x22c], eax
jg 0x1800aa424
movzx eax, byte [0x180146bef]
movzx eax, al
mov ecx, dword [0x180146d4c]
cmp eax, ecx
jbe 0x1800aa2eb
mov dword [rsp + 0x234], 1
jmp 0x1800aa2f6
mov dword [rsp + 0x234], 0
movzx eax, byte [0x180146bef]
movzx eax, al
cmp eax, 0xc
jle 0x1800aa312
mov dword [rsp + 0x230], 1
jmp 0x1800aa31d
mov dword [rsp + 0x230], 0
mov eax, dword [rsp + 0x230]
cmp dword [rsp + 0x234], eax
jle 0x1800aa3ab
mov rax, qword [0x180146d68]
test rax, rax
jne 0x1800aa346
mov dword [rsp + 0x238], 1
jmp 0x1800aa351
mov dword [rsp + 0x238], 0
movzx eax, byte [0x180146c41]
movzx eax, al
mov ecx, dword [0x180146d38]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
sub eax, ecx
mov eax, eax
mov rcx, qword [0x180146d18]
imul rcx, qword [rsp + 0x90]
not rcx
movzx edx, byte [rsp + 0x40]
movsx edx, dl
mov r8d, dword [rsp + 0x238]
add r8d, edx
mov edx, r8d
not edx
movsxd rdx, edx
add rcx, rdx
sub rax, rcx
mov dword [rsp + 0x60], eax
jmp 0x1800aa424
mov rax, qword [rsp + 0x98]
cmp qword [0x180146d00], rax
jb 0x1800aa424
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800aa3e6
mov eax, 1
mov word [rsp + 0xb0], ax
jmp 0x1800aa3f0
xor eax, eax
mov word [rsp + 0xb0], ax
movzx eax, word [rsp + 0xb0]
mov word [0x180146c5c], ax
mov eax, dword [rsp + 0x68]
mov rcx, qword [0x180146d68]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146d68]
add rcx, rax
mov rax, rcx
mov qword [0x180146d68], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xfc], eax
movsx eax, word [0x180146d5c]
mov ecx, dword [0x180146d14]
cmp eax, ecx
ja 0x1800aa44f
mov dword [rsp + 0x240], 1
jmp 0x1800aa45a
mov dword [rsp + 0x240], 0
movsx eax, word [0x180146d5c]
cmp eax, 0x4d
jg 0x1800aa473
mov dword [rsp + 0x23c], 1
jmp 0x1800aa47e
mov dword [rsp + 0x23c], 0
mov eax, dword [rsp + 0x23c]
cmp dword [rsp + 0x240], eax
jle 0x1800aa4c0
movzx eax, word [rsp + 0x54]
imul eax, eax, 0x13
cdqe
mov qword [0x180146cf8], rax
movzx eax, byte [0x180146c5e]
movzx ecx, word [rsp + 0x54]
sub eax, ecx
movzx ecx, byte [0x180146c5e]
add ecx, eax
mov eax, ecx
mov byte [0x180146c5e], al
jmp 0x1800aa4da
mov byte [0x180146c5f], 0x1d
movzx eax, byte [rsp + 0x43]
movsx eax, al
imul eax, eax, 0x6d4f574
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x109
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x64]
imul eax, dword [0x180146d38]
movzx ecx, byte [rsp + 0x45]
movzx ecx, cl
movzx edx, byte [rsp + 0x4c]
movzx edx, dl
xor ecx, edx
sub eax, ecx
mov eax, eax
mov qword [0x180146d00], rax
movzx eax, byte [rsp + 0x44]
movzx eax, al
sub eax, dword [rsp + 0x5c]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0xfc]
add eax, 0x5af9
mov dword [rsp + 0x3dc], eax
movsx rax, word [0x180146d3c]
add rax, qword [0x180146cf0]
mov word [0x180146d3c], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x4e
mov dword [rsp + 0x244], eax
mov rax, qword [rsp + 0x70]
mov word [rsp + 0x58], ax
mov qword [0x180146d20], 3
movzx eax, word [0x180146d0c]
mov ecx, 2
imul rcx, rcx, 0x38
lea rdx, [0x181192e90]
mov word [rdx + rcx], ax
movzx eax, byte [rsp + 0x4c]
movzx eax, al
add rax, qword [rsp + 0xa0]
mov byte [rsp + 0x4c], al
mov rax, qword [0x180146d20]
mov qword [rsp + 0x298], rax
cmp qword [rsp + 0x298], 0
je 0x1800aa5ef
cmp qword [rsp + 0x298], 1
je 0x1800aa60e
cmp qword [rsp + 0x298], 2
je 0x1800aa632
cmp qword [rsp + 0x298], 3
je 0x1800aa65e
jmp 0x1800aa69a
movzx eax, byte [0x180146c86]
sar eax, 4
mov dword [rsp + 0x60], eax
movzx eax, word [0x181001ff0]
mov word [rsp + 0x58], ax
jmp 0x1800aa69a
movzx eax, word [0x180146d0c]
movzx eax, ax
not eax
sub eax, dword [rsp + 0x5c]
mov byte [rsp + 0x41], al
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x88], rax
jmp 0x1800aa69a
mov eax, 1
imul rax, rax, 0xcb
lea rcx, [0x18100ee30]
movzx eax, byte [rcx + rax]
mov word [rsp + 0x50], ax
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x90], rax
jmp 0x1800aa69a
movzx eax, word [rsp + 0x48]
cwde
movzx ecx, word [0x180146d28]
movsx ecx, cx
sub eax, ecx
xor eax, dword [0x180146c44]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
imul ecx, ecx, 0xcbc09f09
mov edx, dword [rsp + 0x5c]
sub edx, ecx
mov ecx, edx
not ecx
imul eax, ecx
mov eax, eax
mov qword [0x180146d68], rax
mov eax, dword [rsp + 0x2c0]
mov ecx, dword [rsp + 0x244]
imul eax, ecx
mov ecx, dword [rsp + 0x244]
imul ecx, ecx, 0xb3
sub eax, ecx
add eax, 0xffffe62f
mov dword [rsp + 0x2f4], eax
mov eax, dword [0x180146c04]
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x5c]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x118], eax
mov dword [rsp + 0x30], 0x70
mov eax, dword [0x180146d14]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xbd
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1b
xor ecx, ecx
call fcn.180094b10
cdqe
mov qword [rsp + 0x88], rax
movsx eax, word [0x180146c5c]
test eax, eax
je 0x1800aa794
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800aa771
mov eax, dword [rsp + 0x60]
not eax
mov eax, eax
mov rcx, qword [0x180146d00]
sub rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x54]
movzx edx, byte [rsp + 0x45]
movzx edx, dl
not edx
imul ecx, edx
movsxd rcx, ecx
sub rax, rcx
not rax
mov dword [0x180146d2c], eax
jmp 0x1800aa792
movzx eax, byte [0x180146bee]
movsx rax, al
mov rcx, qword [rsp + 0x98]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x1800aa7a5
imul eax, dword [rsp + 0x5c], 0x96
cdqe
mov qword [0x180146d20], rax
mov eax, dword [rsp + 0x118]
add eax, 0x4439
mov dword [rsp + 0x3e0], eax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0xaf
mov ecx, dword [rsp + 0xa8]
call fcn.180094460
mov word [0x180146d30], ax
mov eax, dword [rsp + 0x64]
cmp dword [rsp + 0x5c], eax
ja 0x1800aa8a8
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov r8d, eax
mov edx, 0x24
mov ecx, dword [0x180146d00]
call fcn.1800953a0
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
je 0x1800aa82c
mov dword [rsp + 0x24c], 1
jmp 0x1800aa837
mov dword [rsp + 0x24c], 0
movzx eax, byte [rsp + 0x40]
movsx eax, al
cmp eax, 0x23
je 0x1800aa851
mov dword [rsp + 0x248], 1
jmp 0x1800aa85c
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
cmp dword [rsp + 0x24c], eax
jl 0x1800aa8a6
cmp qword [rsp + 0x90], 0
je 0x1800aa888
mov rax, qword [0x180146d00]
mov qword [rsp + 0x338], rax
jmp 0x1800aa898
movzx eax, byte [rsp + 0x45]
movzx eax, al
mov qword [rsp + 0x338], rax
movzx eax, byte [rsp + 0x338]
mov byte [0x180146c03], al
jmp 0x1800aa920
movzx eax, byte [0x180146c2f]
movsx eax, al
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
cmp eax, ecx
je 0x1800aa8cd
mov eax, 0x9581f42c
mov qword [rsp + 0xa8], rax
jmp 0x1800aa920
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
add rax, qword [rsp + 0xa8]
test rax, rax
je 0x1800aa8f1
mov dword [0x180146d4c], 0x8e8b
jmp 0x1800aa920
movzx eax, byte [rsp + 0x4c]
movzx eax, al
test eax, eax
je 0x1800aa920
movzx eax, word [0x180146d60]
inc ax
mov word [0x180146d60], ax
mov eax, dword [rsp + 0x60]
xor eax, 0x61f16e04
mov eax, eax
mov qword [0x180146cf8], rax
mov eax, dword [rsp + 0x118]
add eax, 0x251c
mov dword [rsp + 0x3e4], eax
mov rax, qword [0x180146d68]
not rax
mov eax, dword [rsp + 0x118]
add eax, 0x4576
mov dword [rsp + 0x2c4], eax
movzx eax, byte [0x180146c41]
movzx eax, al
test eax, eax
je 0x1800aa9b4
movzx eax, byte [0x180146c2e]
movzx ecx, byte [0x180146bee]
movsx ecx, cl
xor r9d, r9d
xor r8d, r8d
mov edx, eax
call fcn.180094760
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
je 0x1800aa99d
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov word [0x180146c5c], ax
jmp 0x1800aa9b4
mov rax, qword [0x180146d50]
imul rax, qword [rsp + 0x98]
mov qword [0x180146d50], rax
movzx eax, byte [0x180146c5f]
mov dword [0x180146d38], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov ecx, dword [0x180146d4c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x180146d4c]
add ecx, eax
mov eax, ecx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0x2c4]
add eax, 0xffffbc95
mov dword [rsp + 0x2f8], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x104], eax
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov rcx, qword [0x180146d50]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146d50]
sub rcx, rax
mov rax, rcx
mov qword [0x180146d50], rax
mov eax, dword [rsp + 0x104]
add eax, 0x1a6
mov dword [rsp + 0x110], eax
movzx eax, byte [0x180146bef]
movzx eax, al
movzx ecx, byte [rsp + 0x42]
movsx ecx, cl
cmp eax, ecx
jge 0x1800aab09
movzx eax, byte [0x180146c2f]
movsx rax, al
cmp rax, qword [rsp + 0xa8]
jne 0x1800aaa98
movzx eax, byte [0x180146c87]
movzx eax, al
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
sub eax, ecx
movzx ecx, byte [0x180146c87]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180146c87], al
jmp 0x1800aab07
movzx eax, byte [0x180146c03]
movzx eax, al
test eax, eax
jne 0x1800aaabe
cmp qword [0x180146cf0], 0
je 0x1800aaabe
mov qword [rsp + 0x340], 0
jmp 0x1800aaaca
mov qword [rsp + 0x340], 1
mov rax, qword [rsp + 0x88]
imul rax, qword [rsp + 0x340]
test rax, rax
je 0x1800aab07
mov rax, qword [0x180146d40]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, 2
mov word [rsp + 0x48], ax
jmp 0x1800aab63
movzx eax, byte [rsp + 0x45]
movzx eax, al
test eax, eax
je 0x1800aab3b
movzx eax, word [rsp + 0x58]
movsx ecx, word [0x180146d5c]
sub eax, ecx
mov word [rsp + 0x58], ax
movzx eax, byte [0x180146c43]
add eax, dword [rsp + 0x60]
mov byte [0x180146c43], al
jmp 0x1800aab63
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, dword [rsp + 0x5c]
jg 0x1800aab63
mov rax, qword [rsp + 0x78]
not rax
mov ecx, dword [rsp + 0x68]
not ecx
mov ecx, ecx
add rax, rcx
not rax
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x2c8]
mov ecx, dword [rsp + 0x104]
add eax, ecx
mov dword [rsp + 0x3e8], eax
mov eax, 0xb714
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x2cc]
mov ecx, dword [rsp + 0x104]
add eax, ecx
mov dword [rsp + 0x2fc], eax
mov byte [0x180146c5f], 4
cmp qword [rsp + 0x88], 0
jne 0x1800aabbc
mov eax, 1
mov word [rsp + 0xbe], ax
jmp 0x1800aabc6
xor eax, eax
mov word [rsp + 0xbe], ax
movzx eax, word [rsp + 0xbe]
mov word [rsp + 0x58], ax
mov rax, qword [rsp + 0x70]
add rax, qword [rsp + 0x88]
mov qword [rsp + 0x70], rax
movzx eax, byte [0x180146c5f]
mov byte [rsp + 0xb8], al
cmp byte [rsp + 0xb8], 0
je 0x1800aac32
cmp byte [rsp + 0xb8], 1
je 0x1800aac49
cmp byte [rsp + 0xb8], 2
je 0x1800aac7a
cmp byte [rsp + 0xb8], 3
je 0x1800aaca8
cmp byte [rsp + 0xb8], 4
je 0x1800aacd7
jmp 0x1800aacf8
movzx eax, byte [rsp + 0x44]
movzx eax, al
imul eax, eax, 0x57
mov word [0x180146d60], ax
jmp 0x1800aacf8
movzx eax, byte [0x180146c86]
add eax, 0x1dbf9651
cdqe
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0x58]
imul eax, dword [0x180146c04]
mov word [rsp + 0x58], ax
jmp 0x1800aacf8
mov rax, qword [0x180146d00]
sub rax, 0x2d
mov byte [0x180146c5f], al
mov eax, dword [0x180146d14]
mov eax, eax
mov rcx, qword [rsp + 0x78]
lea rax, [rax + rcx + 0x49cf]
mov dword [0x180146d14], eax
jmp 0x1800aacf8
movzx eax, word [0x180146d58]
inc ax
mov word [0x180146d58], ax
movzx eax, byte [rsp + 0x40]
movsx eax, al
and eax, dword [rsp + 0x68]
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x1800aacf8
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov dword [0x180146d64], eax
movzx eax, byte [0x180146bc7]
movsx eax, al
xor eax, 0xf485475f
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x114], eax
mov r9d, 0x57
mov r8d, 0x45
mov edx, dword [rsp + 0x88]
xor ecx, ecx
call fcn.180094760
mov byte [rsp + 0x45], al
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800aae44
movzx eax, byte [0x180146c03]
movzx eax, al
test eax, eax
je 0x1800aae44
movsx eax, word [0x180146c5c]
mov ecx, dword [rsp + 0x5c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
xor edx, edx
mov ecx, 0xd
call fcn.180094460
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x43]
movsx eax, al
mov ecx, dword [0x180146d34]
cmp eax, ecx
ja 0x1800aae44
mov eax, dword [0x180146d4c]
mov eax, eax
cmp rax, qword [rsp + 0xa0]
jl 0x1800aada7
mov dword [rsp + 0x254], 1
jmp 0x1800aadb2
mov dword [rsp + 0x254], 0
mov eax, dword [0x180146d4c]
cmp eax, 0x4b
jb 0x1800aadca
mov dword [rsp + 0x250], 1
jmp 0x1800aadd5
mov dword [rsp + 0x250], 0
mov eax, dword [rsp + 0x250]
cmp dword [rsp + 0x254], eax
jle 0x1800aadf6
mov rax, qword [rsp + 0x78]
sub rax, 0x3bde
mov byte [rsp + 0x41], al
jmp 0x1800aae44
movzx eax, byte [rsp + 0x45]
movzx eax, al
or eax, 0x5520
test eax, eax
jne 0x1800aae14
mov dword [rsp + 0x258], 1
jmp 0x1800aae1f
mov dword [rsp + 0x258], 0
movzx eax, word [0x180146d60]
cmp dword [rsp + 0x258], eax
jge 0x1800aae44
movzx eax, byte [0x180146c42]
movsx eax, al
xor eax, 0x86af
mov dword [0x180146d4c], eax
mov dword [rsp + 0x274], 0
cmp qword [rsp + 0x420], 0
jne 0x1800ab236
movzx eax, byte [0x181001ff0]
mov byte [rsp + 0x44], al
movzx eax, byte [0x180146bef]
movzx eax, al
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
movzx eax, byte [0x180146c43]
movzx ecx, byte [rsp + 0x45]
movzx ecx, cl
mov dword [rsp + 0x28], 0x9b
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x21
mov edx, eax
call fcn.180094460
mov dword [0x180146d48], eax
mov eax, dword [0x180146d48]
test eax, eax
jne 0x1800aaed3
mov dword [rsp + 0x260], 1
jmp 0x1800aaede
mov dword [rsp + 0x260], 0
mov eax, dword [0x180146d48]
cmp eax, 0x49
jne 0x1800aaef6
mov dword [rsp + 0x25c], 1
jmp 0x1800aaf01
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
jg 0x1800ab01d
mov dword [rsp + 0x28], 0xd5
mov dword [rsp + 0x20], 0xb9
mov r9d, 0x4c
mov r8d, 0x7a
xor edx, edx
mov ecx, dword [0x180146d38]
call fcn.180094460
mov word [0x180146d08], ax
movsx eax, word [0x180146d08]
test eax, eax
je 0x1800ab00c
xor r8d, r8d
mov edx, 0x72
xor ecx, ecx
call fcn.1800953a0
mov byte [0x180146caf], al
movsx eax, byte [0x180146caf]
test eax, eax
jl 0x1800aafee
mov eax, dword [0x180146d2c]
cmp qword [rsp + 0x98], rax
ja 0x1800aaf91
mov dword [rsp + 0x268], 1
jmp 0x1800aaf9c
mov dword [rsp + 0x268], 0
cmp qword [rsp + 0x98], 0x40
ja 0x1800aafb4
mov dword [rsp + 0x264], 1
jmp 0x1800aafbf
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
cmp dword [rsp + 0x268], eax
jle 0x1800aafd1
jmp 0x1800aafec
xor eax, eax
cmp eax, 0xffff1e24
je 0x1800aafec
movzx eax, byte [0x180146c5f]
movsx ecx, word [0x180146d30]
lea eax, [rcx + rax + 0x699e]
mov word [0x180146d30], ax
jmp 0x1800ab018
mov eax, 0x1a3e
mov word [0x180146d08], ax
jmp 0x1800ab107
mov eax, dword [0x180146d64]
mov eax, eax
mov rcx, qword [0x180146d00]
xor rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800ab044
mov dword [rsp + 0x26c], 1
jmp 0x1800ab04f
mov dword [rsp + 0x26c], 0
movsxd rax, dword [rsp + 0x5c]
movabs rcx, 0x60e2e07abdd30
imul rax, rcx
mov ecx, dword [0x180146d38]
movabs rdx, 0x3e721971c1ca6
add rax, rdx
add rax, rcx
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
not ecx
xor edx, edx
sub edx, ecx
mov ecx, edx
xor ecx, dword [rsp + 0x26c]
movsxd rcx, ecx
sub rax, rcx
test rax, rax
jne 0x1800ab0a4
mov byte [rsp + 0x80], 1
jmp 0x1800ab0ac
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x42]
movsx eax, al
test eax, eax
jne 0x1800ab0d1
mov dword [rsp + 0x270], 1
jmp 0x1800ab0dc
mov dword [rsp + 0x270], 0
movzx eax, byte [rsp + 0x43]
movsx eax, al
sub eax, dword [rsp + 0x270]
cdqe
movzx ecx, word [0x180146d60]
mov rdx, qword [rsp + 0x70]
or rcx, rdx
sub rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x108], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
cmp eax, ecx
jg 0x1800ab144
movzx eax, word [rsp + 0x54]
mov rcx, qword [rsp + 0x70]
imul rcx, rax
mov rax, rcx
not rax
mov byte [0x180146c5e], al
jmp 0x1800ab160
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
add rax, qword [rsp + 0xa8]
mov byte [0x180146c2f], al
mov eax, dword [rsp + 0x2d4]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x2e8], eax
movzx eax, byte [rsp + 0x42]
movsx eax, al
add eax, 0xfa76
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x2d8]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x2e4], eax
mov eax, dword [rsp + 0x2dc]
mov ecx, dword [rsp + 0x108]
add eax, ecx
mov dword [rsp + 0x2e0], eax
mov eax, dword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x2e4]
sub eax, ecx
mov ecx, dword [rsp + 0x2e8]
cmp eax, ecx
je 0x1800ab236
movsx eax, word [0x180146d08]
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
cmp eax, ecx
jg 0x1800ab200
lea r9, [rsp + 0x114]
mov r8d, dword [rsp + 0x430]
mov rdx, qword [rsp + 0x428]
mov rcx, qword [rsp + 0x420]
call sub.KERNEL32.dll_K32EnumProcessModules
mov dword [rsp + 0x274], eax
mov eax, dword [rsp + 0x2ec]
cmp dword [rsp + 0x274], eax
jne 0x1800ab3ff
movzx eax, byte [rsp + 0x4c]
movzx eax, al
mov ecx, 0x1fccdd78
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x70]
not rcx
imul rcx, qword [rsp + 0xa0]
not rcx
sub rax, rcx
not rax
mov qword [rsp + 0xa8], rax
movsx eax, word [0x180146d30]
sar eax, 3
mov dword [0x180146d64], eax
movzx eax, byte [0x180146c2f]
movsx rax, al
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov dword [0x180146d34], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x10c], eax
movzx eax, byte [0x180146c43]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [0x180146d20]
and rcx, rax
mov rax, rcx
mov byte [0x180146bc7], al
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov ecx, dword [0x180146d14]
sub ecx, eax
mov eax, ecx
mov dword [0x180146d14], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x2ce
mov dword [rsp + 0x3ec], eax
movzx eax, byte [rsp + 0x42]
movsx eax, al
sar eax, 7
mov dword [rsp + 0x60], eax
mov eax, dword [0x180146d64]
not eax
movzx ecx, byte [str.U_This_legacy_API_is]
movsx ecx, cl
sub eax, ecx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
movzx edx, word [rsp + 0x54]
add edx, dword [rsp + 0x68]
imul ecx, edx
imul eax, ecx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x2f0]
mov ecx, dword [rsp + 0x10c]
add eax, ecx
mov dword [rsp + 0x278], eax
imul rax, qword [rsp + 0x90], 0x2439404e
mov word [0x180146d58], ax
mov byte [rsp + 0x41], 1
mov eax, dword [rsp + 0x2f4]
mov ecx, dword [rsp + 0x10c]
add eax, ecx
mov dword [rsp + 0x27c], eax
mov eax, dword [rsp + 0x27c]
mov ecx, dword [rsp + 0x2f8]
imul eax, ecx
mov ecx, dword [rsp + 0x278]
mov edx, dword [rsp + 0x278]
imul ecx, edx
mov edx, dword [rsp + 0x27c]
add edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x1800ab3ff
movzx eax, byte [0x180146c87]
movzx eax, al
mov eax, 1
jmp 0x1800ab5b8
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x110]
imul eax, ecx
mov ecx, dword [rsp + 0x110]
mov edx, dword [rsp + 0x2fc]
add ecx, edx
cmp eax, ecx
je 0x1800ab46e
mov eax, dword [rsp + 0x430]
cmp dword [rsp + 0x114], eax
jbe 0x1800ab46e
movsx eax, word [0x180146d08]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
sub eax, ecx
mov word [0x180146d30], ax
imul eax, dword [rsp + 0x68], 0x22e1
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
mov eax, 2
jmp 0x1800ab5b8
mov rax, qword [0x180146cf8]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
xor r9d, r9d
mov r8d, eax
xor edx, edx
call fcn.180094760
mov word [0x180146d28], ax
movzx eax, word [0x180146d28]
cwde
test eax, eax
jne 0x1800ab4aa
mov dword [rsp + 0x284], 1
jmp 0x1800ab4b5
mov dword [rsp + 0x284], 0
movzx eax, word [0x180146d28]
cwde
cmp eax, 0x61
jne 0x1800ab4cf
mov dword [rsp + 0x280], 1
jmp 0x1800ab4da
mov dword [rsp + 0x280], 0
mov eax, dword [rsp + 0x280]
cmp dword [rsp + 0x284], eax
je 0x1800ab56f
movzx eax, word [rsp + 0x48]
cwde
mov ecx, dword [rsp + 0x64]
cmp eax, ecx
jne 0x1800ab509
mov dword [rsp + 0x28c], 1
jmp 0x1800ab514
mov dword [rsp + 0x28c], 0
movzx eax, word [rsp + 0x48]
cwde
cmp eax, 0x5f
jne 0x1800ab52c
mov dword [rsp + 0x288], 1
jmp 0x1800ab537
mov dword [rsp + 0x288], 0
mov eax, dword [rsp + 0x288]
cmp dword [rsp + 0x28c], eax
je 0x1800ab56d
movzx eax, byte [0x180146c87]
inc al
mov byte [0x180146c87], al
movzx eax, word [0x180146d28]
cwde
mov ecx, dword [0x180146d34]
xor eax, ecx
not eax
mov word [rsp + 0x48], ax
jmp 0x1800ab59b
movzx eax, byte [rsp + 0x45]
movzx eax, al
test eax, eax
je 0x1800ab59b
mov rax, qword [rsp + 0x88]
xor rax, 0x7985
mov word [0x180146c5c], ax
movzx eax, byte [0x180146c43]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x114]
xor edx, edx
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x438]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x418
ret