Function at 0x14013c730
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd58
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xcc0], xmm6
mov qword [rbp + 0xa90], rdx
mov rdx, qword [0x140186498]
test rdx, rdx
je 0x14013e3a7
mov r13, rcx
mov rax, qword [0x140186490]
mov rcx, rdx
shl rcx, 6
add rcx, rax
xor r15d, r15d
mov r8, rax
mov r10, qword [r8 + 0x28]
mov r9, qword [r8 + 0x30]
mov r12, qword [r8 + 0x38]
add r8, 0x40
shl r9, 4
nop word [rax + rax]
test r9, r9
je 0x14013c7d0
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, r12
add r9, 0xfffffffffffffff0
cmp rsi, r13
ja 0x14013c7a0
add rsi, qword [r11 + 8]
cmp rsi, r13
jbe 0x14013c7a0
jmp 0x14013c7dd
inc r15
cmp r8, rcx
jne 0x14013c783
jmp 0x14013e3a7
mov rdi, qword [0x1401864b0]
test rdi, rdi
je 0x14013c819
mov r14, qword [0x1401864a8]
imul rsi, rdi, 0x230
xor ecx, ecx
xor ebx, ebx
nop dword [rax + rax]
cmp qword [r14 + rbx], r15
je 0x14013ca4d
add rbx, 0x230
dec rcx
cmp rsi, rbx
jne 0x14013c800
cmp rdx, r15
jbe 0x1401406b6
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rbp + 0x860]
call fcn.14013bdf0
test byte [rbp + 0x860], 1
je 0x14013e3a7
mov qword [rbp + 0xca8], r13
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0xc18], rax
mov r14, qword [rbp + 0x870]
mov r13, qword [rbp + 0x878]
mov qword [rbp + 0x738], 0
mov qword [rbp + 0x740], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x748], xmm0
mov qword [rbp + 0x758], 8
mov qword [rbp + 0x760], 0
cmp r13, 0x40
jb 0x14013e387
cmp word [r14], 0x5a4d
jne 0x14013e387
mov edi, dword [r14 + 0x3c]
mov rax, r13
sub rax, rdi
setb cl
cmp rax, 0x88
setb al
or al, cl
jne 0x14013e387
cmp dword [r14 + rdi], 0x4550
jne 0x14013e387
cmp word [r14 + rdi + 0x18], 0x20b
jne 0x14013e387
movzx esi, word [r14 + rdi + 0x14]
cmp rsi, 0x70
jb 0x14013e387
lea rbx, [rdi + 0x88]
add rsi, 0xffffffffffffff90
mov rax, r13
sub rax, rbx
cmp rax, rsi
jb 0x14013e387
lea rdx, [r14 + rbx]
mov r9d, dword [r14 + rdi + 0x84]
lea rcx, [rbp + 0x860]
mov r8, rsi
call fcn.140142de0
test byte [rbp + 0x860], 1
jne 0x14013e387
add rsi, rbx
movzx r10d, word [r14 + rdi + 6]
lea eax, [r10*8]
lea rax, [rax + rax*4]
mov rcx, r13
sub rcx, rsi
setb dl
cmp rcx, rax
setb al
or al, dl
add rsi, r14
xor r11d, r11d
test al, al
cmove r11, rsi
jne 0x14013e387
mov edx, dword [r14 + rdi + 0xc]
test rdx, rdx
je 0x14013d839
mov rax, r13
sub rax, rdx
jb 0x14013e387
mov r8d, dword [r14 + rdi + 0x10]
lea rcx, [r8 + r8]
lea rcx, [rcx + rcx*8]
cmp rax, rcx
jb 0x14013e387
add rcx, rdx
mov rax, r13
sub rax, rcx
cmp rax, 4
jb 0x14013e387
mov eax, dword [r14 + rcx]
mov qword [rbp + 0xc60], rcx
add rax, rcx
mov qword [rbp + 0xc58], rax
mov rax, qword [r14 + rdi + 0x30]
mov qword [rbp + 0xc88], rax
mov qword [rbp + 0x860], 0
mov qword [rbp + 0x868], 8
mov qword [rbp + 0x870], 0
mov qword [rbp + 0xc90], r8
test r8, r8
je 0x14013d9ff
mov r8, rdx
add r8, r14
mov eax, 8
mov qword [rbp + 0xcb8], 0
xor edi, edi
mov r9, qword [rbp + 0xc90]
mov qword [rbp + 0xc38], r10
mov qword [rbp + 0xc78], r11
mov qword [rbp + 0xc48], r8
jmp 0x14013d8d7
test rcx, rcx
je 0x14013cadd
mov r15, r14
add r14, rbx
lea rcx, [rbp - 0x58]
mov r8d, 0x230
mov rdx, r14
call sub.msvcrt.dll_memcpy
lea rdx, [r15 + rbx]
add rdx, 0x230
sub rsi, rbx
add rsi, 0xfffffffffffffdd0
mov rcx, r14
mov r8, rsi
call sub.msvcrt.dll_memmove
lea rsi, [rdi - 1]
mov qword [0x1401864b0], rsi
cmp rsi, qword [0x1401864a0]
jne 0x14013caa7
call fcn.1400fc7c0
mov r14, qword [0x1401864a8]
lea rcx, [r14 + 0x230]
imul r8, rsi, 0x230
mov rdx, r14
call sub.msvcrt.dll_memmove
lea rdx, [rbp - 0x58]
mov r8d, 0x230
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov qword [0x1401864b0], rdi
mov qword [rbp + 0x860], 0
mov qword [rbp + 0x868], 8
mov qword [rbp + 0x870], 0
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x14013da43
mov rax, qword [rbp + 0x868]
add rsi, qword [rbp + 0xc88]
add rbx, rsi
mov rdx, qword [rbp + 0xcb8]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rbx
mov r8, qword [rbp + 0xc80]
mov qword [rax + rcx + 8], r8
inc rdx
mov qword [rbp + 0xcb8], rdx
mov qword [rbp + 0x870], rdx
mov r10, qword [rbp + 0xc38]
mov r11, qword [rbp + 0xc78]
mov r8, qword [rbp + 0xc48]
mov r9, qword [rbp + 0xc90]
mov rsi, qword [rbp + 0xca0]
add rdi, rsi
inc rdi
cmp rdi, r9
jae 0x14013d969
lea rcx, [rdi + rdi*8]
movzx esi, byte [r8 + rcx*2 + 0x11]
movzx edx, word [r8 + rcx*2 + 0xe]
and edx, 0x30
cmp dx, 0x20
jne 0x14013d8c8
lea rbx, [r8 + rcx*2]
movzx edx, word [rbx + 0xc]
cmp edx, 0xfeff
movsx ecx, dx
cmovb ecx, edx
test ecx, ecx
jle 0x14013d8c8
mov qword [rbp + 0xca0], rsi
mov edx, ecx
dec rdx
lea rcx, [rdx + rdx*4]
lea rcx, [r11 + rcx*8]
cmp rdx, r10
mov edx, 0x1d
cmovae rcx, rdx
jae 0x14013da04
test rcx, rcx
je 0x14013da04
mov qword [rbp + 0xc80], rbx
mov esi, dword [rbx + 8]
mov ebx, dword [rcx + 0xc]
mov rcx, qword [rbp + 0xcb8]
cmp rcx, qword [rbp + 0x860]
jne 0x14013d86c
lea rcx, [rbp + 0x860]
call fcn.1400fc4a0
jmp 0x14013d865
mov rdi, r11
mov rsi, r10
cmp qword [rbp + 0xcb8], 2
jb 0x14013da2c
mov rcx, qword [rbp + 0x868]
cmp qword [rbp + 0xcb8], 0x15
jae 0x14013da20
mov rbx, qword [rbp + 0xcb8]
shl rbx, 4
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x14013d9c8
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp r8, rbx
je 0x14013da2c
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x14013d9b8
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x14013d9ae
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x14013d9db
add r10, rcx
jmp 0x14013d9b1
mov rax, r14
jmp 0x14013da35
mov rdx, qword [rbp + 0x860]
test rdx, rdx
je 0x14013e387
mov rcx, qword [rbp + 0x868]
jmp 0x14013e378
mov rdx, qword [rbp + 0xcb8]
call fcn.1400f4fb0
mov rax, r14
mov r10, rsi
mov r11, rdi
mov rsi, qword [rbp + 0xc60]
mov rdi, qword [rbp + 0xc58]
mov rcx, qword [rbp + 0x860]
mov rdx, qword [rbp + 0x868]
mov qword [rbp + 0x4b0], rdx
mov rdx, qword [rbp + 0x870]
mov qword [rbp + 0x4b8], rdx
mov rdx, rcx
neg rdx
jo 0x14013e387
lea r9, [rbp + 0xaa8]
movabs r8, 0x8000000000000000
mov rdx, qword [rbp + 0x4b0]
mov qword [r9], rdx
mov rdx, qword [rbp + 0x4b8]
mov qword [r9 + 8], rdx
mov qword [rbp + 0xaa0], rcx
mov qword [rbp + 0xab8], r14
mov qword [rbp + 0xac0], r13
mov qword [rbp + 0xac8], r11
mov qword [rbp + 0xad0], r10
mov qword [rbp + 0xad8], rax
mov qword [rbp + 0xae0], r13
mov qword [rbp + 0xae8], rsi
mov qword [rbp + 0xaf0], rdi
mov qword [rbp + 0x800], r8
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types
lea rcx, [rbp + 0xaa0]
mov r8d, 0xd
call fcn.140140ce0
mov qword [rbp + 0xcb8], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc80], r8
cmove rdx, rcx
mov qword [rbp + 0xc68], rdx
mov rcx, qword [rbp + 0xcb8]
cmove rcx, rax
mov qword [rbp + 0xcb8], rcx
lea rdx, [0x1401a8035]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140140ce0
mov qword [rbp + 0xca0], rdx
test rax, rax
mov rcx, qword [rbp + 0xc80]
cmovne rcx, rax
mov qword [rbp + 0xc80], rcx
mov rcx, qword [rbp + 0xca0]
cmove rcx, rax
mov qword [rbp + 0xca0], rcx
lea rdx, [0x1401a8040]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xe
call fcn.140140ce0
mov qword [rbp + 0xc90], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc38], r8
cmove rdx, rcx
mov qword [rbp + 0xc28], rdx
mov rcx, qword [rbp + 0xc90]
cmove rcx, rax
mov qword [rbp + 0xc90], rcx
lea rdx, [0x1401a805d]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140140ce0
mov qword [rbp + 0xc88], rdx
test rax, rax
mov rcx, qword [rbp + 0xc38]
cmovne rcx, rax
mov qword [rbp + 0xc38], rcx
mov rcx, qword [rbp + 0xc88]
cmove rcx, rax
mov qword [rbp + 0xc88], rcx
lea rdx, [0x1401a8068]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140140ce0
mov qword [rbp + 0xc78], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc60], r8
cmove rdx, rcx
mov qword [rbp + 0xc20], rdx
mov rcx, qword [rbp + 0xc78]
cmove rcx, rax
mov qword [rbp + 0xc78], rcx
lea rdx, [0x1401a8073]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140140ce0
mov qword [rbp + 0xc48], rdx
test rax, rax
mov rcx, qword [rbp + 0xc60]
cmovne rcx, rax
mov qword [rbp + 0xc60], rcx
mov rcx, qword [rbp + 0xc48]
cmove rcx, rax
mov qword [rbp + 0xc48], rcx
lea rdx, [0x1401a80b7]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.140140ce0
mov qword [rbp + 0xc58], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xcb0], r8
cmove rdx, rcx
mov qword [rbp + 0xc10], rdx
mov rcx, qword [rbp + 0xc58]
cmove rcx, rax
mov qword [rbp + 0xc58], rcx
lea rdx, [0x1401a80c1]
lea rcx, [rbp + 0xaa0]
mov r8d, 0x12
call fcn.140140ce0
mov qword [rbp + 0xc70], rdx
test rax, rax
mov rcx, qword [rbp + 0xcb0]
cmovne rcx, rax
mov qword [rbp + 0xcb0], rcx
mov rcx, qword [rbp + 0xc70]
cmove rcx, rax
mov qword [rbp + 0xc70], rcx
lea rdx, [0x1401a80e2]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xc
call fcn.140140ce0
mov qword [rbp + 0xc30], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc40], r8
cmove rdx, rcx
mov qword [rbp + 0xbb8], rdx
mov rcx, qword [rbp + 0xc30]
cmove rcx, rax
mov qword [rbp + 0xc30], rcx
lea rdx, [0x1401a8082]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.140140ce0
mov qword [rbp + 0xc98], rdx
test rax, rax
mov rcx, qword [rbp + 0xc40]
cmovne rcx, rax
mov qword [rbp + 0xc40], rcx
mov rcx, qword [rbp + 0xc98]
cmove rcx, rax
mov qword [rbp + 0xc98], rcx
lea rdx, [0x1401a808c]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140140ce0
mov qword [rbp + 0xc50], rdx
test rax, rax
mov edi, 1
cmovne rdi, rax
mov rcx, qword [rbp + 0xc50]
cmove rcx, rax
mov qword [rbp + 0xc50], rcx
lea rdx, [0x1401a809b]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xd
call fcn.140140ce0
mov rsi, rax
mov rbx, rdx
lea rdx, [0x1401a80a8]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140140ce0
test rsi, rsi
cmove rbx, rsi
mov ecx, 1
cmove rsi, rcx
test rax, rax
cmovne rcx, rax
cmove rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x940], xmm0
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0x870], rax
mov rax, qword [rbp + 0xcb8]
mov qword [rbp + 0x878], rax
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x880], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x888], rax
mov rax, qword [rbp + 0xc28]
mov qword [rbp + 0x890], rax
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x898], rax
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0x8a0], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0x8a8], rax
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0x8b0], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x8b8], rax
mov rax, qword [rbp + 0xc60]
mov qword [rbp + 0x8c0], rax
mov rax, qword [rbp + 0xc48]
mov qword [rbp + 0x8c8], rax
mov rax, qword [rbp + 0xc10]
mov qword [rbp + 0x8d0], rax
mov rax, qword [rbp + 0xc58]
mov qword [rbp + 0x8d8], rax
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x8e0], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x8e8], rax
mov rax, qword [rbp + 0xbb8]
mov qword [rbp + 0x8f0], rax
mov rax, qword [rbp + 0xc30]
mov qword [rbp + 0x8f8], rax
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x900], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x908], rax
mov qword [rbp + 0x910], rdi
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x918], rax
mov qword [rbp + 0x920], rsi
mov qword [rbp + 0x928], rbx
mov qword [rbp + 0x930], rcx
mov qword [rbp + 0x938], rdx
mov qword [rbp + 0x958], 0
mov byte [rbp + 0x960], 0
mov qword [rbp + 0x860], 1
mov qword [rbp + 0x868], 1
mov rax, qword [0x1401c9cd8]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.14002d190
test rax, rax
je 0x1401407d8
mov rdi, rax
lea rdx, [rbp + 0x860]
mov r8d, 0x108
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xb88], rdi
mov qword [rbp + 0xb70], 0
mov qword [rbp + 0xb78], 8
mov qword [rbp + 0xb80], 0
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
mov qword [rbp + 0xc38], rax
mov qword [rbp + 0x7e8], rax
mov qword [rbp + 0x7f0], rcx
mov qword [rbp + 0x7f8], 0
mov qword [rbp + 0xc90], rcx
test rcx, rcx
mov qword [rbp + 0xc88], rdi
je 0x14013e20d
mov eax, 8
mov qword [rbp + 0xc80], rax
xor ebx, ebx
xor esi, esi
mov qword [rbp + 0xcb8], 0
mov rdi, qword [rbp + 0xc90]
jmp 0x14013e0f0
mov rax, qword [rbp + 0xc80]
mov qword [rax + rbx], rdi
mov rcx, qword [rbp + 0xca0]
mov qword [rax + rbx + 8], rcx
inc rsi
mov qword [rbp + 0xb80], rsi
mov rdi, qword [rbp + 0x7f0]
add rbx, 0x10
test rdi, rdi
je 0x14013e177
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7e8]
mov r8, qword [rbp + 0xcb8]
call fcn.140104230
cmp byte [rbp + 0x889], 3
je 0x14013e2fd
sub rdi, qword [rbp + 0x7f0]
mov rax, qword [rbp + 0x870]
mov qword [rbp + 0xca0], rax
mov rax, rdi
add rax, qword [rbp + 0x7f8]
mov rdi, qword [rbp + 0x880]
mov qword [rbp + 0xcb8], rax
mov qword [rbp + 0x7f8], rax
cmp rsi, qword [rbp + 0xb70]
jne 0x14013e0bb
lea rcx, [rbp + 0xb70]
call fcn.1400fc4a0
mov rax, qword [rbp + 0xb78]
mov qword [rbp + 0xc80], rax
jmp 0x14013e0bb
cmp rsi, 2
mov rdi, qword [rbp + 0xc88]
jb 0x14013e20d
mov rcx, qword [rbp + 0xb78]
cmp rsi, 0x15
jae 0x14013e1fe
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
mov rdi, qword [rbp + 0xc88]
jmp 0x14013e1c7
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp rbx, r8
je 0x14013e20d
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x14013e1b7
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x14013e1ad
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x14013e1da
add r10, rcx
jmp 0x14013e1b0
mov rdx, rsi
call fcn.1400ef4c0
mov rdi, qword [rbp + 0xc88]
mov qword [rbp + 0xbf0], 0
mov qword [rbp + 0xbf8], 8
mov qword [rbp + 0xc00], 0
mov qword [rbp + 0xbd0], 0
mov qword [rbp + 0xbd8], 8
mov qword [rbp + 0xbe0], 0
mov rbx, rdi
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rbp + 0xb08], xmm0
mov qword [rbp + 0xb18], 0
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xb08]
call fcn.1401006e0
mov rax, qword [rbp + 0x860]
cmp rax, 3
jne 0x14013e3c2
mov rcx, rbx
add rcx, 0x10
mov qword [rbp + 0xcb8], rcx
lea rdi, [rbp + 0x878]
mov rcx, qword [rbx + 0xd0]
mov qword [rbp + 0xc60], rcx
mov rcx, qword [rbx + 0xd8]
mov qword [rbp + 0xc78], rcx
movzx ecx, byte [rbx + 0x100]
mov byte [rbp + 0xc58], cl
mov rcx, qword [rbx + 0x20]
mov qword [rbp + 0xc48], rcx
mov rcx, qword [rbx + 0x28]
mov qword [rbp + 0xc80], rcx
jmp 0x14013e443
lea r8, [0x1401ac748]
mov rcx, r15
call fcn.14016c4b0