Function at 0x140057860
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.140069ca0
sub rsp, rax
mov rax, qword [0x1400c50b0]
xor rax, rsp
mov qword [rbp + 0x1110], rax
mov r13, rdx
mov r12, rcx
mov qword [rbp - 0x78], 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
mov esi, 0x10b
mov r15d, 0x5a4d
mov r14d, 0x20b
nop dword [rax]
mov rax, qword [r12]
lea r8, [rbp + 0x60]
mov rdx, rcx
mov rcx, r12
call qword [rax + 0x30]
cmp eax, 0xc000000d
je 0x140058065
cmp eax, 0xc0000022
je 0x140058065
cmp eax, 0xc000010a
je 0x140058065
test eax, eax
jne 0x14005804a
cmp dword [rbp + 0x80], 0x1000
jne 0x14005804a
mov eax, dword [rbp + 0x70]
cmp eax, 1
je 0x14005804a
bt eax, 8
jb 0x14005804a
mov rdx, qword [rbp + 0x68]
cmp rbx, rdx
je 0x14005804a
mov qword [rbp + 8], rdi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], 7
mov word [rbp + 8], di
mov qword [rbp + 0x28], rdi
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 0x140057fbe
movsxd rax, dword [rbp + 0x14c]
lea rcx, [rbp + 0x110]
add rcx, rax
cmp word [rbp + 0x110], r15w
jne 0x140057fbe
cmp dword [rcx], 0x4550
jne 0x140057fbe
movzx eax, word [rcx + 0x18]
cmp ax, si
jne 0x1400579e2
mov dword [rbp + 0x4c], edi
jmp 0x1400579ef
cmp ax, r14w
jne 0x1400579f5
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 0x140057ce7
cmp byte [r12 + 0x16], 1
jne 0x140057b2c
mov edx, dword [rbp + 0x114]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 7
lea rcx, [rsp + 0x48]
call fcn.1400066f4
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x68]
call fcn.140024ef0
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x140057ae4
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140057ab6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057ab1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058098
call fcn.140068fd0
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 - 0x50]
cmp rdx, 8
jb 0x140057c17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057c12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058098
jmp 0x140057c12
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 7
mov rdx, qword [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.1400066f4
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x48]
call fcn.140024ef0
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x140057bd7
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140057ba9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057ba4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400580a4
call fcn.140068fd0
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 - 0x30]
cmp rdx, 8
jb 0x140057c17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057c12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400580a4
call fcn.140068fd0
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x28]
call fcn.140024440
mov rbx, rax
lea rax, [rbp + 8]
cmp rax, rbx
je 0x140057c9e
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x140057c70
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057c6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400580aa
call fcn.140068fd0
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 - 0x10]
cmp rdx, 8
jb 0x140057eb3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057cdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400580aa
call fcn.140068fd0
jmp 0x140057eb3
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.1400066f4
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 0x140057d93
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.14006b390
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x140057ea2
movabs rdx, 0x7ffffffffffffffe
cmp r14, rdx
ja 0x140058092
mov rbx, r14
or rbx, 7
cmp rbx, rdx
jbe 0x140057dbe
mov rbx, rdx
mov rcx, 0xfffffffffffffffe
jmp 0x140057e09
mov rcx, rsi
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rsi, rax
jbe 0x140057ddb
mov rbx, rdx
mov rcx, 0xfffffffffffffffe
jmp 0x140057e09
lea rax, [rsi + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400580b6
add rcx, rcx
cmp rcx, 0x1000
jb 0x140057e35
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400580b6
mov rcx, rax
call fcn.140068fd8
test rax, rax
je 0x1400580b0
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140057e42
test rcx, rcx
je 0x140057e42
call fcn.140068fd8
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.14006b390
xor eax, eax
mov word [rdi + rbx], ax
cmp rsi, 8
jb 0x140057e9e
lea rdx, [rsi*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057e99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400580b0
call fcn.140068fd0
mov qword [rbp + 8], rdi
mov esi, 0x10b
mov r14d, 0x20b
mov r15d, 0x5a4d
mov ecx, 0x70
call fcn.140068fd8
mov rbx, rax
mov qword [rbp - 0x70], 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 [rbx], rax
lea rdi, [rbx + 0x10]
lea rdx, [rbp]
mov rcx, rdi
call fcn.14003a050
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 0x140057f28
mov qword [rdx], rdi
mov qword [rdx + 8], rbx
movdqu xmmword [rsp + 0x38], xmm0
add qword [r13 + 8], 0x10
jmp 0x140057f36
lea r8, [rsp + 0x38]
mov rcx, r13
call fcn.14002ee20
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140057f76
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140057f76
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 0x140057f76
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 0x140057fba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057fb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005809e
call fcn.140068fd0
xor edi, edi
jmp 0x140057ffe
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x140057ffe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140057ff9
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005809e
call fcn.140068fd0
mov rdx, qword [rbp + 0x20]
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], di
cmp rdx, 8
jb 0x14005804a
mov rcx, qword [rbp + 8]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058045
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005809e
call fcn.140068fd0
mov rcx, qword [rbp + 0x60]
add rcx, qword [rbp + 0x78]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
jb 0x1400578f0
mov rax, r13
mov rcx, qword [rbp + 0x1110]
xor rcx, rsp
call fcn.140068fb0
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.1400012b0
int3
call fcn.140077970
nop
call fcn.140077970
nop
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140001150
int3