Function at 0x1800063f0
Capabilities:
Parse pe header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x180030010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x38], r9d
mov esi, r8d
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rcx
xor edi, edi
mov ebx, edi
mov dword [rsp + 0x24], edi
mov qword [rcx], rdi
mov ecx, dword [0x1800c55e4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800c63c8], ecx
jle 0x180006497
lea rcx, [0x1800c63c8]
call fcn.180006fc8
cmp dword [0x1800c63c8], 0xffffffff
jne 0x180006497
mov ecx, 0x34d04569
call fcn.180005f20
mov qword [0x1800c63d0], rax
lea rcx, [0x1800c63c8]
call fcn.180006f5c
cmp qword [0x1800c63d0], 0
je 0x1800064b0
add esi, 2
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], 2
mov qword [rsp + 0x70], rdi
mov edx, esi
lea rcx, [rsp + 0x70]
call fcn.180006770
nop
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x40], r8
test r8, r8
je 0x180006726
mov edx, edi
mov dword [rsp + 0x28], edx
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x60]
mov qword [rsp + 0x30], rcx
test rcx, rcx
je 0x180006723
mov rax, qword [rcx + 0x18]
mov r15, qword [rax + 0x20]
mov r9d, 0x5a4d
lea r13, [rax + 0x20]
nop dword [rax]
lea rax, [r15]
cmp edx, esi
je 0x1800065fb
mov r15, qword [r15]
mov rbp, qword [rax + 0x20]
cmp rbp, qword [rcx + 0x10]
je 0x1800065f2
mov eax, edx
lea rcx, [rax + rax*2]
lea r12, [r8 + rcx*8]
cmp word [rbp], r9w
jne 0x1800065ed
movsxd r14, dword [rbp + 0x3c]
add r14, rbp
cmp dword [r14], 0x4550
jne 0x1800065ed
mov esi, edi
cmp di, word [r14 + 6]
jae 0x1800065e9
mov eax, esi
lea rdx, [rax + rax*4]
movzx ecx, word [r14 + 0x14]
add rcx, r14
lea rdi, [rcx + rdx*8]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rdi + rcx + 0x18], 0
jne 0x180006580
dec rcx
lea rdx, [rdi + 0x18]
call fcn.180003570
not eax
cmp eax, 0xa21c1ea3
je 0x1800065b0
inc esi
movzx eax, word [r14 + 6]
cmp esi, eax
jb 0x180006562
mov edx, dword [rsp + 0x28]
jmp 0x1800065dc
mov qword [r12], rbp
mov eax, dword [rdi + 0x24]
add rax, rbp
mov qword [r12 + 8], rax
mov eax, dword [rdi + 0x28]
mov dword [r12 + 0x10], eax
mov eax, dword [rdi + 0x24]
sub eax, dword [rdi + 0x2c]
mov dword [r12 + 0x14], eax
mov edx, dword [rsp + 0x28]
inc edx
mov dword [rsp + 0x28], edx
mov r9d, 0x5a4d
mov r8, qword [rsp + 0x40]
xor edi, edi
mov esi, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r15, r13
jne 0x180006510
mov edx, dword [rsp + 0x24]
cmp edx, esi
mov r13, qword [rsp + 0x58]
jae 0x180006723
lea rsi, [rdx + 1]
lea rsi, [rdx + rsi*2]
lea rsi, [r8 + rsi*8]
xor ebp, ebp
mov r14d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x20]
nop dword [rax]
mov rax, qword [rsi - 8]
test rax, rax
je 0x1800066f8
mov ecx, dword [rsi]
test ecx, ecx
je 0x1800066f8
mov rbx, rax
test r14d, r14d
je 0x180006661
test bl, 0xf
je 0x180006661
add rbx, 0x10
and rbx, 0xfffffffffffffff0
add ecx, 0xfffffff0
jmp 0x18000666b
mov eax, 0xffffffff
sub eax, r13d
add ecx, eax
mov edi, ecx
add rdi, rbx
cmp r13, 2
jne 0x1800066b2
movzx eax, word [r12]
test r14d, r14d
je 0x180006698
cmp rbx, rdi
jae 0x1800066ad
cmp ax, word [rbx]
je 0x1800066f3
add rbx, 0x10
cmp rbx, rdi
jb 0x180006685
mov rbx, rbp
jmp 0x1800066f3
cmp rbx, rdi
jae 0x1800066ad
nop dword [rax]
cmp ax, word [rbx]
je 0x1800066f3
inc rbx
cmp rbx, rdi
jb 0x1800066a0
mov rbx, rbp
jmp 0x1800066f3
cmp rbx, rdi
jae 0x1800066ec
nop word [rax + rax]
mov r8, r13
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, r13
je 0x1800066ef
mov eax, 1
test r14d, r14d
mov ecx, 0x10
cmovne eax, ecx
add rbx, rax
cmp rbx, rdi
jb 0x1800066c0
mov rbx, rbp
mov edx, dword [rsp + 0x24]
test rbx, rbx
jne 0x18000670c
inc edx
mov dword [rsp + 0x24], edx
add rsi, 0x18
cmp edx, r15d
jae 0x180006723
jmp 0x180006630
mov eax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x68]
mov qword [rcx], rax
mov rdi, rbx
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180006735
call fcn.18000707c
mov rax, rdi
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.180006f00
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret