Function at 0x180026cd0
Capabilities:
Parse pe header

Disassembly:
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x1801c1080]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r14, qword [rcx + 0x98]
mov rdi, qword [rcx + 0xa0]
mov r13d, edx
mov rsi, rcx
xor r15d, r15d
xor edx, edx
mov qword [rcx + 0xd8], r15
mov rcx, rdi
mov qword [rsp + 0xa0], r14
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x18002743a
lea r8, [rsp + 0x28]
lea rdx, [0x18016d010]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
test eax, eax
jne 0x18002743a
mov qword [rsp + 0x130], rbx
mov eax, 0x5a4d
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xe0], r12
mov dword [rsp + 0x20], 2
cmp word [rsp + 0x28], ax
jne 0x180027415
movzx edx, word [rsp + 0x2a]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x2c]
lea rdx, [0x18016d028]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
test eax, eax
jne 0x180027422
movzx eax, word [rsp + 0x2c]
mov ecx, 0x454e
mov r11d, 2
mov dword [rsp + 0x20], r11d
cmp ax, cx
jne 0x180026f8e
movzx edx, word [rsp + 0x2e]
movzx eax, word [rsp + 0x2a]
mov rcx, rdi
add edx, eax
mov ebp, r15d
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
movzx edx, word [rsp + 0x30]
movzx eax, word [rsp + 0x2e]
mov rcx, rdi
sub edx, eax
call fcn.180005380
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
mov rcx, rdi
call fcn.180003620
mov rcx, rdi
movzx r12d, ax
call fcn.180003620
movzx ebx, ax
test ax, ax
je 0x180026e8d
nop
mov rcx, rdi
call fcn.180003620
mov ecx, 0x8008
cmp bx, cx
je 0x180026e77
movzx eax, ax
lea ecx, [rax + rax*2]
lea eax, [rcx*4 + 4]
mov rcx, rdi
cdqe
add qword [rdi + 0x38], rax
call fcn.180003620
mov bx, ax
test ax, ax
jne 0x180026e40
jmp 0x180026e8d
mov rcx, rdi
mov r15w, ax
call fcn.1800034a0
mov ecx, dword [rdi + 0x38]
sub ecx, dword [rdi + 0x40]
lea ebp, [rax + rcx + 4]
mov rcx, rdi
call fcn.180005490
test r15w, r15w
je 0x1800273fb
test ebp, ebp
je 0x1800273fb
movzx ecx, r15w
mov eax, ecx
imul eax, eax, 0x76
cmp eax, dword [rdi + 8]
ja 0x1800273fb
cmp r13d, ecx
mov dword [rsi], ecx
jge 0x180027408
test r13d, r13d
js 0x18002741d
lea r8, [rsp + 0x20]
mov edx, 0xb8
mov rcx, r14
call fcn.180005790
mov r11d, dword [rsp + 0x20]
mov qword [rsi + 0xd8], rax
test r11d, r11d
jne 0x180027422
lea eax, [r13 + r13*2]
mov rcx, rdi
lea edx, [rbp + rax*4]
call fcn.180003430
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027415
lea edx, [rax + 0xc]
mov rcx, rdi
call fcn.180005380
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027415
mov rcx, rdi
movzx ebx, r12w
call fcn.180003620
mov ecx, ebx
movzx r11d, ax
mov rax, qword [rsi + 0xd8]
shl r11d, cl
mov rcx, rdi
mov dword [rax], r11d
call fcn.180003620
mov ecx, ebx
movzx r11d, ax
mov rax, qword [rsi + 0xd8]
shl r11d, cl
mov rcx, rdi
mov dword [rax + 0xa8], r11d
add qword [rdi + 0x38], 8
call fcn.180005490
mov rcx, qword [rsi + 0xd8]
mov rdx, rdi
call fcn.180026be0
mov r11d, eax
mov dword [rsp + 0x20], eax
jmp 0x1800273f5
mov ebx, 0x4550
cmp ax, bx
jne 0x1800273f5
movzx edx, word [rsp + 0x2a]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x50]
lea rdx, [0x18016d040]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
cmp dword [rsp + 0x50], ebx
jne 0x1800273fb
mov eax, 0x14c
cmp word [rsp + 0x54], ax
jne 0x1800273fb
mov eax, 0xe0
cmp word [rsp + 0x58], ax
jne 0x1800273fb
mov eax, 0x10b
cmp word [rsp + 0x5a], ax
jne 0x1800273fb
mov dword [rsi], r15d
movzx ebx, r15w
cmp r15w, word [rsp + 0x56]
jae 0x1800273fb
nop dword [rax + rax]
lea r8, [rsp + 0xb8]
lea rdx, [0x18016d078]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0x5c], eax
je 0x180027078
inc bx
cmp bx, word [rsp + 0x56]
jb 0x180027030
mov r11d, 3
jmp 0x180027422
mov edx, dword [rsp + 0xc8]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x88]
lea rdx, [0x18016d098]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
movzx ecx, word [rsp + 0x96]
movzx eax, word [rsp + 0x94]
mov r12d, dword [rsp + 0xc8]
add ecx, eax
mov word [rsp + 0x24], r15w
test ecx, ecx
jle 0x1800273f5
mov edx, r15d
nop word [rax + rax]
lea edx, [r12 + rdx*8 + 0x10]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x48]
lea rdx, [0x18016d0b8]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
mov ecx, dword [rsp + 0x4c]
bt ecx, 0x1f
jae 0x1800273fb
mov eax, dword [rsp + 0xc8]
btr ecx, 0x1f
lea ebx, [rcx + rax]
mov dword [rsp + 0x4c], ecx
mov rcx, rdi
mov edx, ebx
mov dword [rsp + 0x40], ebx
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x78]
lea rdx, [0x18016d098]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
movzx ecx, word [rsp + 0x86]
movzx eax, word [rsp + 0x84]
movzx r14d, r15w
add ecx, eax
test ecx, ecx
jle 0x1800273cb
mov edx, r15d
lea edx, [rbx + rdx*8 + 0x10]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x38]
lea rdx, [0x18016d0b8]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
mov ecx, dword [rsp + 0x3c]
bt ecx, 0x1f
jae 0x1800273fb
mov eax, dword [rsp + 0xc8]
btr ecx, 0x1f
lea ebp, [rcx + rax]
mov dword [rsp + 0x3c], ecx
mov rcx, rdi
mov edx, ebp
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x68]
lea rdx, [0x18016d098]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
movzx ecx, word [rsp + 0x76]
movzx eax, word [rsp + 0x74]
movzx ebx, r15w
add ecx, eax
test ecx, ecx
jle 0x1800273a5
mov edx, r15d
nop word [rax + rax]
lea edx, [rbp + rdx*8 + 0x10]
mov rcx, rdi
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0x98]
lea rdx, [0x18016d0b8]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
bt dword [rsp + 0x3c], 0x1f
jb 0x1800273fb
cmp dword [rsp + 0x48], 8
jne 0x18002738b
mov edx, dword [rsp + 0x9c]
mov rcx, rdi
add edx, r12d
call fcn.180003430
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
lea r8, [rsp + 0xa8]
lea rdx, [0x18016d0c8]
mov rcx, rdi
call fcn.1800054e0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027422
cmp r13d, dword [rsi]
jne 0x180027389
mov rcx, qword [rsp + 0xa0]
lea r8, [rsp + 0x20]
mov edx, 0xb8
call fcn.180005790
mov r11d, dword [rsp + 0x20]
mov qword [rsi + 0xd8], rax
test r11d, r11d
jne 0x180027422
mov ecx, dword [rsp + 0xa8]
mov rdx, rdi
sub ecx, dword [rsp + 0xc0]
add ecx, dword [rsp + 0xc8]
mov dword [rax], ecx
mov rcx, qword [rsi + 0xd8]
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0xa8], eax
mov rcx, qword [rsi + 0xd8]
call fcn.180026be0
mov r11d, eax
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180027415
inc dword [rsi]
movzx ecx, word [rsp + 0x76]
movzx eax, word [rsp + 0x74]
inc bx
add ecx, eax
movzx edx, bx
cmp edx, ecx
jl 0x180027270
movzx ecx, word [rsp + 0x86]
movzx eax, word [rsp + 0x84]
mov ebx, dword [rsp + 0x40]
inc r14w
add ecx, eax
movzx edx, r14w
cmp edx, ecx
jl 0x1800271b0
movzx ebx, word [rsp + 0x24]
movzx ecx, word [rsp + 0x96]
movzx eax, word [rsp + 0x94]
inc bx
add ecx, eax
movzx edx, bx
mov word [rsp + 0x24], bx
cmp edx, ecx
jl 0x1800270f0
mov eax, dword [rsi]
test eax, eax
jne 0x180027403
mov r11d, 3
jmp 0x180027422
cmp r13d, eax
jl 0x180027410
mov r11d, 6
jmp 0x180027422
test r11d, r11d
je 0x180027422
mov rcx, rsi
call fcn.180026b60
mov r11d, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x130]
mov r12, qword [rsp + 0xe0]
mov eax, r11d
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1801027e0
add rsp, 0xf0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret