Function at 0x14012b910
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 - 0x10d0]
mov eax, 0x11d0
call fcn.1403e54f0
sub rsp, rax
mov rax, qword [0x140713740]
xor rax, rsp
mov qword [rbp + 0x10c0], rax
mov r12, rdx
mov r15, rcx
mov qword [rbp - 0x68], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], 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 word [rax + rax]
mov rax, qword [r15]
lea r8, [rbp + 0x10]
mov rdx, rcx
mov rcx, r15
call qword [rax + 0x30]
cmp eax, 0xc000000d
je 0x14012c155
cmp eax, 0xc0000022
je 0x14012c155
cmp eax, 0xc000010a
je 0x14012c155
test eax, eax
jne 0x14012c13a
cmp dword [rbp + 0x30], 0x1000
jne 0x14012c13a
mov eax, dword [rbp + 0x20]
cmp eax, 1
je 0x14012c13a
bt eax, 8
jb 0x14012c13a
mov rdx, qword [rbp + 0x18]
cmp rbx, rdx
je 0x14012c13a
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r13w
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r13w
mov rax, qword [r15]
mov qword [rsp + 0x20], r13
mov r9d, 0x1000
lea r8, [rbp + 0xc0]
mov rcx, r15
call qword [rax + 0x18]
test eax, eax
jne 0x14012c131
movsxd rax, dword [rbp + 0xfc]
lea rax, [rbp + rax + 0xc0]
cmp word [rbp + 0xc0], si
jne 0x14012c131
cmp dword [rax], 0x4550
jne 0x14012c131
movzx ecx, word [rax + 0x18]
mov edx, 0x10b
cmp cx, dx
jne 0x14012ba95
mov dword [rbp - 4], r13d
jmp 0x14012baa1
cmp cx, di
jne 0x14012baa7
mov dword [rbp - 4], 1
mov eax, dword [rax + 0x50]
mov dword [rbp - 8], eax
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x50], rdx
mov qword [rbp], r13
mov byte [rbp + 8], 0
mov rax, qword [r15]
mov qword [rsp + 0x20], 0x1000
lea r9, [rbp + 0xc0]
mov r8d, 2
mov rcx, r15
call qword [rax + 0x28]
xorps xmm0, xmm0
test eax, eax
jne 0x14012bf32
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov r8, 0xffffffffffffffff
movups xmmword [rsp + 0x58], xmm0
cmp byte [r15 + 0x16], 1
jne 0x14012bbf9
mov edx, dword [rbp + 0xc4]
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14012bb10
lea rcx, [rsp + 0x58]
call fcn.1400fe2f0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.14011e5c0
mov rbx, rax
lea rax, [rbp - 0x28]
cmp rax, rbx
je 0x14012bbb0
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x14012bb80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012bb7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012c188
call fcn.1403e5198
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r13w
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x14012bce1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012bcdc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012c188
jmp 0x14012bcdc
mov rdx, qword [rbp + 0xc8]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14012bc00
lea rcx, [rsp + 0x58]
call fcn.1400fe2f0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.14011e5c0
mov rbx, rax
lea rax, [rbp - 0x28]
cmp rax, rbx
je 0x14012bca0
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x14012bc70
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012bc6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012c194
call fcn.1403e5198
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r13w
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x14012bce1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012bcdc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012c194
call fcn.1403e5198
mov rdi, qword [rbp - 0x18]
lea rdx, [rbp - 0x28]
test rdi, rdi
jne 0x14012bd01
lea rcx, [rsp + 0x38]
call fcn.1400febb0
or r14d, 4
jmp 0x14012bed6
mov r9, qword [rbp - 0x28]
mov r10, qword [rbp - 0x10]
cmp r10, 7
cmova rdx, r9
lea rax, [rdi - 1]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
lea r8, [rcx + rcx]
lea rax, [r8 + rdx]
cmp word [rax], 0x5c
je 0x14012bd40
cmp rax, rdx
je 0x14012bd50
sub rax, 2
cmp word [rax], 0x5c
jne 0x14012bd31
sub rax, rdx
sar rax, 1
cmp rax, 0xffffffffffffffff
jne 0x14012be88
lea rcx, [rbp - 0x28]
cmp r10, 7
cmova rcx, r9
lea rax, [rcx + r8]
cmp word [rax], 0x2f
je 0x14012bd75
cmp rax, rcx
je 0x14012bd85
sub rax, 2
cmp word [rax], 0x2f
jne 0x14012bd66
sub rax, rcx
sar rax, 1
cmp rax, 0xffffffffffffffff
jne 0x14012be88
mov qword [rsp + 0x40], r13
lea rsi, [rbp - 0x28]
cmp r10, 7
cmova rsi, r9
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x14012c1a0
cmp rdi, 7
ja 0x14012bdd3
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x38], xmm0
or r14d, 4
mov esi, 0x5a4d
jmp 0x14012bed6
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x14012be28
mov rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
cmp rcx, 0x1000
jb 0x14012be56
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14012c19a
mov rcx, rax
call fcn.1403e515c
mov rcx, rax
test rax, rax
je 0x14012c182
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14012be5b
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14012c19a
add rcx, rcx
jne 0x14012bdf0
mov rax, r13
jmp 0x14012be5b
call fcn.1403e515c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14041c8a0
or r14d, 4
mov esi, 0x5a4d
jmp 0x14012bed6
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
cmp rdi, rcx
jb 0x14012c18e
sub rdi, rcx
mov r8, 0xffffffffffffffff
cmp rdi, r8
cmovb r8, rdi
lea rax, [rbp - 0x28]
cmp r10, 7
cmova rax, r9
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x38]
call fcn.1400fe2f0
or r14d, 0xc
mov dword [rsp + 0x30], r14d
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x14012bf1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012bf16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012c182
call fcn.1403e5198
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp - 0x38], xmm1
jmp 0x14012c019
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
mov r8, qword [rbp - 0x50]
lea rdx, str.Unknown_0x_I64x
lea rcx, [rbp + 0x40]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rax, [rbp + 0x40]
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14012bf80
mov rax, qword [rbp - 0x10]
cmp rdx, rax
ja 0x14012bfbe
lea rdi, [rbp - 0x28]
cmp rax, 7
cmova rdi, qword [rbp - 0x28]
mov qword [rbp - 0x18], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp + 0x40]
mov rcx, rdi
call fcn.14041c8a0
mov word [rdi + rbx], r13w
jmp 0x14012bfcb
lea r9, [rbp + 0x40]
lea rcx, [rbp - 0x28]
call fcn.1400fe6b0
mov rdi, qword [rbp - 0x18]
lea r9, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova r9, qword [rbp - 0x28]
mov rax, qword [rbp - 0x30]
cmp rdi, rax
ja 0x14012c00d
lea rbx, [rbp - 0x48]
cmp rax, 7
cmova rbx, qword [rbp - 0x48]
mov qword [rbp - 0x38], rdi
lea r8, [rdi + rdi]
mov rdx, r9
mov rcx, rbx
call fcn.14041c8a0
mov word [rbx + rdi*2], r13w
jmp 0x14012c019
mov rdx, rdi
lea rcx, [rbp - 0x48]
call fcn.1400fe6b0
mov ecx, reloc.WS2_32.dll_WSASetLastError
call fcn.1403e515c
mov rdi, rax
mov qword [rbp - 0x60], 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 - 0x50]
mov qword [rbx], rax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x48]
call fcn.1400febb0
nop
lea rcx, [rbx + 0x28]
lea rdx, [rbp - 0x28]
call fcn.1400febb0
mov eax, dword [rbp - 8]
mov dword [rbx + 0x48], eax
mov eax, dword [rbp - 4]
mov dword [rbx + 0x4c], eax
mov rax, qword [rbp]
mov qword [rbx + 0x50], rax
movzx eax, byte [rbp + 8]
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 0x14012c0ca
mov qword [rdx], rbx
mov qword [rdx + 8], rdi
movdqu xmmword [rsp + 0x38], xmm0
add qword [r12 + 8], 0x10
jmp 0x14012c0d8
lea r8, [rsp + 0x38]
mov rcx, r12
call fcn.140109910
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14012c11d
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14012c118
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 0x14012c118
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r14d, dword [rsp + 0x30]
mov rbx, qword [rbp + 0x18]
lea rcx, [rbp - 0x50]
call fcn.1401009a0
mov edi, 0x20b
jmp 0x14012c13a
lea rcx, [rbp - 0x50]
call fcn.1401009a0
mov rcx, qword [rbp + 0x10]
add rcx, qword [rbp + 0x28]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
jb 0x14012b9a0
mov rax, r12
mov rcx, qword [rbp + 0x10c0]
xor rcx, rsp
call fcn.1403e5550
mov rbx, qword [rsp + 0x1220]
add rsp, 0x11d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1403eb834
int3
call fcn.1403eb834
int3
call fcn.14010d2a0
int3
call fcn.1403eb834
int3
call fcn.1400fd180
int3
call fcn.1400fd2a0
int3