Function at 0x1400594d0
Capabilities:
Parse pe header

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1120]
mov eax, 0x1220
call fcn.14006c780
sub rsp, rax
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x1270], rbx
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rbp + 0x1110], rax
mov r13, rdx
mov r12, rcx
mov qword [rbp - 0x70], rdx
xor edi, edi
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
mov ebx, edi
xorps xmm1, xmm1
movups xmmword [rdx], xmm1
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
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r12]
lea r8, [rbp + 0x60]
mov rdx, rcx
mov rcx, r12
call qword [rax + 0x30]
cmp eax, 0xc000000d
je 0x140059cde
cmp eax, 0xc0000022
je 0x140059cde
cmp eax, 0xc000010a
je 0x140059cde
test eax, eax
jne 0x140059cc3
cmp dword [rbp + 0x80], 0x1000
jne 0x140059cc3
mov eax, dword [rbp + 0x70]
cmp eax, 1
je 0x140059cc3
bt eax, 8
jb 0x140059cc3
mov rdx, qword [rbp + 0x68]
cmp rbx, rdx
je 0x140059cc3
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], 7
mov word [rbp + 8], di
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], di
mov rax, qword [r12]
mov qword [rsp + 0x20], rdi
mov r9d, 0x1000
lea r8, [rbp + 0x110]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x140059c37
movsxd rax, dword [rbp + 0x14c]
lea rcx, [rbp + 0x110]
add rcx, rax
mov eax, 0x5a4d
cmp word [rbp + 0x110], ax
jne 0x140059c37
cmp dword [rcx], 0x4550
jne 0x140059c37
movzx eax, word [rcx + 0x18]
cmp ax, r14w
jne 0x14005965f
mov dword [rbp + 0x4c], edi
jmp 0x14005966c
cmp ax, r15w
jne 0x140059672
mov dword [rbp + 0x4c], 1
mov eax, dword [rcx + 0x50]
mov dword [rbp + 0x48], eax
mov rdx, qword [rbp + 0x68]
mov qword [rbp], rdx
mov qword [rbp + 0x50], rdi
mov byte [rbp + 0x58], 0
mov rax, qword [r12]
mov qword [rsp + 0x20], 0x1000
lea r9, [rbp + 0x110]
mov r8d, 2
mov rcx, r12
call qword [rax + 0x28]
test eax, eax
jne 0x140059964
cmp byte [r12 + 0x16], 1
jne 0x1400597a9
mov edx, dword [rbp + 0x114]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], di
lea rcx, [rsp + 0x48]
call fcn.140004c64
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.140025b70
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x140059761
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140059733
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005972e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d11
call fcn.14006bb24
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], di
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140059894
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005988f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d11
jmp 0x14005988f
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], di
mov rdx, qword [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.140004c64
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x40]
call fcn.140025b70
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x140059854
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140059826
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059821
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d1d
call fcn.14006bb24
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], di
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140059894
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005988f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d1d
call fcn.14006bb24
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x20]
call fcn.140024f50
mov rbx, rax
lea rax, [rbp + 8]
cmp rax, rbx
je 0x14005991b
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x1400598ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400598e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d23
call fcn.14006bb24
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], 7
mov word [rbp + 8], di
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140059b32
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005995a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d23
call fcn.14006bb24
jmp 0x140059b32
xorps xmm0, xmm0
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 rdx, [rbp + 0x90]
lea rcx, [rbp + 0x28]
call fcn.140004c64
mov r14, qword [rbp + 0x38]
lea r15, [rbp + 0x28]
cmp qword [rbp + 0x40], 8
cmovae r15, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x20]
cmp r14, rsi
ja 0x140059a10
lea rdi, [rbp + 8]
cmp rsi, 8
cmovae rdi, qword [rbp + 8]
mov qword [rbp + 0x18], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14008a040
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x140059b1f
movabs rdx, 0x7ffffffffffffffe
cmp r14, rdx
ja 0x140059d0b
mov rbx, r14
or rbx, 7
cmp rbx, rdx
jbe 0x140059a34
mov rbx, rdx
jmp 0x140059a55
mov rcx, rsi
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rsi, rax
jbe 0x140059a4a
mov rbx, rdx
jmp 0x140059a55
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 0x140059a78
mov rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x140059a88
cmp rdx, 0x1000
jb 0x140059aaf
mov rax, 0xffffffffffffffff
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rax
call fcn.14006bb2c
test rax, rax
je 0x140059d29
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140059abf
test rdx, rdx
je 0x140059abf
mov rcx, rdx
call fcn.14006bb2c
mov rdi, rax
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14008a040
xor eax, eax
mov word [rbx + rdi], ax
cmp rsi, 8
jb 0x140059b1b
lea rdx, [rsi*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059b16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d29
call fcn.14006bb24
mov qword [rbp + 8], rdi
mov rsi, 0xffffffffffffffff
mov r14d, 0x10b
mov r15d, 0x20b
mov ecx, 0x70
call fcn.14006bb2c
mov rbx, rax
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
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]
mov rcx, rdi
call fcn.14003a7d0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
or dword [rsp + 0x30], 2
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbx
mov rdx, qword [r13 + 8]
cmp rdx, qword [r13 + 0x10]
je 0x140059ba7
mov qword [rdx], rdi
mov qword [rdx + 8], rbx
movdqu xmmword [rsp + 0x38], xmm0
add qword [r13 + 8], 0x10
jmp 0x140059bb5
lea r8, [rsp + 0x38]
mov rcx, r13
call fcn.14002fe00
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140059bef
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140059bef
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 0x140059bef
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140059c33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059c2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d17
call fcn.14006bb24
xor edi, edi
jmp 0x140059c77
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140059c77
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140059c72
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d17
call fcn.14006bb24
mov rdx, qword [rbp + 0x20]
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], di
cmp rdx, 8
jb 0x140059cc3
mov rcx, qword [rbp + 8]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059cbe
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059d17
call fcn.14006bb24
mov rcx, qword [rbp + 0x60]
add rcx, qword [rbp + 0x78]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
jb 0x140059570
mov rax, r13
mov rcx, qword [rbp + 0x1110]
xor rcx, rsp
call fcn.14006bb00
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.14000951c
int3
call fcn.140095014
nop
call fcn.140095014
nop
call fcn.140095014
int3
call fcn.140095014
int3
call fcn.140095014
int3