Function at 0x14005db10
Capabilities:
Parse pe header

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1130]
mov eax, 0x1230
call fcn.1400707c0
sub rsp, rax
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x1280], rbx
mov rax, qword [0x1400fb088]
xor rax, rsp
mov qword [rbp + 0x1120], rax
mov r13, rdx
mov r12, rcx
mov qword [rbp - 0x68], rdx
xor edi, edi
mov dword [rsp + 0x30], edi
xor eax, eax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rax
mov ebx, edi
mov qword [rdx], rdi
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], rdi
mov dword [rsp + 0x30], 1
mov ecx, 0x10000
lea rsi, [rdi - 1]
mov r14d, 0x10b
mov r15d, 0x20b
mov rax, qword [r12]
lea r8, [rbp + 0x70]
mov rdx, rcx
mov rcx, r12
call qword [rax + 0x30]
cmp eax, 0xc000000d
je 0x14005e166
cmp eax, 0xc0000022
je 0x14005e166
cmp eax, 0xc000010a
je 0x14005e166
test eax, eax
jne 0x14005e148
cmp dword [rbp + 0x90], 0x1000
jne 0x14005e148
mov rax, qword [rbp + 0x80]
cmp eax, 1
je 0x14005e148
mov rdx, qword [rbp + 0x78]
cmp rbx, rdx
je 0x14005e148
bt eax, 8
jb 0x14005e148
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], di
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], di
mov rax, qword [r12]
mov qword [rsp + 0x20], rdi
mov r9d, 0x1000
lea r8, [rbp + 0x120]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x14005e13f
movsxd rax, dword [rbp + 0x15c]
lea rcx, [rbp + 0x120]
add rcx, rax
mov eax, 0x5a4d
cmp word [rbp + 0x120], ax
jne 0x14005e13f
cmp dword [rcx], 0x4550
jne 0x14005e13f
movzx eax, word [rcx + 0x18]
cmp ax, r14w
jne 0x14005dca5
mov dword [rbp + 0x5c], edi
jmp 0x14005dcb2
cmp ax, r15w
jne 0x14005dcb8
mov dword [rbp + 0x5c], 1
mov eax, dword [rcx + 0x50]
mov dword [rbp + 0x58], eax
mov rdx, qword [rbp + 0x78]
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x60], rdi
mov byte [rbp + 0x68], 0
mov rax, qword [r12]
mov qword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x120]
mov r8d, 2
mov rcx, r12
call qword [rax + 0x28]
test eax, eax
jne 0x14005ded4
cmp byte [r12 + 0x16], 1
jne 0x14005dda8
mov edx, dword [rbp + 0x124]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], di
lea rcx, [rsp + 0x50]
call fcn.1400056b0
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x58]
call fcn.140028cb0
mov rbx, rax
lea rax, [rbp + 0x38]
cmp rax, rbx
je 0x14005dd60
lea rcx, [rbp + 0x38]
call fcn.14000564c
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14005de4b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005de46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005e199
jmp 0x14005de46
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], di
mov rdx, qword [rbp + 0x128]
lea rcx, [rsp + 0x70]
call fcn.1400056b0
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x38]
call fcn.140028cb0
mov rbx, rax
lea rax, [rbp + 0x38]
cmp rax, rbx
je 0x14005de0b
lea rcx, [rbp + 0x38]
call fcn.14000564c
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x14005de4b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005de46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005e1a5
call fcn.14006fa74
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x18]
call fcn.1400281e0
mov rbx, rax
lea rax, [rbp + 0x18]
cmp rax, rbx
je 0x14005de8b
lea rcx, [rbp + 0x18]
call fcn.14000564c
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x28], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14005e07b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005deca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005e1ab
call fcn.14006fa74
jmp 0x14005e07b
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0xa0]
call fcn.14008e5d0
mov r8, qword [rbp + 0x10]
lea rdx, str.Unknown_0x_I64x
lea rcx, [rbp + 0xa0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x38]
call fcn.1400056b0
lea r15, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae r15, qword [rbp + 0x38]
mov r14, qword [rbp + 0x48]
mov rsi, qword [rbp + 0x30]
cmp r14, rsi
ja 0x14005df59
lea rdi, [rbp + 0x18]
cmp rsi, 8
cmovae rdi, qword [rbp + 0x18]
mov qword [rbp + 0x28], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14008e170
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x14005e068
movabs rdx, 0x7ffffffffffffffe
cmp r14, rdx
ja 0x14005e19f
mov rbx, r14
or rbx, 7
cmp rbx, rdx
jbe 0x14005df7d
mov rbx, rdx
jmp 0x14005df9e
mov rcx, rsi
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rsi, rax
jbe 0x14005df93
mov rbx, rdx
jmp 0x14005df9e
lea rax, [rsi + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rax, [rbx + 1]
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x14005dfc1
mov rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x14005dfd1
cmp rdx, 0x1000
jb 0x14005dff8
mov rax, 0xffffffffffffffff
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rax
call fcn.14006fa7c
test rax, rax
je 0x14005e193
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14005e008
test rdx, rdx
je 0x14005e008
mov rcx, rdx
call fcn.14006fa7c
mov rdi, rax
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14008e170
xor eax, eax
mov word [rbx + rdi], ax
cmp rsi, 8
jb 0x14005e064
lea rdx, [rsi*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005e05f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005e193
call fcn.14006fa74
mov qword [rbp + 0x18], rdi
mov rsi, 0xffffffffffffffff
mov r14d, 0x10b
mov r15d, 0x20b
mov ecx, 0x70
call fcn.14006fa7c
mov rbx, rax
mov qword [rbp - 0x60], rax
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj_struct_blackbone::ModuleData_const__.0
mov qword [rbx], rax
lea rdi, [rbx + 0x10]
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.14002dca0
nop
or dword [rsp + 0x30], 2
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbx
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x14005e0e5
mov qword [rdx], rdi
mov qword [rdx + 8], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
add qword [r13 + 8], 0x10
jmp 0x14005e0f3
lea r8, [rsp + 0x38]
mov rcx, r13
call fcn.14005e410
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005e12e
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14005e12e
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14005e12e
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0x78]
lea rcx, [rbp + 0x10]
call fcn.14002deb0
xor edi, edi
jmp 0x14005e148
lea rcx, [rbp + 0x10]
call fcn.14002deb0
mov rcx, qword [rbp + 0x70]
add rcx, qword [rbp + 0x88]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
jb 0x14005dbb2
mov rax, r13
mov rcx, qword [rbp + 0x1120]
xor rcx, rsp
call fcn.14006fa50
mov rbx, qword [rsp + 0x1280]
add rsp, 0x1230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140097f2c
int3
call fcn.140097f2c
int3
call fcn.14000a138
int3
call fcn.140097f2c
int3
call fcn.140097f2c
int3