Function at 0x140059db0
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 [0x1400a2038]
test rdx, rdx
je 0x14005ba27
mov r13, rcx
mov rax, qword [0x1400a2030]
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 0x140059e50
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, r12
add r9, 0xfffffffffffffff0
cmp rsi, r13
ja 0x140059e20
add rsi, qword [r11 + 8]
cmp rsi, r13
jbe 0x140059e20
jmp 0x140059e5d
inc r15
cmp r8, rcx
jne 0x140059e03
jmp 0x14005ba27
mov rdi, qword [0x1400a2050]
test rdi, rdi
je 0x140059e99
mov r14, qword [0x1400a2048]
imul rsi, rdi, 0x230
xor ecx, ecx
xor ebx, ebx
nop dword [rax + rax]
cmp qword [r14 + rbx], r15
je 0x14005a0cd
add rbx, 0x230
dec rcx
cmp rsi, rbx
jne 0x140059e80
cmp rdx, r15
jbe 0x14005dd36
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rbp + 0x860]
call fcn.140059470
test byte [rbp + 0x860], 1
je 0x14005ba27
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 0x14005ba07
cmp word [r14], 0x5a4d
jne 0x14005ba07
mov edi, dword [r14 + 0x3c]
mov rax, r13
sub rax, rdi
setb cl
cmp rax, 0x88
setb al
or al, cl
jne 0x14005ba07
cmp dword [r14 + rdi], 0x4550
jne 0x14005ba07
cmp word [r14 + rdi + 0x18], 0x20b
jne 0x14005ba07
movzx esi, word [r14 + rdi + 0x14]
cmp rsi, 0x70
jb 0x14005ba07
lea rbx, [rdi + 0x88]
add rsi, 0xffffffffffffff90
mov rax, r13
sub rax, rbx
cmp rax, rsi
jb 0x14005ba07
lea rdx, [r14 + rbx]
mov r9d, dword [r14 + rdi + 0x84]
lea rcx, [rbp + 0x860]
mov r8, rsi
call fcn.140060460
test byte [rbp + 0x860], 1
jne 0x14005ba07
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 0x14005ba07
mov edx, dword [r14 + rdi + 0xc]
test rdx, rdx
je 0x14005aeb9
mov rax, r13
sub rax, rdx
jb 0x14005ba07
mov r8d, dword [r14 + rdi + 0x10]
lea rcx, [r8 + r8]
lea rcx, [rcx + rcx*8]
cmp rax, rcx
jb 0x14005ba07
add rcx, rdx
mov rax, r13
sub rax, rcx
cmp rax, 4
jb 0x14005ba07
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 0x14005b07f
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 0x14005af57
test rcx, rcx
je 0x14005a15d
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 [0x1400a2050], rsi
cmp rsi, qword [0x1400a2040]
jne 0x14005a127
call fcn.140019e40
mov r14, qword [0x1400a2048]
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 [0x1400a2050], 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 0x14005b0c3
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 0x14005afe9
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 0x14005af48
lea rbx, [r8 + rcx*2]
movzx edx, word [rbx + 0xc]
cmp edx, 0xfeff
movsx ecx, dx
cmovb ecx, edx
test ecx, ecx
jle 0x14005af48
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 0x14005b084
test rcx, rcx
je 0x14005b084
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 0x14005aeec
lea rcx, [rbp + 0x860]
call fcn.140019b20
jmp 0x14005aee5
mov rdi, r11
mov rsi, r10
cmp qword [rbp + 0xcb8], 2
jb 0x14005b0ac
mov rcx, qword [rbp + 0x868]
cmp qword [rbp + 0xcb8], 0x15
jae 0x14005b0a0
mov rbx, qword [rbp + 0xcb8]
shl rbx, 4
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x14005b048
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 0x14005b0ac
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x14005b038
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x14005b02e
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x14005b05b
add r10, rcx
jmp 0x14005b031
mov rax, r14
jmp 0x14005b0b5
mov rdx, qword [rbp + 0x860]
test rdx, rdx
je 0x14005ba07
mov rcx, qword [rbp + 0x868]
jmp 0x14005b9f8
mov rdx, qword [rbp + 0xcb8]
call fcn.140012630
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 0x14005ba07
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.14005e360
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, [0x1400e8325]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.14005e360
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, [0x1400e8330]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xe
call fcn.14005e360
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, [0x1400e834d]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.14005e360
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, [0x1400e8358]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.14005e360
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, [0x1400e8363]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.14005e360
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, [0x1400e83a7]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.14005e360
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, [0x1400e83b1]
lea rcx, [rbp + 0xaa0]
mov r8d, 0x12
call fcn.14005e360
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, [0x1400e83d2]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xc
call fcn.14005e360
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, [0x1400e8372]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.14005e360
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, [0x1400e837c]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.14005e360
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, [0x1400e838b]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xd
call fcn.14005e360
mov rsi, rax
mov rbx, rdx
lea rdx, [0x1400e8398]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.14005e360
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 [0x140109a88]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.140004100
test rax, rax
je 0x14005de58
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 0x14005b88d
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 0x14005b770
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 0x14005b7f7
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7e8]
mov r8, qword [rbp + 0xcb8]
call fcn.1400218b0
cmp byte [rbp + 0x889], 3
je 0x14005b97d
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 0x14005b73b
lea rcx, [rbp + 0xb70]
call fcn.140019b20
mov rax, qword [rbp + 0xb78]
mov qword [rbp + 0xc80], rax
jmp 0x14005b73b
cmp rsi, 2
mov rdi, qword [rbp + 0xc88]
jb 0x14005b88d
mov rcx, qword [rbp + 0xb78]
cmp rsi, 0x15
jae 0x14005b87e
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
mov rdi, qword [rbp + 0xc88]
jmp 0x14005b847
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 0x14005b88d
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x14005b837
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x14005b82d
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x14005b85a
add r10, rcx
jmp 0x14005b830
mov rdx, rsi
call fcn.14000cb40
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.14001dd60
mov rax, qword [rbp + 0x860]
cmp rax, 3
jne 0x14005ba42
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 0x14005bac3
lea r8, [0x1400eca38]
mov rcx, r15
call fcn.140088fc0