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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rbx, r8
mov rdi, rdx
mov r14, rcx
mov esi, dword [rsp + 0x138]
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r12, qword [rdx]
movzx eax, byte [r12]
cmp eax, 0x33
jne 0x1401e946a
mov rdx, qword [r12 + 0x18]
mov rcx, r14
mov r8d, esi
call fcn.140266020
mov esi, eax
mov rax, qword [rbx + 0x58]
test byte [rax + 0x3a], 0x20
jne 0x1401e918d
mov rcx, rbx
mov rdx, rdi
call fcn.1401e9c20
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x1401e9177
call fcn.140278ca0
int3
mov eax, esi
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test byte [rdi + 0x15], 8
jne 0x1401e915d
jmp 0x1401e9152
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x38], 0
cmp qword [rsp + 0xa0], 0
je 0x1401e91c7
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa0]
call fcn.140256bc0
cmp qword [rsp + 0x80], 0
je 0x1401e91f9
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
call fcn.140256bc0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x20], rcx
cmp qword [rsp + 0x38], 0
je 0x1401e9251
mov rax, qword [rsp + 0x38]
cmp dword [rax], 1
jne 0x1401e9251
mov rax, qword [rsp + 0x38]
mov r15, qword [rax + 8]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401e9248
mov rcx, qword [rsp + 0x88]
call fcn.140255040
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x10], r15
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x48]
test rax, rax
je 0x1401e9281
movsxd rcx, dword [rax]
test rcx, rcx
jle 0x1401e9281
add rax, 0x20
xor edx, edx
mov word [rax], 0
inc rdx
add rax, 0x20
cmp rdx, rcx
jb 0x1401e9270
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1401e93e4
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
cmp rcx, qword [rax + 0x20]
je 0x1401e9323
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
cmp ebp, eax
jge 0x1401e9195
mov rax, qword [rsp + 0xa0]
add rax, 8
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x80]
add rax, 8
mov qword [rsp + 0xa8], rax
mov r13, qword [rsp + 0xb0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x68], 0
jmp 0x1401e937d
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x80], rax
jmp 0x1401e92bd
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax + r15]
mov rcx, r14
mov rdx, qword [rsp + 0x38]
call fcn.1401d5840
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xa8]
mov qword [rax + r15], 0
inc r13
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
cmp r13, rax
jge 0x1401e91a7
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x48]
mov rax, qword [rax + r13*8]
cmp qword [rax], r12
jne 0x1401e9368
movsxd r15, dword [rax + 0x24]
dec r15
shl r15, 5
mov rax, qword [rsp + 0x50]
mov r8, qword [rax + r15]
test r8, r8
je 0x1401e9368
mov rax, qword [rsp + 0x50]
add rax, r15
mov qword [rsp + 0x70], rax
mov rcx, r14
mov rdx, qword [rsp + 0x68]
call fcn.1401d5840
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x70]
mov qword [rax], 0
cmp qword [rsp + 0x80], 0
jne 0x1401e933a
jmp 0x1401e9368
mov rax, qword [rsp + 0x88]
cmp byte [rax + 0x67], 0
jne 0x1401e964d
mov edx, dword [rsp + 0x48]
shl rdx, 2
mov rcx, qword [r14]
call fcn.140357520
lea r15, [rsp + 0xbc]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, qword [rsp + 0x60]
mov r8d, 4
xor r9d, r9d
call fcn.1401db930
mov dword [rsp + 0x5c], eax
mov eax, dword [r15]
mov dword [r12 + 0x2c], eax
jmp 0x1401e9656
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1401e93f6
movsxd rax, ebp
mov qword [rsp + 0xb0], rax
jmp 0x1401e929e
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x78], rcx
cmp eax, 0x30
jne 0x1401e949a
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, Ordinal_79
xor r8d, r8d
mov r9d, esi
call fcn.140364e30
jmp 0x1401e9148
cmp eax, 0x2b
je 0x1401e9136
mov ebp, r9d
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x9c], eax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x40], rax
test byte [rax + 0x39], 4
jne 0x1401e94f2
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1401e94f2
mov rax, qword [rax + 0x38]
movsxd rcx, ebp
cmp byte [rax + rcx], 0
je 0x1401e94f2
xor eax, eax
cmp dword [rsp + 0x130], 0
sete al
mov dword [rsp + 0x9c], eax
test ebp, ebp
jle 0x1401e9520
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x48]
mov ecx, ebp
xor edx, edx
jmp 0x1401e950d
inc rdx
cmp rcx, rdx
je 0x1401e9520
mov r8, qword [rax + rdx*8]
test r8, r8
je 0x1401e9505
cmp qword [r8], r12
jne 0x1401e9505
jmp 0x1401e9152
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
mov dword [rsp + 0x48], 0
cmp ebp, eax
jge 0x1401e9564
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x48]
movsxd rdx, ebp
mov dword [rsp + 0x48], 0
mov r8, qword [rcx + rdx*8]
xor r9d, r9d
cmp qword [r8], r12
sete r9b
add dword [rsp + 0x48], r9d
inc rdx
cmp rax, rdx
jne 0x1401e9549
mov dword [rsp + 0xbc], 0
mov eax, dword [r12 + 4]
bt eax, 0xc
jae 0x1401e9672
mov rcx, qword [r12 + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
je 0x1401e9672
bt eax, 0x19
jae 0x1401e9608
cmp dword [r12 + 0x2c], 0
je 0x1401e9608
mov rax, qword [r12 + 0x10]
mov cl, byte [rax]
cmp cl, 0xa3
jne 0x1401e95ad
mov cl, byte [rax + 2]
cmp cl, 0xa4
je 0x1401e95c6
movzx ecx, cl
mov edx, 1
cmp ecx, 0x80
jne 0x1401e95cc
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x20]
mov edx, dword [rax]
mov eax, dword [rsp + 0x48]
cmp eax, edx
cmovg edx, eax
shl rdx, 2
mov rcx, qword [r14]
call fcn.140357520
lea rcx, [rsp + 0xbc]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], rax
jmp 0x1401e9691
mov qword [rsp + 0x60], 0
jmp 0x1401e9633
mov rax, qword [r14]
mov qword [rsp + 0x88], rax
test r12, r12
je 0x1401e95fd
mov rcx, qword [rsp + 0x88]
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.1402698b0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x5c], 5
mov rax, qword [rsp + 0x88]
cmp byte [rax + 0x67], 0
je 0x1401e9444
mov qword [rsp + 0x50], 0
cmp qword [rsp + 0x60], 0
je 0x1401e96a9
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x60]
call fcn.140255040
jmp 0x1401e96a9
lea rax, [rsp + 0xbc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x50], 0
mov rcx, r14
mov rdx, r12
mov r8d, 4
xor r9d, r9d
call fcn.1401db930
mov dword [rsp + 0x5c], eax
xor r13d, r13d
mov eax, dword [rsp + 0x9c]
test eax, eax
sete r13b
cmp dword [rsp + 0x5c], 4
cmovne r13d, eax
mov r8d, dword [rsp + 0xbc]
xor eax, eax
test r13d, r13d
sete al
lea edx, [rax*4 + 0x20]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x68], r8d
xor r9d, r9d
call fcn.140364e30
mov rax, qword [rsp + 0x40]
or byte [rax + 0x39], 8
cmp dword [rbx + 0x48], 0
jne 0x1401e970f
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbx + 0x10], eax
test ebp, ebp
jle 0x1401e972e
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x38]
bt eax, 0x14
jb 0x1401e972e
or eax, 0x40000
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x38], eax
movsxd rdx, dword [rbx + 0x48]
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add rax, rdx
mov dword [rbx + 0x48], eax
mov rcx, qword [rdi + 8]
mov r15, qword [rcx]
mov rcx, qword [r15]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x1401e9782
mov qword [rbx + 0x50], 0
mov dword [rbx + 0x48], 0
cmp qword [rsp + 0x50], 0
je 0x1401e9148
mov rcx, qword [r14]
mov rdx, qword [rsp + 0x50]
call fcn.140245f10
jmp 0x1401e9148
shl rax, 2
lea rdx, [rax + rax*4]
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x70], rdx
add rdx, 0x10
call fcn.140246360
test rax, rax
je 0x1401e9755
mov rcx, rax
mov rax, qword [r15 + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x70]
mov qword [rcx + 8], rax
mov qword [r15 + 0x60], rcx
add rcx, 0x10
mov r15, rcx
cmp qword [rsp + 0x38], 0
je 0x1401e97dd
mov rdx, qword [rsp + 0x38]
mov r8, qword [rdx - 8]
mov rcx, r15
call fcn.1402b6370
mov qword [rbx + 0x50], r15
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
movzx ecx, ax
cmp ebp, ecx
jge 0x1401e98fe
test r13d, r13d
sete byte [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
lea rdx, [rdx + rdx*4]
lea rdx, [r15 + rdx*4]
mov qword [rsp + 0x38], rdx
movsxd r8, ebp
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx + 0x48]
mov r15, r8
mov rdx, qword [rdx + r8*8]
mov dword [rsp + 0x70], 0
cmp qword [rdx], r12
jne 0x1401e98e6
add byte [rsp + 0x80], 0x26
cmp dword [rsp + 0x5c], 1
jne 0x1401e9939
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x87
mov r8d, dword [rsp + 0x68]
mov r9d, esi
call fcn.140364e30
mov dword [rsp + 0x70], 0
mov r13, qword [rsp + 0x38]
mov dword [r13 + 4], eax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x30
mov r8d, esi
xor r9d, r9d
call fcn.140364e30
mov eax, dword [rsp + 0x68]
mov dword [r13], eax
mov al, byte [rsp + 0x80]
mov byte [r13 + 0x10], al
test ebp, ebp
jle 0x1401e98c5
mov eax, esi
sub eax, ebp
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 8], eax
mov dword [rsp + 0x48], ebp
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 0xc], ecx
add rax, 0x14
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
movzx ecx, ax
inc r15
mov ecx, ecx
mov qword [rsp + 0x48], r15
cmp r15, rcx
jge 0x1401e98fe
lea r13d, [rsi + 1]
jmp 0x1401e99ea
test ebp, ebp
jle 0x1401e9764
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x39]
test eax, 0x1004
jne 0x1401e9764
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x20], ebp
mov rcx, qword [rsp + 0x78]
mov edx, Ordinal_127
xor r9d, r9d
call fcn.140364e30
jmp 0x1401e9764
cmp qword [rsp + 0x50], 0
je 0x1401e9a48
mov rax, qword [rsp + 0x50]
mov r9d, dword [rax]
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x78]
mov edx, 0x69
mov r8d, dword [rsp + 0x68]
call fcn.140364e30
jmp 0x1401e9870
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x87
mov r8d, dword [rsp + 0x68]
mov r9d, r13d
call fcn.140364e30
mov r15, qword [rsp + 0x38]
mov dword [r15 + 4], eax
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x30
mov r8d, r13d
xor r9d, r9d
call fcn.140364e30
mov byte [r15 + 0x10], ILCreateFromPathW
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x3c]
add r15, 0x14
mov qword [rsp + 0x38], r15
mov r8, qword [rsp + 0x48]
inc r8
movzx ecx, ax
inc r13d
mov qword [rsp + 0x48], r8
cmp r8, rcx
jge 0x1401e98fe
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x48]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rcx + rdx*8]
cmp qword [rcx], r12
jne 0x1401e99ce
cmp dword [rsp + 0x5c], 1
je 0x1401e9972
cmp qword [rsp + 0x50], 0
je 0x1401e9a43
mov ecx, dword [rsp + 0x70]
movsxd rax, ecx
inc ecx
mov dword [rsp + 0x70], ecx
mov rcx, qword [rsp + 0x50]
mov r9d, dword [rcx + rax*4]
mov dword [rsp + 0x20], r13d
mov rcx, qword [rsp + 0x78]
mov edx, 0x69
mov r8d, dword [rsp + 0x68]
jmp 0x1401e998c
xor r9d, r9d
jmp 0x1401e9a2a
mov dword [rsp + 0x70], 0
xor r9d, r9d
jmp 0x1401e9955