Function at 0x140090880
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 [0x1400d9220]
test rdx, rdx
je 0x1400924f7
mov r13, rcx
mov rax, qword [0x1400d9218]
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 0x140090920
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, r12
add r9, 0xfffffffffffffff0
cmp rsi, r13
ja 0x1400908f0
add rsi, qword [r11 + 8]
cmp rsi, r13
jbe 0x1400908f0
jmp 0x14009092d
inc r15
cmp r8, rcx
jne 0x1400908d3
jmp 0x1400924f7
mov rdi, qword [0x1400d9238]
test rdi, rdi
je 0x140090969
mov r14, qword [0x1400d9230]
imul rsi, rdi, 0x230
xor ecx, ecx
xor ebx, ebx
nop dword [rax + rax]
cmp qword [r14 + rbx], r15
je 0x140090b9d
add rbx, 0x230
dec rcx
cmp rsi, rbx
jne 0x140090950
cmp rdx, r15
jbe 0x140094806
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rbp + 0x860]
call fcn.14008ff40
test byte [rbp + 0x860], 1
je 0x1400924f7
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 0x1400924d7
cmp word [r14], 0x5a4d
jne 0x1400924d7
mov edi, dword [r14 + 0x3c]
mov rax, r13
sub rax, rdi
setb cl
cmp rax, 0x88
setb al
or al, cl
jne 0x1400924d7
cmp dword [r14 + rdi], 0x4550
jne 0x1400924d7
cmp word [r14 + rdi + 0x18], 0x20b
jne 0x1400924d7
movzx esi, word [r14 + rdi + 0x14]
cmp rsi, 0x70
jb 0x1400924d7
lea rbx, [rdi + 0x88]
add rsi, 0xffffffffffffff90
mov rax, r13
sub rax, rbx
cmp rax, rsi
jb 0x1400924d7
lea rdx, [r14 + rbx]
mov r9d, dword [r14 + rdi + 0x84]
lea rcx, [rbp + 0x860]
mov r8, rsi
call fcn.140096f30
test byte [rbp + 0x860], 1
jne 0x1400924d7
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 0x1400924d7
mov edx, dword [r14 + rdi + 0xc]
test rdx, rdx
je 0x140091989
mov rax, r13
sub rax, rdx
jb 0x1400924d7
mov r8d, dword [r14 + rdi + 0x10]
lea rcx, [r8 + r8]
lea rcx, [rcx + rcx*8]
cmp rax, rcx
jb 0x1400924d7
add rcx, rdx
mov rax, r13
sub rax, rcx
cmp rax, 4
jb 0x1400924d7
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 0x140091b4f
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 0x140091a27
test rcx, rcx
je 0x140090c2d
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 [0x1400d9238], rsi
cmp rsi, qword [0x1400d9228]
jne 0x140090bf7
call fcn.140050910
mov r14, qword [0x1400d9230]
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 [0x1400d9238], 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 0x140091b93
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 0x140091ab9
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 0x140091a18
lea rbx, [r8 + rcx*2]
movzx edx, word [rbx + 0xc]
cmp edx, 0xfeff
movsx ecx, dx
cmovb ecx, edx
test ecx, ecx
jle 0x140091a18
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 0x140091b54
test rcx, rcx
je 0x140091b54
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 0x1400919bc
lea rcx, [rbp + 0x860]
call fcn.1400505f0
jmp 0x1400919b5
mov rdi, r11
mov rsi, r10
cmp qword [rbp + 0xcb8], 2
jb 0x140091b7c
mov rcx, qword [rbp + 0x868]
cmp qword [rbp + 0xcb8], 0x15
jae 0x140091b70
mov rbx, qword [rbp + 0xcb8]
shl rbx, 4
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x140091b18
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 0x140091b7c
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x140091b08
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x140091afe
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x140091b2b
add r10, rcx
jmp 0x140091b01
mov rax, r14
jmp 0x140091b85
mov rdx, qword [rbp + 0x860]
test rdx, rdx
je 0x1400924d7
mov rcx, qword [rbp + 0x868]
jmp 0x1400924c8
mov rdx, qword [rbp + 0xcb8]
call fcn.140049100
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 0x1400924d7
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.140094e30
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, [0x1400e3555]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140094e30
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, [0x1400e3560]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xe
call fcn.140094e30
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, [0x1400e357d]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140094e30
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, [0x1400e3588]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xb
call fcn.140094e30
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, [0x1400e3593]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140094e30
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, [0x1400e35d7]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.140094e30
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, [0x1400e35e1]
lea rcx, [rbp + 0xaa0]
mov r8d, 0x12
call fcn.140094e30
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, [0x1400e3602]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xc
call fcn.140094e30
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, [0x1400e35a2]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xa
call fcn.140094e30
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, [0x1400e35ac]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140094e30
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, [0x1400e35bb]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xd
call fcn.140094e30
mov rsi, rax
mov rbx, rdx
lea rdx, [0x1400e35c8]
lea rcx, [rbp + 0xaa0]
mov r8d, 0xf
call fcn.140094e30
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 [0x140105118]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.14000b1e0
test rax, rax
je 0x140094928
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 0x14009235d
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 0x140092240
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 0x1400922c7
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7e8]
mov r8, qword [rbp + 0xcb8]
call fcn.140058380
cmp byte [rbp + 0x889], 3
je 0x14009244d
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 0x14009220b
lea rcx, [rbp + 0xb70]
call fcn.1400505f0
mov rax, qword [rbp + 0xb78]
mov qword [rbp + 0xc80], rax
jmp 0x14009220b
cmp rsi, 2
mov rdi, qword [rbp + 0xc88]
jb 0x14009235d
mov rcx, qword [rbp + 0xb78]
cmp rsi, 0x15
jae 0x14009234e
add rbx, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
mov rdi, qword [rbp + 0xc88]
jmp 0x140092317
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 0x14009235d
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x140092307
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x1400922fd
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x14009232a
add r10, rcx
jmp 0x140092300
mov rdx, rsi
call fcn.140043610
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.140054830
mov rax, qword [rbp + 0x860]
cmp rax, 3
jne 0x140092512
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 0x140092593
lea r8, [0x1400e7c68]
mov rcx, r15
call fcn.1400c0600