Function at 0x1801ce750
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x250
lea rdi, [rsp + 0x20]
mov ecx, 0x8c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x260]
mov rax, qword [0x180370940]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x260]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x260]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x260]
mov qword [rax + 0xd8], 0
cmp dword [rsp + 0x268], 0
jge 0x1801ce7e3
mov eax, dword [rsp + 0x268]
neg eax
mov dword [rsp + 0x238], eax
jmp 0x1801ce7f1
mov eax, dword [rsp + 0x268]
mov dword [rsp + 0x238], eax
mov eax, dword [rsp + 0x238]
and eax, 0xffff
mov dword [rsp + 0x64], eax
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ce839
lea r8, [rsp + 0x54]
lea rdx, [0x180281b28]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801ce83e
jmp 0x1801cf1e1
mov dword [rsp + 0x24], 2
movzx eax, word [rsp + 0x54]
cmp eax, 0x5a4d
jne 0x1801cf1cd
xor eax, eax
test eax, eax
jne 0x1801ce856
movzx eax, word [rsp + 0x56]
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ce899
lea r8, [rsp + 0x74]
lea rdx, [0x180281b40]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801ce89e
jmp 0x1801cf1e1
mov dword [rsp + 0x24], 2
movzx eax, word [rsp + 0x74]
cmp eax, 0x454e
jne 0x1801ceba3
movzx eax, word [rsp + 0x56]
movzx ecx, word [rsp + 0x76]
add eax, ecx
mov dword [rsp + 0x84], eax
xor eax, eax
mov word [rsp + 0x8c], ax
mov dword [rsp + 0x90], 0
xor eax, eax
test eax, eax
jne 0x1801ce8de
mov edx, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ce923
movzx eax, word [rsp + 0x78]
movzx ecx, word [rsp + 0x76]
sub eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d340
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801ce928
jmp 0x1801cf1e1
mov rcx, qword [rsp + 0x38]
call fcn.18016d8e0
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x88]
cmp eax, 0x10
jle 0x1801ce95a
xor eax, eax
test eax, eax
jne 0x1801ce947
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
mov rcx, qword [rsp + 0x38]
call fcn.18016d8e0
mov word [rsp + 0x94], ax
movzx eax, word [rsp + 0x94]
test eax, eax
jne 0x1801ce97d
jmp 0x1801cea01
mov rcx, qword [rsp + 0x38]
call fcn.18016d8e0
mov word [rsp + 0x98], ax
movzx eax, word [rsp + 0x94]
cmp eax, 0x8008
jne 0x1801ce9da
movzx eax, word [rsp + 0x98]
mov word [rsp + 0x8c], ax
mov rcx, qword [rsp + 0x38]
call fcn.18016d110
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x40]
mov rcx, qword [rcx + 0x38]
sub rcx, rdx
lea eax, [rax + rcx + 4]
mov dword [rsp + 0x90], eax
jmp 0x1801cea01
movzx eax, word [rsp + 0x98]
imul eax, eax, 0xc
add eax, 4
cdqe
mov rcx, qword [rsp + 0x38]
add rax, qword [rcx + 0x38]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x38], rax
jmp 0x1801ce95a
mov rcx, qword [rsp + 0x38]
call fcn.18016d520
movzx eax, word [rsp + 0x8c]
test eax, eax
je 0x1801cea21
cmp dword [rsp + 0x90], 0
jne 0x1801cea34
xor eax, eax
test eax, eax
jne 0x1801cea21
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
movzx eax, word [rsp + 0x8c]
imul eax, eax, 0x76
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 8]
jbe 0x1801cea5c
xor eax, eax
test eax, eax
jne 0x1801cea49
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
movzx eax, word [rsp + 0x8c]
mov rcx, qword [rsp + 0x260]
mov dword [rcx], eax
cmp dword [rsp + 0x268], 0
jge 0x1801cea7d
jmp 0x1801cf1e1
movzx eax, word [rsp + 0x8c]
cmp dword [rsp + 0x64], eax
jl 0x1801cea98
mov dword [rsp + 0x24], 6
jmp 0x1801cf1e1
lea r8, [rsp + 0x24]
mov edx, 0xb8
mov rcx, qword [rsp + 0x40]
call fcn.180167450
mov rcx, qword [rsp + 0x260]
mov qword [rcx + 0xd8], rax
cmp dword [rsp + 0x24], 0
je 0x1801ceac7
jmp 0x1801cf1e1
imul eax, dword [rsp + 0x64], 0xc
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ceb08
mov edx, 0xc
mov rcx, qword [rsp + 0x38]
call fcn.18016d340
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801ceb0d
jmp 0x1801cf1cd
mov rcx, qword [rsp + 0x38]
call fcn.18016d8e0
movzx eax, ax
movzx ecx, word [rsp + 0x88]
shl eax, cl
mov rcx, qword [rsp + 0x260]
mov rcx, qword [rcx + 0xd8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d8e0
movzx eax, ax
movzx ecx, word [rsp + 0x88]
shl eax, cl
mov rcx, qword [rsp + 0x260]
mov rcx, qword [rcx + 0xd8]
mov dword [rcx + 0xa8], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x38]
add rax, 8
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 0x38], rax
mov rcx, qword [rsp + 0x38]
call fcn.18016d520
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x260]
mov rcx, qword [rax + 0xd8]
call fcn.1801ce570
mov dword [rsp + 0x24], eax
jmp 0x1801cf196
movzx eax, word [rsp + 0x74]
cmp eax, 0x4550
jne 0x1801cf196
xor eax, eax
test eax, eax
jne 0x1801cebb3
movzx eax, word [rsp + 0x56]
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cebf9
lea r8, [rsp + 0xa8]
lea rdx, [0x180281b58]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cebfe
jmp 0x1801cf1e1
xor eax, eax
test eax, eax
jne 0x1801cebfe
cmp dword [rsp + 0xa8], 0x4550
jne 0x1801cec3e
movzx eax, word [rsp + 0xac]
cmp eax, 0x14c
jne 0x1801cec3e
movzx eax, word [rsp + 0xb0]
cmp eax, 0xe0
jne 0x1801cec3e
movzx eax, word [rsp + 0xb2]
cmp eax, 0x10b
je 0x1801cec51
xor eax, eax
test eax, eax
jne 0x1801cec3e
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
mov rax, qword [rsp + 0x260]
mov dword [rax], 0
xor eax, eax
mov word [rsp + 0x220], ax
jmp 0x1801cec7e
movzx eax, word [rsp + 0x220]
inc ax
mov word [rsp + 0x220], ax
movzx eax, word [rsp + 0x220]
movzx ecx, word [rsp + 0xae]
cmp eax, ecx
jge 0x1801cecd5
lea r8, [rsp + 0xd8]
lea rdx, [0x180281b90]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cecbb
jmp 0x1801cf1e1
xor eax, eax
test eax, eax
jne 0x1801cecbb
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xb4], eax
jne 0x1801cecd3
jmp 0x1801cece8
jmp 0x1801cec6b
xor eax, eax
test eax, eax
jne 0x1801cecd5
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
xor eax, eax
test eax, eax
jne 0x1801cece8
mov edx, dword [rsp + 0xe8]
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ced2e
lea r8, [rsp + 0x108]
lea rdx, [0x180281bb0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801ced33
jmp 0x1801cf1e1
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x214], eax
xor eax, eax
mov word [rsp + 0x220], ax
jmp 0x1801ced60
movzx eax, word [rsp + 0x220]
inc ax
mov word [rsp + 0x220], ax
movzx eax, word [rsp + 0x220]
movzx ecx, word [rsp + 0x114]
movzx edx, word [rsp + 0x116]
add ecx, edx
cmp eax, ecx
jge 0x1801cf196
movzx eax, word [rsp + 0x220]
mov ecx, dword [rsp + 0x214]
lea eax, [rcx + rax*8 + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cedd0
lea r8, [rsp + 0x198]
lea rdx, [0x180281bd0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cedd5
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x19c]
and eax, 0x80000000
test eax, eax
jne 0x1801cedf2
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x19c]
btr eax, 0x1f
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0x19c]
mov ecx, dword [rsp + 0xe8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x218], eax
mov eax, dword [rsp + 0x19c]
mov ecx, dword [rsp + 0xe8]
add ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cee6a
lea r8, [rsp + 0x138]
lea rdx, [0x180281bb0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cee6f
jmp 0x1801cf1e1
xor eax, eax
mov word [rsp + 0x224], ax
jmp 0x1801cee8e
movzx eax, word [rsp + 0x224]
inc ax
mov word [rsp + 0x224], ax
movzx eax, word [rsp + 0x224]
movzx ecx, word [rsp + 0x144]
movzx edx, word [rsp + 0x146]
add ecx, edx
cmp eax, ecx
jge 0x1801cf191
movzx eax, word [rsp + 0x224]
mov ecx, dword [rsp + 0x218]
lea eax, [rcx + rax*8 + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801ceefe
lea r8, [rsp + 0x1b8]
lea rdx, [0x180281bd0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cef03
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x1bc]
and eax, 0x80000000
test eax, eax
jne 0x1801cef20
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x1bc]
btr eax, 0x1f
mov dword [rsp + 0x1bc], eax
mov eax, dword [rsp + 0x1bc]
mov ecx, dword [rsp + 0xe8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x21c], eax
mov eax, dword [rsp + 0x1bc]
mov ecx, dword [rsp + 0xe8]
add ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cef98
lea r8, [rsp + 0x168]
lea rdx, [0x180281bb0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cef9d
jmp 0x1801cf1e1
xor eax, eax
mov word [rsp + 0x228], ax
jmp 0x1801cefbc
movzx eax, word [rsp + 0x228]
inc ax
mov word [rsp + 0x228], ax
movzx eax, word [rsp + 0x228]
movzx ecx, word [rsp + 0x174]
movzx edx, word [rsp + 0x176]
add ecx, edx
cmp eax, ecx
jge 0x1801cf18c
movzx eax, word [rsp + 0x228]
mov ecx, dword [rsp + 0x21c]
lea eax, [rcx + rax*8 + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cf02c
lea r8, [rsp + 0x1d8]
lea rdx, [0x180281bd0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cf031
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x1bc]
and eax, 0x80000000
test eax, eax
je 0x1801cf04e
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
cmp dword [rsp + 0x198], 8
jne 0x1801cf187
mov eax, dword [rsp + 0x1dc]
mov ecx, dword [rsp + 0x214]
add ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x38]
call fcn.18016d040
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x1801cf0a9
lea r8, [rsp + 0x1f8]
lea rdx, [0x180281be0]
mov rcx, qword [rsp + 0x38]
call fcn.18016e230
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cf0ae
jmp 0x1801cf1e1
xor eax, eax
test eax, eax
jne 0x1801cf0ae
mov rax, qword [rsp + 0x260]
mov eax, dword [rax]
cmp dword [rsp + 0x64], eax
jne 0x1801cf171
lea r8, [rsp + 0x24]
mov edx, 0xb8
mov rcx, qword [rsp + 0x40]
call fcn.180167450
mov rcx, qword [rsp + 0x260]
mov qword [rcx + 0xd8], rax
cmp dword [rsp + 0x24], 0
je 0x1801cf0f7
jmp 0x1801cf1e1
mov eax, dword [rsp + 0x1f8]
mov ecx, dword [rsp + 0xe8]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x260]
mov rcx, qword [rcx + 0xd8]
mov dword [rcx], eax
mov rax, qword [rsp + 0x260]
mov rax, qword [rax + 0xd8]
mov ecx, dword [rsp + 0x1fc]
mov dword [rax + 0xa8], ecx
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x260]
mov rcx, qword [rax + 0xd8]
call fcn.1801ce570
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x1801cf16b
xor eax, eax
test eax, eax
jne 0x1801cf161
jmp 0x1801cf1cd
xor eax, eax
test eax, eax
jne 0x1801cf16b
mov rax, qword [rsp + 0x260]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x260]
mov dword [rcx], eax
jmp 0x1801cefa9
jmp 0x1801cee7b
jmp 0x1801ced4d
mov rax, qword [rsp + 0x260]
cmp dword [rax], 0
jne 0x1801cf1b3
xor eax, eax
test eax, eax
jne 0x1801cf1a3
mov dword [rsp + 0x24], 3
jmp 0x1801cf1e1
mov rax, qword [rsp + 0x260]
mov eax, dword [rax]
cmp dword [rsp + 0x64], eax
jl 0x1801cf1cd
mov dword [rsp + 0x24], 6
jmp 0x1801cf1e1
cmp dword [rsp + 0x24], 0
je 0x1801cf1e1
mov rcx, qword [rsp + 0x260]
call fcn.1801ce490
mov eax, dword [rsp + 0x24]
mov edi, eax
mov rcx, rsp
lea rdx, [0x1802820e0]
call fcn.180224a80
mov eax, edi
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.180224dd0
add rsp, 0x250
pop rdi
ret