Function at 0x1401e88c0
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, 0x48
mov ebp, dword [r8 + 0x38]
mov r12, qword [rcx + 0x10]
mov rdi, qword [r8 + 0x30]
mov dword [rsp + 0x98], edx
mov r15, rcx
mov qword [rsp + 0xa0], r8
mov dword [rsp + 0xa8], r9d
mov byte [r8], 1
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x34], 0
test ebp, ebp
jg 0x1401e8a40
jmp 0x1401e8d70
mov ebp, dword [rbx]
mov rcx, r15
mov edx, ebp
call fcn.14015e600
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov r13d, eax
call fcn.1401e5000
mov r8d, dword [rdi + 0x14]
test r8d, r8d
js 0x1401e897c
test esi, esi
jne 0x1401e895d
mov eax, dword [r15 + 0x44]
lea esi, [rax - 1]
mov dword [r15 + 0x44], esi
mov dword [rsp + 0x28], r13d
mov edx, dword [rsp + 0xa8]
mov r9d, esi
mov rcx, r15
mov qword [rsp + 0x20], rbx
call fcn.14018bd40
mov dword [rdi + 0x14], eax
movzx eax, bpl
mov word [rsp + 0x3a], ax
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
jne 0x1401e8bb8
mov eax, dword [rdi + 0x10]
xor r8d, r8d
mov rcx, r12
mov r9d, r13d
mov edx, 0xa2
mov dword [rsp + 0x20], eax
call fcn.140181750
mov rcx, qword [r12]
mov r8, qword [rdi + 8]
cmp byte [rcx + 0x67], 0
jne 0x1401e8b70
movsxd rax, dword [r12 + 0x90]
lea rcx, [rax + rax*2]
mov rdx, rax
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8 - 0x18]
mov byte [rax + 1], 0xf9
mov qword [rax + 0x10], r8
test edx, edx
jle 0x1401e8a03
mov r8, qword [r12 + 0x88]
movsxd rax, edx
movzx ebx, word [rsp + 0x3a]
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], bx
cmp ebp, 1
je 0x1401e8c00
cmp dword [r15 + 0x28], ebp
jge 0x1401e8a1a
mov dword [r15 + 0x28], ebp
mov dword [r15 + 0x2c], r13d
test esi, esi
jne 0x1401e8b90
mov rsi, qword [rsp + 0xa0]
add dword [rsp + 0x34], 1
add rdi, 0x20
mov eax, dword [rsp + 0x34]
cmp dword [rsi + 0x38], eax
jle 0x1401e8c40
mov rax, qword [rdi]
xor esi, esi
mov rbx, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x1401e8aa7
mov rax, qword [rax + 0x40]
mov r13, qword [rax + 0x48]
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x2c]
test esi, esi
je 0x1401e8a88
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
je 0x1401e8a88
mov r11d, dword [rsp + 0x98]
test r11d, r11d
jne 0x1401e8d30
nop dword [rax]
mov eax, dword [r15 + 0x44]
mov r9d, 0x10
mov rdx, r13
mov rcx, r15
lea esi, [rax - 1]
mov dword [r15 + 0x44], esi
mov r8d, esi
call fcn.1401de130
test rbx, rbx
jne 0x1401e8920
mov rax, qword [rdi + 8]
mov r13d, 0
mov ebp, 0
test byte [rax + 4], 0x20
mov eax, 0
mov word [rsp + 0x3a], ax
je 0x1401e8993
mov rax, qword [r15]
mov rbx, qword [rax + 0x10]
mov r9d, dword [rsp + 0x3c]
test r9d, r9d
jne 0x1401e8b06
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x1401e8b06
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r15 + 0x38], eax
mov edx, dword [r12 + 0x90]
cmp edx, dword [r12 + 0x94]
jge 0x1401e8dc8
lea eax, [rdx + 1]
mov dword [r12 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x3c]
mov qword [rax + 8], 0
mov dword [rax + 4], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0x55
mov r9d, 0xfffffffe
mov r8, rbx
mov rcx, r12
call fcn.140176120
jmp 0x1401e8993
test byte [r8 + 4], 0x10
jne 0x1401e8d10
mov edx, dword [r12 + 0x90]
jmp 0x1401e89e3
mov rcx, qword [r12 + 0x18]
not esi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401e8d20
mov rax, qword [rcx + 0x50]
movsxd rsi, esi
mov dword [rax + rsi*4], edx
jmp 0x1401e8a22
lea r8, [rbx + 8]
test ebp, ebp
jle 0x1401e8ad3
xor r14d, r14d
mov rbx, r8
nop word [rax + rax]
mov rdx, qword [rbx]
mov rcx, r15
add r14d, 1
add rbx, 0x20
call fcn.14018b100
test rax, rax
jne 0x1401e8c30
cmp ebp, r14d
jg 0x1401e8bd0
mov rbx, rax
test rax, rax
je 0x1401e8ad3
jmp 0x1401e8ada
test r13d, r13d
je 0x1401e8a1a
movzx eax, byte [r15 + 0x1f]
cmp al, 7
ja 0x1401e8a1a
lea ecx, [rax + 1]
mov byte [r15 + 0x1f], cl
mov dword [r15 + rax*4 + 0xd8], r13d
jmp 0x1401e8a1a
mov rbx, rax
jmp 0x1401e8ada
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x1401e8d70
mov edi, dword [r12 + 0x90]
cmp edi, dword [r12 + 0x94]
jge 0x1401e8e3d
lea eax, [rdi + 1]
mov esi, dword [rsp + 0x3c]
mov dword [r12 + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], esi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xf
mov rax, qword [rsp + 0xa0]
mov edx, dword [rax + 0x2c]
mov rbx, qword [rax + 0x20]
test edx, edx
jle 0x1401e8ce3
mov rbp, qword [rsp + 0xa0]
xor esi, esi
nop word [rax + rax]
cmp qword [r15 + 0x10], 0
je 0x1401e8cd7
mov rdx, qword [rbx + 8]
mov r8d, dword [rbx + 0x14]
mov rcx, r15
call fcn.1401e0410
add esi, 1
add rbx, 0x20
cmp dword [rbp + 0x2c], esi
jg 0x1401e8cc0
mov rax, qword [rsp + 0xa0]
mov byte [rax], 0
test edi, edi
jne 0x1401e8df0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r8
call fcn.140165990
jmp 0x1401e8b7b
mov r8d, esi
mov rdx, r12
call fcn.140184280
jmp 0x1401e8a22
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x1401e8d49
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x3c]
mov edx, 0x50
mov rcx, r12
mov r8d, dword [rsp + 0x98]
call fcn.140181750
jmp 0x1401e8a88
mov rax, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x98]
mov eax, dword [rax + 0x2c]
test edi, edi
jne 0x1401e8db0
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rdi + 0x20]
xor edi, edi
test eax, eax
jg 0x1401e8cb0
mov rax, qword [rsp + 0xa0]
mov byte [rax], 0
jmp 0x1401e8cf6
test eax, eax
je 0x1401e8d86
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x3c], eax
jmp 0x1401e8c4c
mov r8d, dword [rsp + 0x3c]
mov edx, 0x55
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.1401816c0
mov edx, eax
jmp 0x1401e8b57
mov eax, dword [r12 + 0x90]
lea edx, [rax - 1]
cmp edi, edx
jne 0x1401e8e0c
mov dword [r12 + 0x90], edi
jmp 0x1401e8cf6
mov rcx, qword [r12]
test edi, edi
cmovs edi, edx
lea rdx, [0x140438260]
cmp byte [rcx + 0x67], 0
jne 0x1401e8e35
mov rdx, qword [r12 + 0x88]
movsxd rdi, edi
lea rcx, [rdi + rdi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x1401e8cf6
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
mov edx, 0xf
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.1401816c0
mov edi, eax
jmp 0x1401e8c9d