Function at 0x18002ca50
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1120]
mov eax, 0x1220
call fcn.180041890
sub rsp, rax
mov rax, qword [0x180085040]
xor rax, rsp
mov qword [rbp + 0x1110], rax
mov r12, rdx
mov r15, rcx
mov qword [rbp - 0x50], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
mov ebx, r13d
xorps xmm1, xmm1
movups xmmword [rdx], xmm1
mov qword [rdx], r13
mov qword [rdx + 8], r13
mov qword [rdx + 0x10], r13
mov r14d, 1
mov dword [rsp + 0x30], r14d
mov ecx, 0x10000
mov esi, 0x5a4d
mov edi, 0x20b
nop dword [rax + rax]
mov rax, qword [r15]
lea r8, [rbp + 0x60]
mov rdx, rcx
mov rcx, r15
call qword [rax + 0x30]
cmp eax, 0xc000000d
je 0x18002d31c
cmp eax, 0xc0000022
je 0x18002d31c
cmp eax, 0xc000010a
je 0x18002d31c
test eax, eax
jne 0x18002d301
cmp dword [rbp + 0x80], 0x1000
jne 0x18002d301
mov eax, dword [rbp + 0x70]
cmp eax, 1
je 0x18002d301
bt eax, 8
jb 0x18002d301
mov rdx, qword [rbp + 0x68]
cmp rbx, rdx
je 0x18002d301
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], 7
mov word [rbp + 8], r13w
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov rax, qword [r15]
mov qword [rsp + 0x20], r13
mov r9d, 0x1000
lea r8, [rbp + 0x110]
mov rcx, r15
call qword [rax + 0x18]
test eax, eax
je 0x18002cc36
mov rdx, qword [rbp + 0x40]
cmp rdx, 7
jbe 0x18002cbdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
cmp rdx, 0x1000
mov rax, rcx
jb 0x18002cbd7
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d355
call fcn.180040cf8
mov rdx, qword [rbp + 0x20]
cmp rdx, 7
mov word [rbp + 0x28], r13w
mov qword [rbp + 0x40], 7
mov qword [rbp + 0x38], r13
jbe 0x18002d301
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x18002cc2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d355
call fcn.180040cf8
jmp 0x18002d301
movsxd rax, dword [rbp + 0x14c]
lea rax, [rbp + rax + 0x110]
cmp word [rbp + 0x110], si
jne 0x18002cb9c
cmp dword [rax], 0x4550
jne 0x18002cb9c
movzx ecx, word [rax + 0x18]
mov edx, 0x10b
cmp cx, dx
jne 0x18002cc72
mov dword [rbp + 0x4c], r13d
jmp 0x18002cc7e
cmp cx, di
jne 0x18002cc84
mov dword [rbp + 0x4c], 1
mov eax, dword [rax + 0x50]
mov dword [rbp + 0x48], eax
mov rdx, qword [rbp + 0x68]
mov qword [rbp], rdx
mov qword [rbp + 0x50], r13
mov byte [rbp + 0x58], 0
mov rax, qword [r15]
mov qword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x110]
mov r8d, 2
mov rcx, r15
call qword [rax + 0x28]
xorps xmm0, xmm0
test eax, eax
jne 0x18002d0d3
mov r8, 0xffffffffffffffff
cmp byte [r15 + 0x16], 1
jne 0x18002cdca
mov edx, dword [rbp + 0x114]
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r13
inc r8
cmp word [rdx + r8*2], 0
jne 0x18002cce3
lea rcx, [rsp + 0x70]
call fcn.180009950
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x40]
call fcn.18000c020
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x18002cd82
mov rdx, qword [rbp + 0x40]
cmp rdx, 7
jbe 0x18002cd52
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002cd4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d34f
call fcn.180040cf8
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x18002cebd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ceb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d34f
jmp 0x18002ceb8
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r13
mov rdx, qword [rbp + 0x118]
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18002cde0
lea rcx, [rbp - 0x70]
call fcn.180009950
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x20]
call fcn.18000c020
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x18002ce7d
mov rdx, qword [rbp + 0x40]
cmp rdx, 7
jbe 0x18002ce4d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ce48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d35b
call fcn.180040cf8
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov rdx, qword [rbp - 8]
cmp rdx, 7
jbe 0x18002cebd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ceb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d35b
call fcn.180040cf8
mov rdi, qword [rbp + 0x38]
lea rdx, [rbp + 0x28]
test rdi, rdi
jne 0x18002ced9
lea rcx, [rsp + 0x48]
call fcn.180009290
jmp 0x18002d073
cmp qword [rbp + 0x40], 7
seta r10b
mov r9, qword [rbp + 0x28]
cmova rdx, r9
test rdi, rdi
je 0x18002cf2b
lea rcx, [rdi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea rax, [rdx + rax*2]
cmp word [rax], 0x5c
je 0x18002cf1f
nop dword [rax + rax]
cmp rax, rdx
je 0x18002cf2b
sub rax, 2
cmp word [rax], 0x5c
jne 0x18002cf10
sub rax, rdx
sar rax, 1
cmp rax, 0xffffffffffffffff
jne 0x18002cf7b
lea rdx, [rbp + 0x28]
test r10b, r10b
cmovne rdx, r9
test rdi, rdi
je 0x18002cfcd
lea rcx, [rdi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea rax, [rdx + rax*2]
cmp word [rax], 0x2f
je 0x18002cf6f
nop dword [rax + rax]
cmp rax, rdx
je 0x18002cfcd
sub rax, 2
cmp word [rax], 0x2f
jne 0x18002cf60
sub rax, rdx
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x18002cfcd
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
cmp rdi, rcx
jb 0x18002d361
sub rdi, rcx
mov r8, 0xffffffffffffffff
cmp rdi, r8
cmovb r8, rdi
lea rax, [rbp + 0x28]
test r10b, r10b
cmovne rax, r9
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x48]
call fcn.180009950
or r14d, 0xc
jmp 0x18002d077
mov qword [rsp + 0x50], r13
lea rsi, [rbp + 0x28]
test r10b, r10b
cmovne rsi, r9
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x18002d349
cmp rdi, 7
ja 0x18002d00e
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 7
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x48], xmm0
jmp 0x18002d06e
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x18002d01f
mov rbx, rax
jmp 0x18002d02c
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
inc rbx
mov qword [rsp + 0x68], rbx
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.18000a530
mov rcx, rax
lea rax, [rbx - 1]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
call fcn.180062e10
mov esi, 0x5a4d
or r14d, 4
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp + 0x20]
cmp rdx, 7
jbe 0x18002d0bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002d0b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d367
call fcn.180040cf8
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x18], xmm1
jmp 0x18002d167
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
mov r8, qword [rbp]
lea rdx, str.Unknown_0x_I64x
lea rcx, [rbp + 0x90]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rax, [rbp + 0x90]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x18002d131
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x28]
call fcn.180009640
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 7
cmova rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
lea rcx, [rbp + 8]
call fcn.180009640
mov ecx, 0x70
call fcn.18004094c
mov rdi, rax
mov qword [rbp - 0x48], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_blackbone::ModuleData_const__.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov qword [rsp + 0x38], rbx
mov rax, qword [rbp]
mov qword [rbx], rax
lea rcx, [rbx + 8]
lea rdx, [rbp + 8]
call fcn.180009290
nop
lea rcx, [rbx + 0x28]
lea rdx, [rbp + 0x28]
call fcn.180009290
mov eax, dword [rbp + 0x48]
mov dword [rbx + 0x48], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbx + 0x4c], eax
mov rax, qword [rbp + 0x50]
mov qword [rbx + 0x50], rax
movzx eax, byte [rbp + 0x58]
mov byte [rbx + 0x58], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
or r14d, 2
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x18002d218
mov qword [rdx], rbx
mov qword [rdx + 8], rdi
movdqu xmmword [rsp + 0x38], xmm0
add qword [r12 + 8], 0x10
jmp 0x18002d226
lea r8, [rsp + 0x38]
mov rcx, r12
call fcn.180025660
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18002d26b
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18002d266
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18002d266
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14d, dword [rsp + 0x30]
mov rbx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x40]
cmp rdx, 7
jbe 0x18002d2af
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002d2aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d355
call fcn.180040cf8
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov rdx, qword [rbp + 0x20]
cmp rdx, 7
jbe 0x18002d2fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002d2f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002d355
call fcn.180040cf8
mov edi, 0x20b
mov rcx, qword [rbp + 0x60]
add rcx, qword [rbp + 0x78]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
jb 0x18002cae0
mov rax, r12
mov rcx, qword [rbp + 0x1110]
xor rcx, rsp
call fcn.1800410a0
mov rbx, qword [rsp + 0x1270]
add rsp, 0x1220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180001780
int3
call fcn.18004ce30
nop
call fcn.18004ce30
nop
call fcn.18004ce30
int3
call fcn.18000c250
int3
call fcn.18004ce30
int3