Function at 0x1401e5fc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rdi, qword [rcx + 8]
test byte [rcx + 1], 0x20
mov rax, qword [rdi + 8]
mov rbx, rcx
mov r12, rdx
mov dword [rsp + 0x70], r8d
mov esi, r9d
mov dword [rsp + 0x94], r9d
mov qword [rsp + 0x50], rax
je 0x1401e6030
mov edx, dword [rcx + 0x50]
mov r8, rbx
mov rcx, qword [rax + 0x10]
call fcn.1401df470
test eax, eax
mov r14d, eax
mov dword [rsp + 0x90], eax
jne 0x1401e686f
test esi, esi
je 0x1401e6030
cmp byte [rbx + 0x54], 0
mov ecx, 0x12841
js 0x1401e664b
cmp byte [rbx], 2
ja 0x1401e6047
mov rdx, qword [rbx + 0x80]
test rdx, rdx
jne 0x1401e610c
jmp 0x1401e6065
mov rcx, rbx
call fcn.1401d3320
test eax, 0xffffffef
mov r14d, eax
mov dword [rsp + 0x90], eax
je 0x1401e6035
jmp 0x1401e686f
cmp byte [rdi + 0x13], 0
je 0x1401e607e
mov edx, dword [rbx + 0x50]
xor r9d, r9d
mov rcx, rdi
mov r8, qword [r12 + 8]
call fcn.1401cd1a0
test byte [rbx + 1], 2
je 0x1401e60cb
mov rax, qword [rbx + 0x30]
cmp qword [r12 + 8], rax
jne 0x1401e60cb
cmp word [rbx + 0x46], 0
je 0x1401e61fd
mov eax, dword [r12 + 0x28]
add eax, dword [r12 + 0x24]
cmp dword [rbx + 0x40], eax
jne 0x1401e61fd
mov rdx, r12
mov rcx, rbx
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401c0660
test esi, esi
jne 0x1401e61fd
mov r8d, dword [rsp + 0x70]
lea r9, [rsp + 0x94]
mov rcx, rbx
mov rdx, qword [r12 + 8]
shr r8d, 3
and r8d, 1
call fcn.1401e7e60
test eax, eax
mov r14d, eax
mov dword [rsp + 0x90], eax
je 0x1401e61fd
jmp 0x1401e686f
test esi, esi
jne 0x1401e61fd
test byte [rsp + 0x70], 2
je 0x1401e6163
mov rcx, rbx
call fcn.1401cb700
mov rax, qword [r12 + 8]
cmp qword [rbx + 0x30], rax
jne 0x1401e61fd
mov rdx, qword [r12]
xor edi, edi
mov rcx, rbx
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xc8], edi
mov qword [rsp + 0xb0], rdx
lea rdx, [rsp + 0xa0]
call fcn.1401c0660
jmp 0x1401e6766
mov eax, dword [r12 + 0x20]
lea r8, [rsp + 0x94]
test ax, ax
je 0x1401e61b4
mov qword [rsp + 0xa0], rdx
mov rdx, qword [r12 + 0x18]
mov rcx, rbx
mov word [rsp + 0xbc], ax
mov byte [rsp + 0xbe], 0
mov byte [rsp + 0xc2], 0
mov qword [rsp + 0xa8], rdx
lea rdx, [rsp + 0xa0]
call fcn.1401e5c10
jmp 0x1401e61d7
mov r9d, dword [rsp + 0x70]
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov r8, qword [r12 + 8]
mov rdx, qword [r12]
shr r9d, 3
and r9d, 1
call fcn.1401c04a0
mov dword [rsp + 0x90], eax
mov r14d, dword [rsp + 0x90]
test r14d, r14d
jne 0x1401e686f
cmp dword [rsp + 0x94], 0
je 0x1401e611b
mov rbp, qword [rbx + 0x88]
cmp dword [rbp + 0x14], 0
js 0x1401e622f
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x70]
and eax, 0x80
mov dword [rsp + 0x74], eax
jne 0x1401e625b
jmp 0x1401e62f7
cmp byte [rbx], 1
jbe 0x1401e6240
mov ecx, 0x128bc
call fcn.1401ea070
jmp 0x1401e6248
mov rcx, rbp
call fcn.1401bfd10
test eax, eax
mov r14d, eax
mov dword [rsp + 0x90], eax
je 0x1401e620a
jmp 0x1401e686f
mov rax, qword [rsp + 0x50]
xor esi, esi
mov dword [rsp + 0x90], esi
mov r13d, dword [rax + 0x90]
mov eax, 4
cmp r13d, eax
cmovl r13d, eax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x21], 0
je 0x1401e662c
movzx eax, word [rbp + 0xe]
cmp eax, r13d
jge 0x1401e662c
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0xa0]
mov rcx, rbp
call qword [rbp + pe_nt_image_headers64]
movzx eax, word [rsp + 0xb4]
cmp dword [rsp + 0xb0], eax
je 0x1401e661e
mov rsi, qword [rsp + 0x40]
movsxd rax, r13d
mov r8d, 3
mov r9d, dword [rbp + 4]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsi + rax - 4]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
bswap edx
call fcn.1401d9560
jmp 0x1401e661e
movzx r10d, byte [rbp + 0xa]
mov rax, qword [rsp + 0x40]
mov rcx, r10
add rcx, rax
cmp byte [rbp + 1], 0
je 0x1401e6356
mov r15d, dword [r12 + 0x24]
mov r14d, dword [r12 + 0x28]
mov rax, qword [r12 + 0x10]
add r14d, r15d
cmp r14d, 0x7f
mov qword [rsp + 0x60], rax
ja 0x1401e6331
mov byte [rcx], r14b
mov al, 1
jmp 0x1401e6339
movsxd rdx, r14d
call fcn.1402032c0
movzx eax, al
mov rdx, qword [r12 + 8]
add r10d, eax
mov rax, qword [rsp + 0x40]
movsxd rcx, r10d
add rcx, rax
call fcn.1402032c0
jmp 0x1401e637f
mov r15, qword [r12 + 8]
mov rax, qword [r12]
cmp r15d, 0x7f
mov r14d, r15d
mov qword [rsp + 0x60], rax
ja 0x1401e6374
mov byte [rcx], r15b
mov al, 1
jmp 0x1401e637c
movsxd rdx, r15d
call fcn.1402032c0
movzx eax, al
lea ecx, [rax + r10]
movzx r11d, word [rbp + 0xe]
mov rax, qword [rsp + 0x40]
movsxd r8, ecx
add r8, rax
cmp r11d, r14d
jl 0x1401e63c4
lea r13d, [rcx + r14]
mov rsi, qword [rsp + 0x60]
movsxd rcx, r15d
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
mov eax, 4
cmp r13d, eax
cmovl r13d, eax
sub r14d, r15d
xor eax, eax
movsxd rcx, r14d
rep stosb byte [rdi], al
jmp 0x1401e6613
mov rax, qword [rbp + 0x48]
xor edx, edx
movzx r9d, word [rbp + 0x10]
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x48]
mov eax, r14d
sub eax, r9d
mov esi, dword [rsi + 0x38]
lea r10d, [rsi - 4]
div r10d
mov rax, qword [rsp + 0x40]
add edx, r9d
cmp r11d, edx
cmovge r9d, edx
xor r10d, r10d
xor r11d, r11d
mov dword [rsp + 0x9c], r10d
add ecx, r9d
mov qword [rsp + 0x58], r11
lea r13d, [rcx + 4]
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x88], rax
cmp r14d, r9d
mov edx, r9d
cmovle edx, r14d
cmp edx, r15d
jg 0x1401e645b
mov rsi, qword [rsp + 0x60]
movsxd rcx, edx
mov rdi, r8
rep movsb byte [rdi], byte [rsi]
jmp 0x1401e647c
test r15d, r15d
jle 0x1401e6472
mov rsi, qword [rsp + 0x60]
mov ecx, r15d
mov rdi, r8
mov edx, r15d
rep movsb byte [rdi], byte [rsi]
jmp 0x1401e647c
movsxd rcx, edx
mov rdi, r8
xor eax, eax
rep stosb byte [rdi], al
sub r14d, edx
test r14d, r14d
jle 0x1401e6609
movsxd rax, edx
sub r15d, edx
add qword [rsp + 0x60], rax
sub r9d, edx
je 0x1401e649d
add r8, rax
jmp 0x1401e643d
mov rax, qword [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0xa0], r9
mov esi, dword [rsp + 0x9c]
cmp byte [rax + 0x21], 0
jne 0x1401e6504
xor r8d, r8d
mov r9d, dword [rsp + 0x9c]
mov dword [rsp + 0x20], r8d
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
call fcn.1401bbf20
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x98], eax
cmp byte [rdi + 0x21], 0
je 0x1401e6593
test eax, eax
jne 0x1401e6593
jmp 0x1401e654e
mov eax, dword [0x140238000]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x48]
mov r11d, dword [rax + 0x34]
mov edi, dword [rsp + 0x9c]
mov rcx, qword [rsp + 0x48]
lea r10d, [rdi + 1]
mov edx, r10d
mov dword [rsp + 0x9c], r10d
call fcn.1401d9510
cmp r10d, eax
je 0x1401e6517
mov eax, dword [rsp + 0x78]
xor edx, edx
div r11d
cmp edi, eax
je 0x1401e6517
jmp 0x1401e64ba
mov edx, dword [rsp + 0x9c]
cmp esi, 1
mov r9d, esi
mov r8d, 3
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x98]
sbb r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.1401d9560
cmp dword [rsp + 0x98], 0
je 0x1401e6593
mov rcx, qword [rsp + 0xa0]
call fcn.1401da910
mov esi, dword [rsp + 0x98]
test esi, esi
je 0x1401e65ae
mov rcx, qword [rsp + 0x58]
call fcn.1401da910
mov dword [rsp + 0x74], esi
jmp 0x1401e6613
mov eax, dword [rsp + 0x9c]
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
bswap eax
mov dword [rsi], eax
call fcn.1401da910
mov rax, qword [rsp + 0xa0]
xor ecx, ecx
mov qword [rsp + 0x58], rax
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x68], rax
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x78], rax
lea r8, [rax + 4]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x78], eax
lea r9d, [rax - 4]
jmp 0x1401e643d
mov rcx, qword [rsp + 0x58]
call fcn.1401da910
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0
jne 0x1401e6867
movzx esi, word [rbx + 0x56]
cmp dword [rsp + 0x94], 0
mov eax, esi
jne 0x1401e67a1
cmp si, word [rbp + 0x18]
jb 0x1401e6663
mov ecx, 0x128e0
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401ea070
mov rcx, qword [rbp + 0x70]
call fcn.1401fc0a0
test eax, eax
mov r14d, eax
mov dword [rsp + 0x90], eax
jne 0x1401e6867
mov rdx, qword [rbp + 0x60]
lea eax, [rsi + rsi]
cdqe
movzx edi, word [rdx + rax]
rol di, 8
and di, word [rbp + 0x1a]
movzx edi, di
add rdi, qword [rbp + 0x50]
cmp byte [rbp + 8], 0
mov rdx, rdi
jne 0x1401e66ac
mov eax, dword [rdi]
mov rdi, qword [rsp + 0x40]
mov dword [rdi], eax
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x48], rdx
mov rcx, rbp
call qword [rbp + pe_nt_image_headers64]
movzx ecx, word [rsp + 0xb4]
xor eax, eax
mov r8d, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x48]
mov r9d, ecx
cmp ecx, r8d
je 0x1401e66fb
mov ax, word [rsp + 0xb6]
mov rcx, rbp
mov word [rsp + 0x20], ax
call fcn.1401c1a60
mov rdx, qword [rsp + 0x48]
movzx r8d, word [rsp + 0xb6]
mov dword [rsp + 0x90], eax
and byte [rbx + 1], 0xfb
cmp r8d, r13d
jne 0x1401e6780
movzx eax, word [rsp + 0xb4]
cmp eax, dword [rsp + 0xb0]
jne 0x1401e6780
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x21], 0
je 0x1401e6739
movzx eax, word [rbp + 0x10]
cmp eax, r13d
jle 0x1401e6780
mov rcx, qword [rbp + 0x50]
movzx eax, byte [rbp + 9]
lea rax, [rcx + rax + 0xa]
mov ecx, 0x128fb
cmp rdx, rax
jb 0x1401e6761
movsxd rax, r13d
add rax, rdx
cmp qword [rbp + 0x58], rax
jae 0x1401e676e
mov ecx, 0x128fe
call fcn.1401ea070
mov r14d, eax
jmp 0x1401e686f
mov rsi, qword [rsp + 0x40]
mov ecx, r13d
mov rdi, rdx
rep movsb byte [rdi], byte [rsi]
jmp 0x1401e686f
lea r9, [rsp + 0x90]
mov edx, esi
mov rcx, rbp
call fcn.1401c5c00
cmp dword [rsp + 0x90], 0
je 0x1401e67b7
jmp 0x1401e6867
jns 0x1401e67b7
cmp word [rbp + 0x18], 0
je 0x1401e67b7
and byte [rbx + 1], 0xfd
inc eax
mov word [rbx + 0x56], ax
movzx esi, ax
mov r8, qword [rsp + 0x40]
xor edx, edx
mov r9d, r13d
mov rcx, rbp
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rdx
mov edx, esi
mov qword [rsp + 0x30], rax
xor eax, eax
mov dword [rsp + 0x28], eax
call fcn.1401ccc50
mov word [rbx + 0x46], 0
cmp byte [rbp + 0xc], 0
je 0x1401e6867
and byte [rbx + 1], 0xfd
mov rcx, rbx
call fcn.1401bdd70
mov rdx, qword [rbx + 0x88]
test byte [rsp + 0x70], 2
mov dword [rsp + 0x90], eax
mov byte [rdx + 0xc], 0
mov byte [rbx], 1
je 0x1401e6867
test eax, eax
jne 0x1401e6867
mov rcx, rbx
call fcn.1401c0c50
cmp qword [rbx + 0x80], 0
je 0x1401e685b
mov rcx, qword [r12 + 8]
call fcn.1401fa190
test rax, rax
mov qword [rbx + 0x18], rax
jne 0x1401e684d
mov dword [rsp + 0x90], 7
jmp 0x1401e685b
mov rsi, qword [r12]
mov rdi, rax
mov rcx, qword [r12 + 8]
rep movsb byte [rdi], byte [rsi]
mov byte [rbx], 3
mov rax, qword [r12 + 8]
mov qword [rbx + 0x48], rax
mov r14d, dword [rsp + 0x90]
mov eax, r14d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret