Function at 0x180070bd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
sub rsp, 0x220
mov eax, dword [0x1800e3718]
mov dword [rsp + 0x1a8], eax
mov byte [rsp + 0x23], 0x87
movzx eax, byte [0x1800e3740]
mov byte [rsp + 0x20], al
mov eax, dword [0x1800e373c]
mov word [rsp + 0x2c], ax
mov dword [rsp + 0x38], 0xe31fd659
movzx eax, byte [0x1800e36bc]
mov byte [rsp + 0x24], al
movzx eax, byte [0x1800e362d]
movzx eax, al
mov dword [rsp + 0x58], eax
mov eax, 0xc7e531c4
mov qword [rsp + 0x138], rax
mov eax, dword [0x1800e375c]
mov qword [rsp + 0x60], rax
mov rax, qword [0x1800e3778]
mov byte [rsp + 0x21], al
mov eax, dword [0x1800e3708]
mov eax, eax
mov qword [rsp + 0x50], rax
mov eax, 0xffff82c7
mov word [rsp + 0x28], ax
mov qword [rsp + 0x80], 0xeb
mov eax, dword [0x1800e3708]
mov byte [rsp + 0x25], al
mov byte [rsp + 0x22], 0x66
movzx eax, word [0x1800e3760]
mov word [rsp + 0x34], ax
mov byte [rsp + 0x30], 0xa8
mov byte [rsp + 0x26], 0x68
mov eax, 0xcadfb857
mov qword [rsp + 0x78], rax
mov eax, dword [0x1800e3718]
mov dword [rsp + 0x40], eax
mov eax, 0xd6819b76
mov qword [rsp + 0x130], rax
mov qword [rsp + 0xb8], 0x19795479
mov rax, qword [0x1800e3780]
mov dword [rsp + 0x3c], eax
movabs rax, 0xa0daa638b5b80
mov qword [rsp + 0x1e0], rax
mov rax, qword [0x1800e36b0]
mov qword [rsp + 0x1e8], rax
movsxd rax, dword [0x1800e3728]
mov qword [rsp + 0x1f0], rax
mov eax, 0x64f6
mov word [rsp + 0x140], ax
mov rax, qword [0x1800e3720]
mov byte [rsp + 0x90], al
mov byte [rsp + 0x8f], 0xbb
movzx eax, word [0x1800e376c]
mov word [rsp + 0x178], ax
mov qword [rsp + 0x1f8], 0xa66b
mov byte [rsp + 0x8e], 0xbc
mov dword [rsp + 0x1ac], 0x87
mov eax, 0xff17
mov word [rsp + 0x168], ax
movzx eax, word [0x1800e370c]
mov word [rsp + 0x174], ax
movzx eax, word [0x1800e3718]
mov word [rsp + 0x170], ax
movzx eax, byte [0x1800e3710]
mov byte [rsp + 0x8d], al
mov rax, qword [0x1800e3780]
mov qword [rsp + 0x200], rax
mov eax, dword [0x1800e375c]
mov dword [rsp + 0x1b0], eax
mov rax, qword [0x1800e3700]
mov byte [rsp + 0x8c], al
mov dword [rsp + 0x1b8], 0x3841f672
mov rax, qword [0x1800e36c0]
mov qword [rsp + 0x208], rax
movzx eax, byte [0x1800e36e4]
mov byte [rsp + 0x8b], al
mov qword [rsp + 0x210], 0xb0
mov byte [rsp + 0x8a], 0x40
movzx eax, byte [0x1800e367f]
movzx eax, al
mov word [rsp + 0x16c], ax
mov byte [rsp + 0x88], 0x72
mov dword [rsp + 0x1c0], 0x667dc611
mov byte [rsp + 0x89], 0x5c
mov byte [rsp + 0x70], 0x65
mov eax, dword [rsp + 0x38]
sub eax, 0x29
mov word [0x1800e36c8], ax
movzx eax, byte [rsp + 0x24]
movabs rcx, 0x928911ea32d09
add rax, rcx
mov dword [0x1800e36cc], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x94]
add eax, 0x1d3
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x94]
add eax, 0x2dd
mov dword [rsp + 0x1c4], eax
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180070f91
movzx eax, byte [rsp + 0x20]
cmp rax, qword [0x1800e3718]
jb 0x180070e99
mov dword [rsp + 0xc4], 1
jmp 0x180070ea4
mov dword [rsp + 0xc4], 0
movzx eax, byte [rsp + 0x20]
cmp eax, 0x13
jl 0x180070ebb
mov dword [rsp + 0xc0], 1
jmp 0x180070ec6
mov dword [rsp + 0xc0], 0
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xc4], eax
je 0x180070eee
movzx eax, word [0x1800e36f0]
add rax, qword [rsp + 0x50]
mov word [0x1800e36f0], ax
jmp 0x180070f8f
mov rax, qword [0x1800e36d8]
test rax, rax
je 0x180070f10
movsx eax, byte [rsp + 0x23]
test eax, eax
jne 0x180070f10
mov dword [rsp + 0xc8], 1
jmp 0x180070f1b
mov dword [rsp + 0xc8], 0
movzx eax, byte [rsp + 0x30]
movzx eax, al
not eax
cmp dword [rsp + 0xc8], eax
jne 0x180070f8f
mov eax, dword [0x180ada590]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x78]
not rax
mov rcx, qword [rsp + 0x60]
imul rax, rcx
mov rcx, qword [0x1800e36d0]
add rcx, rax
mov rax, rcx
mov ecx, dword [0x1800e3738]
movsxd rcx, ecx
mov rdx, qword [rsp + 0xb8]
add rdx, rcx
mov rcx, rdx
movzx edx, word [0x1800e3774]
movzx edx, dx
xor edx, 0xffff9266
movsxd rdx, edx
imul rcx, rdx
sub rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180070fb1
movsx eax, word [rsp + 0x2c]
test eax, eax
je 0x180070fb1
mov rax, qword [rsp + 0x78]
movabs rcx, 0x1e9c78bd23e1c
xor rax, rcx
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x94]
add eax, 0x276
mov dword [rsp + 0x1bc], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1800e3764]
cmp eax, ecx
je 0x18007100b
movzx eax, word [0x1800e372c]
imul rax, qword [rsp + 0x50]
movzx ecx, word [0x1800e372c]
sub rcx, rax
mov rax, rcx
mov word [0x1800e372c], ax
mov rax, qword [0x1800e3720]
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x98]
add eax, 0x2a4
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0xf4], eax
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x25]
cmp rax, rcx
jle 0x18007104a
mov dword [rsp + 0xd0], 1
jmp 0x180071055
mov dword [rsp + 0xd0], 0
mov rax, qword [rsp + 0x78]
cmp rax, 0x3c
jle 0x18007106d
mov dword [rsp + 0xcc], 1
jmp 0x180071078
mov dword [rsp + 0xcc], 0
mov eax, dword [rsp + 0xcc]
cmp dword [rsp + 0xd0], eax
jl 0x18007108a
jmp 0x180071104
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x1800710bf
movzx eax, word [0x1800e370c]
movzx eax, ax
movsx ecx, word [0x1800e36b8]
imul eax, ecx
movzx ecx, word [0x1800e370c]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1800e370c], ax
jmp 0x180071104
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rsp + 0x24]
cmp rax, rcx
jb 0x180071104
movzx eax, byte [rsp + 0x20]
add rax, qword [rsp + 0x138]
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
imul rax, rcx
mov byte [0x1800e3657], al
movzx eax, byte [rsp + 0x22]
movsx eax, al
add eax, 0x98c2a47f
mov word [0x1800e376c], ax
mov eax, dword [rsp + 0x98]
add eax, 0x18c
mov dword [rsp + 0xf0], eax
mov eax, 2
mov word [rsp + 0x34], ax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x5f
mov dword [rsp + 0x1a0], eax
mov qword [rsp + 0x80], 0xaa3a
mov eax, dword [rsp + 0x40]
add eax, 0x6b9b
cdqe
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x9c]
add eax, 0xb
mov dword [rsp + 0x1cc], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x21
mov dword [rsp + 0x1d0], eax
mov byte [rsp + 0x25], 4
mov eax, 2
imul rax, rax, 0x5a
lea rcx, [0x180cf4eb0]
movsx eax, word [rcx + rax]
movsx ecx, byte [rsp + 0x23]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
movzx eax, byte [rsp + 0x25]
mov byte [rsp + 0x44], al
cmp byte [rsp + 0x44], 0
je 0x1800711e3
cmp byte [rsp + 0x44], 1
je 0x180071208
cmp byte [rsp + 0x44], 2
je 0x180071264
cmp byte [rsp + 0x44], 3
je 0x18007127d
cmp byte [rsp + 0x44], 4
je 0x18007128b
jmp 0x1800712c7
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x3c]
sub eax, 0x77b4
mov byte [rsp + 0x21], al
jmp 0x1800712c7
mov eax, 0x9b
mov word [rsp + 0x28], ax
movsx eax, word [rsp + 0x2c]
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
not ecx
sub eax, ecx
movzx ecx, word [0x1800e3774]
movzx ecx, cx
imul ecx, dword [0x1800e36e4]
sub eax, ecx
mov eax, eax
movsxd rcx, dword [0x1800e3728]
mov rdx, qword [rsp + 0x50]
imul rdx, rcx
mov rcx, rdx
sub rcx, qword [0x1800e36b0]
not rcx
add rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x1800712c7
mov eax, 0xe2976f61
mov rcx, qword [0x1800e36b0]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x24], al
jmp 0x1800712c7
mov eax, dword [0x180ada590]
mov dword [0x1800e3770], eax
jmp 0x1800712c7
mov eax, dword [0x1800e375c]
mov rcx, qword [0x1800e3700]
mov rdx, qword [0x1800e36d8]
add rcx, rdx
add rax, rcx
test rax, rax
jne 0x1800712b6
mov eax, 1
mov word [rsp + 0x48], ax
jmp 0x1800712bd
xor eax, eax
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x48]
mov word [rsp + 0x2c], ax
mov dword [rsp + 0x154], 0x3c9
movzx eax, byte [rsp + 0x20]
cmp eax, dword [rsp + 0x40]
jne 0x1800712ea
mov dword [rsp + 0xd8], 1
jmp 0x1800712f5
mov dword [rsp + 0xd8], 0
movzx eax, byte [rsp + 0x20]
cmp eax, 0x4a
jne 0x18007130c
mov dword [rsp + 0xd4], 1
jmp 0x180071317
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0xd8], eax
jle 0x1800713c7
movzx eax, byte [rsp + 0x21]
movzx eax, al
cmp dword [0x1800e3740], eax
je 0x180071348
mov dword [rsp + 0xe0], 1
jmp 0x180071353
mov dword [rsp + 0xe0], 0
cmp dword [0x1800e3740], 0x16
je 0x180071369
mov dword [rsp + 0xdc], 1
jmp 0x180071374
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
cmp dword [rsp + 0xe0], eax
je 0x180071398
movzx eax, byte [rsp + 0x24]
sar eax, 5
cdqe
mov qword [rsp + 0x138], rax
jmp 0x1800713c5
mov rax, qword [rsp + 0x130]
not rax
mov rcx, qword [rsp + 0x50]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [0x1800e3700]
inc rax
mov qword [0x1800e3700], rax
jmp 0x1800713dd
movzx eax, byte [0x1800e3656]
movzx eax, al
imul eax, eax, 0xa1d6eea2
mov byte [0x1800e362f], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0xa0], eax
mov qword [0x1800e3718], 4
movsx eax, word [rsp + 0x28]
movzx ecx, byte [0x1800e367f]
movzx ecx, cl
add eax, ecx
movsx ecx, word [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x28], ax
mov rax, qword [0x1800e3718]
mov qword [rsp + 0x128], rax
cmp qword [rsp + 0x128], 0
je 0x180071463
cmp qword [rsp + 0x128], 1
je 0x1800714a3
cmp qword [rsp + 0x128], 2
je 0x1800714b3
cmp qword [rsp + 0x128], 3
je 0x1800714c3
cmp qword [rsp + 0x128], 4
je 0x1800714df
jmp 0x1800714eb
mov eax, dword [rsp + 0x40]
add eax, 0xfd9bef80
mov word [rsp + 0x2c], ax
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180071489
movsx eax, byte [rsp + 0x23]
mov dword [rsp + 0xe4], eax
jmp 0x180071495
movsx eax, word [rsp + 0x28]
mov dword [rsp + 0xe4], eax
movzx eax, byte [rsp + 0xe4]
mov byte [rsp + 0x21], al
jmp 0x1800714eb
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov dword [0x1800e3728], eax
jmp 0x1800714eb
mov eax, dword [rsp + 0x3c]
imul eax, eax, 0xa7
mov byte [rsp + 0x21], al
jmp 0x1800714eb
imul eax, dword [0x1800e3728], 0xd1bf0d3
mov ecx, dword [0x1800e3740]
add ecx, eax
mov eax, ecx
mov dword [0x1800e3740], eax
jmp 0x1800714eb
mov eax, dword [0x180ada590]
mov dword [0x1800e3728], eax
mov eax, dword [rsp + 0xa0]
add eax, 0xdffe
mov dword [rsp + 0x1d4], eax
movzx eax, word [0x1800e36e0]
sub eax, 0x69a2
mov dword [0x1800e36ac], eax
mov eax, dword [rsp + 0xa0]
add eax, 0xfd
mov dword [rsp + 0x164], eax
movzx eax, word [0x1800e36f4]
movzx eax, ax
test eax, eax
je 0x180071533
jmp 0x180071551
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0xa0]
add eax, 0xa660
mov dword [rsp + 0x17c], eax
mov eax, dword [0x1800e3770]
mov eax, dword [rsp + 0x164]
mov ecx, dword [rsp + 0x17c]
or eax, ecx
mov ecx, 0xa849
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x158], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0xa4], eax
mov eax, 8
imul rax, rax, 0x792f
lea rcx, [0x180bacbd0]
mov rdx, qword [rsp + 0x60]
add rdx, qword [rcx + rax]
mov rax, rdx
mov qword [rsp + 0x60], rax
mov eax, 0x9b1667ac
mov qword [0x1800e36e8], rax
mov eax, dword [rsp + 0xa4]
add eax, 0x79e3
mov dword [rsp + 0x144], eax
mov eax, dword [0x1800e36ac]
not eax
mov byte [rsp + 0x22], al
movzx eax, word [rsp + 0x34]
inc ax
mov word [rsp + 0x34], ax
mov eax, dword [rsp + 0xa4]
add eax, 0x2418
mov dword [rsp + 0x1d8], eax
mov eax, dword [rsp + 0x3c]
sub eax, 0xf2
mov ecx, dword [0x1800e373c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e373c], eax
movzx eax, word [0x1800e36f0]
sub rax, qword [rsp + 0x138]
movzx ecx, word [0x1800e36f0]
sub rcx, rax
mov rax, rcx
mov word [0x1800e36f0], ax
mov eax, dword [rsp + 0xa4]
add eax, 0x75
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x144]
mov ecx, dword [rsp + 0xa8]
imul eax, ecx
mov ecx, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xa8]
add ecx, edx
imul eax, ecx
xor eax, 0x32eb3405
mov ecx, dword [rsp + 0xe8]
mov edx, dword [rsp + 0xe8]
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x3c]
cdqe
mov rcx, qword [rsp + 0xb8]
cmp rax, rcx
jg 0x1800716ce
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1800716cc
movzx eax, byte [0x1800e3657]
movzx eax, al
mov rcx, qword [0x1800e3720]
xor rax, rcx
mov byte [0x1800e3657], al
jmp 0x18007171d
cmp dword [0x1800e3758], 0
je 0x18007171d
movsx eax, word [rsp + 0x28]
add eax, 0xce13
test eax, eax
jne 0x1800716ec
mov byte [rsp + 0x31], 1
jmp 0x1800716f1
mov byte [rsp + 0x31], 0
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x22], al
movzx eax, byte [0x1800e362e]
movzx eax, al
xor eax, 0x322ac602
movzx ecx, byte [0x1800e362e]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800e362e], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0xac], eax
mov byte [rsp + 0x20], 1
movzx eax, byte [rsp + 0x21]
movzx eax, al
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
not ecx
movzx edx, byte [rsp + 0x25]
xor ecx, edx
xor eax, ecx
cdqe
movzx ecx, word [0x1800e3774]
movzx ecx, cx
not ecx
movsxd rcx, ecx
mov edx, dword [rsp + 0x38]
movsxd rdx, edx
mov r8, qword [0x1800e3730]
not r8
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x21]
movzx eax, al
sub eax, 0xf1
cdqe
movzx ecx, word [0x1800e3760]
movzx ecx, cx
and rcx, qword [0x1800e36c0]
add rax, rcx
mov dword [0x1800e3728], eax
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0xec], al
cmp byte [rsp + 0xec], 0
je 0x1800717c7
cmp byte [rsp + 0xec], 1
je 0x1800717ec
jmp 0x18007181b
movzx eax, byte [rsp + 0x20]
sar eax, 3
mov byte [rsp + 0x20], al
movzx eax, word [0x1800e376c]
movzx ecx, word [0x1800e370c]
movzx ecx, cx
add eax, ecx
mov byte [rsp + 0x26], al
jmp 0x18007181b
mov rax, qword [rsp + 0x80]
mov dword [0x1800e3764], eax
movzx eax, word [0x1800e372c]
mov ecx, dword [0x1800e373c]
add eax, ecx
movzx ecx, word [0x1800e372c]
xor ecx, eax
mov eax, ecx
mov word [0x1800e372c], ax
mov eax, dword [rsp + 0xac]
add eax, 0x7440
mov dword [rsp + 0x148], eax
xor eax, eax
test eax, eax
je 0x180071889
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180071875
mov eax, dword [rsp + 0x3c]
cdqe
movabs rcx, 0xf38c1627ab61f
sub rax, rcx
mov byte [0x1800e362c], al
mov eax, dword [0x1800e373c]
cdqe
mov rcx, qword [0x1800e3750]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3750], rax
jmp 0x180071887
movsx eax, byte [0x1800e362f]
imul eax, dword [rsp + 0x40]
mov byte [0x1800e362f], al
jmp 0x1800718b6
movzx eax, byte [rsp + 0x26]
movzx eax, al
test eax, eax
je 0x1800718b6
movzx eax, word [0x1800e36e0]
sub eax, 0xa0
movzx ecx, byte [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x24], al
mov dword [rsp + 0x38], 0xd4
mov eax, dword [rsp + 0xac]
add eax, 0x6be1
mov dword [rsp + 0x14c], eax
mov eax, 3
mov word [0x1800e36b8], ax
movzx eax, byte [0x1800e3657]
movzx eax, al
mov ecx, dword [0x1800e36cc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e36cc]
add ecx, eax
mov eax, ecx
mov dword [0x1800e36cc], eax
mov dword [0x1800e36ac], 0x9b6a6b11
movsx eax, word [0x1800e36b8]
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
je 0x18007192d
cmp dword [rsp + 0x5c], 1
je 0x180071941
cmp dword [rsp + 0x5c], 2
je 0x180071956
cmp dword [rsp + 0x5c], 3
je 0x180071971
jmp 0x180071990
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x1800e3770]
imul eax, ecx
mov byte [rsp + 0x23], al
jmp 0x180071990
movzx eax, word [0x1800e36f4]
movzx eax, ax
sub eax, 0x29c1
mov byte [rsp + 0x22], al
jmp 0x180071990
movsx eax, word [rsp + 0x28]
sub eax, dword [0x1800e3740]
movsx ecx, word [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x28], ax
jmp 0x180071990
mov eax, dword [rsp + 0x40]
not eax
movsx ecx, word [0x1800e36b8]
add eax, ecx
mov ecx, dword [rsp + 0x3c]
sub eax, ecx
mov ecx, dword [rsp + 0x58]
sub eax, ecx
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0xac]
add eax, 0xceae
mov dword [rsp + 0x150], eax
mov eax, 8
imul rax, rax, 0x42b3
lea rcx, [0x180b45300]
movzx eax, byte [rcx + rax]
mov byte [0x1800e362e], al
mov byte [rsp + 0x22], 2
movzx eax, word [0x180ada590]
mov word [0x1800e36f4], ax
movsx eax, word [rsp + 0x28]
test eax, eax
jne 0x1800719ea
mov qword [rsp + 0x180], 1
jmp 0x1800719f6
mov qword [rsp + 0x180], 0
mov rax, qword [0x1800e36d0]
or rax, qword [rsp + 0x180]
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0xb0], al
cmp byte [rsp + 0xb0], 0
je 0x180071a35
cmp byte [rsp + 0xb0], 1
je 0x180071a48
cmp byte [rsp + 0xb0], 2
je 0x180071a7f
jmp 0x180071a8c
movzx eax, word [0x1800e372c]
inc ax
mov word [0x1800e372c], ax
jmp 0x180071a8c
movsx ax, byte [rsp + 0x23]
mov ecx, 2
imul rcx, rcx, 0x1c30
lea rdx, [0x180c7e1f0]
mov word [rdx + rcx], ax
movzx eax, byte [rsp + 0x25]
movabs rcx, 0xf5a8a68fd0f3b
sub rax, rcx
mov dword [0x1800e3764], eax
jmp 0x180071a8c
mov eax, dword [0x1800e36e4]
sub eax, 0x1e
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x148]
imul eax, eax, 0x42dc
mov ecx, dword [rsp + 0x14c]
mov edx, dword [rsp + 0x150]
xor ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0xf0]
mov edx, dword [rsp + 0xf4]
add ecx, edx
mov edx, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xf4]
xor edx, r8d
xor ecx, edx
mov edx, 0xe1a33f98
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x160], eax
mov rax, qword [0x1800e3720]
mov ecx, dword [rsp + 0x3c]
movsxd rcx, ecx
cmp rax, rcx
jg 0x180071b02
mov dword [rsp + 0xfc], 1
jmp 0x180071b0d
mov dword [rsp + 0xfc], 0
mov rax, qword [0x1800e3720]
cmp rax, 0x26
jg 0x180071b27
mov dword [rsp + 0xf8], 1
jmp 0x180071b32
mov dword [rsp + 0xf8], 0
mov eax, dword [rsp + 0xf8]
cmp dword [rsp + 0xfc], eax
je 0x180071bf4
movzx eax, byte [rsp + 0x25]
mov ecx, 0xa
sub ecx, eax
mov eax, ecx
imul eax, eax, 0x370b8d00
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x24]
add eax, 0x497b
sub eax, dword [0x1800e3728]
test eax, eax
jne 0x180071b80
mov qword [rsp + 0x188], 1
jmp 0x180071b8c
mov qword [rsp + 0x188], 0
cmp qword [rsp + 0x50], 0
jne 0x180071ba1
mov dword [rsp + 0x100], 1
jmp 0x180071bac
mov dword [rsp + 0x100], 0
movzx eax, word [0x1800e370c]
movzx eax, ax
imul eax, dword [rsp + 0x100]
cdqe
movabs rcx, 0x134fc7cd66bb4
mov rdx, qword [rsp + 0x188]
add rcx, rdx
add rax, rcx
test rax, rax
jne 0x180071be4
mov byte [rsp + 0x32], 1
jmp 0x180071be9
mov byte [rsp + 0x32], 0
movzx eax, byte [rsp + 0x32]
mov byte [rsp + 0x24], al
jmp 0x180071c34
mov eax, dword [0x1800e3738]
test eax, eax
je 0x180071c34
mov eax, 0xebb12832
mov rcx, qword [0x1800e3750]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x58]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x58], eax
mov rax, qword [0x1800e36e8]
add rax, qword [rsp + 0x50]
mov qword [0x1800e36e8], rax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x22]
movsx eax, al
movsx ecx, word [rsp + 0x2c]
cmp eax, ecx
je 0x180071ce5
movzx eax, word [rsp + 0x34]
cmp qword [0x1800e3718], rax
jbe 0x180071c6e
mov dword [rsp + 0x108], 1
jmp 0x180071c79
mov dword [rsp + 0x108], 0
cmp qword [0x1800e3718], 0x23
jbe 0x180071c90
mov dword [rsp + 0x104], 1
jmp 0x180071c9b
mov dword [rsp + 0x104], 0
mov eax, dword [rsp + 0x104]
cmp dword [rsp + 0x108], eax
jne 0x180071ce5
mov rax, qword [0x1800e36c0]
dec rax
mov qword [0x1800e36c0], rax
movzx eax, byte [0x1800e362d]
movzx eax, al
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
imul eax, ecx
movzx ecx, byte [0x1800e362d]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x1800e362d], al
mov eax, dword [rsp + 0x154]
mov ecx, dword [rsp + 0x74]
add eax, ecx
mov dword [rsp + 0x1b4], eax
movzx eax, byte [rsp + 0x26]
movzx eax, al
cmp eax, dword [0x1800e36bc]
jge 0x180071d16
mov dword [rsp + 0x110], 1
jmp 0x180071d21
mov dword [rsp + 0x110], 0
movzx eax, byte [rsp + 0x26]
movzx eax, al
cmp eax, 0x23
jge 0x180071d3b
mov dword [rsp + 0x10c], 1
jmp 0x180071d46
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x110], eax
jle 0x180071d58
jmp 0x180071dc8
movzx eax, byte [rsp + 0x21]
movzx eax, al
test eax, eax
jne 0x180071d72
mov qword [rsp + 0x190], 1
jmp 0x180071d7e
mov qword [rsp + 0x190], 0
movzx eax, byte [0x1800e362d]
movzx eax, al
movzx ecx, word [0x1800e3744]
movsx ecx, cx
not ecx
add eax, ecx
cdqe
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x190]
xor rdx, rcx
mov rcx, rdx
sub rax, rcx
movzx ecx, byte [rsp + 0x26]
movzx ecx, cl
imul ecx, ecx, 0xa358f6ed
mov ecx, ecx
xor rax, rcx
mov word [0x1800e36e0], ax
mov eax, dword [rsp + 0x158]
mov ecx, dword [rsp + 0x74]
add eax, ecx
mov dword [rsp + 0x11c], eax
movsx eax, byte [0x1800e362f]
not eax
sub eax, 0x9c04
not eax
test eax, eax
je 0x180071eb5
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
je 0x180071e13
mov dword [rsp + 0x118], 1
jmp 0x180071e1e
mov dword [rsp + 0x118], 0
mov rax, qword [rsp + 0x80]
cmp rax, 0x5e
je 0x180071e39
mov dword [rsp + 0x114], 1
jmp 0x180071e44
mov dword [rsp + 0x114], 0
mov eax, dword [rsp + 0x114]
cmp dword [rsp + 0x118], eax
jl 0x180071ea7
movzx eax, word [0x1800e3760]
movzx eax, ax
test eax, eax
je 0x180071e73
mov rax, qword [0x1800e36f8]
mov qword [rsp + 0x198], rax
jmp 0x180071e86
movzx eax, word [0x1800e36c8]
movsx rax, ax
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [0x1800e36b0], rax
movzx eax, word [rsp + 0x34]
shl eax, 1
cdqe
mov qword [0x1800e36e8], rax
jmp 0x180071eb3
mov eax, 0xb59b
mov word [0x1800e372c], ax
jmp 0x180071ed0
mov eax, dword [0x1800e3770]
mov eax, eax
movabs rcx, 0xc8fe9518c5aa6
sub rax, rcx
mov dword [0x1800e3758], eax
mov eax, dword [rsp + 0x15c]
mov ecx, dword [rsp + 0x74]
add eax, ecx
mov dword [rsp + 0x1a4], eax
mov qword [rsp + 0x68], 0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, 0x228
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0x11c]
mov edx, dword [rsp + 0x160]
or ecx, edx
cmp eax, ecx
je 0x180071fca
cmp qword [rsp + 0x68], 0
jne 0x180071fca
imul rax, qword [rsp + 0x50], 0xe05e
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x180071f94
movzx eax, byte [rsp + 0x22]
movsx eax, al
sub eax, 0x21
cdqe
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x180071f78
movzx eax, byte [rsp + 0x22]
movsx eax, al
mov dword [rsp + 0x120], eax
jmp 0x180071f86
movzx eax, word [0x1800e376c]
mov dword [rsp + 0x120], eax
movzx eax, byte [rsp + 0x120]
mov byte [rsp + 0x20], al
jmp 0x180071fc6
mov rax, qword [0x1800e3718]
mov rcx, qword [rsp + 0x138]
xor rcx, rax
mov rax, rcx
mov word [rsp + 0x28], ax
movsx rax, word [rsp + 0x2c]
movabs rcx, 0x3fb893f17348f
sub rax, rcx
mov word [rsp + 0x2c], ax
xor eax, eax
jmp 0x180072024
mov rax, qword [rsp + 0x68]
mov qword [rax], 0
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0x68]
add rax, 0x18
mov rdi, rax
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x68]
add rax, 0x11c
mov rdi, rax
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x220], 0
mov rax, qword [rsp + 0x68]
add rsp, 0x220
pop rdi
ret