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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xf0
movzx esi, word [rsp + 0x140]
xor eax, eax
mov r12, rdx
mov r14, r8
mov rdx, rcx
mov r15d, eax
mov edi, eax
mov qword [rsp + 0x38], rax
test si, si
je 0x1401e7ab5
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1401e7ab5
xor al, al
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov qword [rsp + 0xe0], rbp
movzx ebp, word [r12]
mov word [rsp + 0x68], bp
cmp bp, 0x3f
jbe 0x1401e7ad4
xor al, al
jmp 0x1401e8451
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xd8], r13
movzx r13d, bp
xor ebp, ebp
mov ecx, r13d
mov ebx, 1
shl rbx, cl
mov ecx, 0x803
mov al, 1
dec rbx
mov r10d, 0x182
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x88], rbp
mov r11d, ebp
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x50], r10d
test cx, r9w
je 0x1401e7b39
mov r10d, 0x183
mov dword [rsp + 0x50], r10d
mov rcx, rbp
mov r8d, ebp
mov dword [rsp + 0x6c], ebp
mov qword [rsp + 0x80], rcx
mov r10d, dword [rsp + 0x50]
cmp rdi, rbx
jae 0x1401e83f9
movzx eax, si
cmp r8d, eax
jg 0x1401e83f2
test r8d, r8d
jle 0x1401e7b73
or r11, qword [r15 + 8]
mov qword [rsp + 0x60], r11
cmp r8d, eax
jge 0x1401e7b98
mov rax, qword [r14 + 0x18]
mov r8, qword [rax + rcx*8]
mov eax, 0x800
mov qword [rsp + 0x48], r8
test ax, r9w
je 0x1401e7ba5
mov r15, r8
jmp 0x1401e83b5
mov r8, qword [rsp + 0x148]
mov qword [rsp + 0x48], r8
test dword [r8 + 0x38], 0x400
jne 0x1401e83e6
movzx eax, r9w
mov ecx, pe_nt_image_headers64
and ax, cx
mov word [rsp + 0x70], ax
je 0x1401e7bcb
mov word [r8 + 0x1e], bp
movzx eax, byte [r8 + 0x10]
mov r15d, ebp
imul rcx, rax, 0x70
mov rax, qword [rdx + 8]
mov ebx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x5c], ebx
test r13d, r13d
jle 0x1401e7d7f
lea r14, [r12 + 8]
mov eax, 1
mov r12d, ebx
nop dword [rax]
mov ecx, r15d
mov rbp, rax
shl rbp, cl
test rdi, rbp
jne 0x1401e7d54
mov rbx, qword [r14]
test rbx, rbx
je 0x1401e7d54
nop
mov eax, dword [rbx + 4]
test eax, 0x41000
je 0x1401e7c48
bt eax, 0x12
jae 0x1401e7c3a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1401e7c3e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1401e7c20
jmp 0x1401e7d4f
test rbx, rbx
je 0x1401e7d4f
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1401e7d4f
cmp dword [rbx + 0x2c], r12d
jne 0x1401e7d4f
movsx r8d, word [rbx + 0x30]
mov r9, r11
lea rcx, [rdx + 0x78]
movzx eax, r10w
not r9
mov edx, r12d
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1401d2510
mov rsi, rax
test rax, rax
je 0x1401e7d3d
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1401e7cd8
mov r8, qword [rsp + 0x48]
xor ecx, ecx
movzx edx, word [r8 + 0x3c]
test edx, edx
jle 0x1401e7cd4
mov r8, qword [r8 + 0x48]
nop dword [rax]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1401e7ccf
inc ecx
cmp ecx, edx
jl 0x1401e7cc0
mov r8, qword [rsp + 0x48]
cmp ecx, edx
jge 0x1401e7d42
test r9b, 0x82
je 0x1401e7d2e
cmp word [rbx + 0x30], 0
jl 0x1401e7d2e
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r14]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14018eea0
mov rdi, rax
test rax, rax
jne 0x1401e7d0a
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.14018f3c0
test rax, rax
je 0x1401e7d38
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.1401b6780
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401e7d3d
or rdi, rbp
mov qword [rsp + 0x38], rdi
jmp 0x1401e7d3d
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x120]
mov r11, qword [rsp + 0x60]
mov eax, 1
mov r10d, dword [rsp + 0x50]
inc r15d
add r14, 0x20
cmp r15d, r13d
jl 0x1401e7c00
movzx r9d, word [rsp + 0x138]
mov ebx, r12d
mov r12, qword [rsp + 0x128]
xor ebp, ebp
mov eax, dword [r8 + 0x38]
bt eax, 0xc
jb 0x1401e81fa
bt eax, 8
jae 0x1401e7da6
mov esi, dword [rsp + 0x30]
mov r13, rbp
mov word [rsp + 0x54], bp
mov ecx, 1
jmp 0x1401e7de6
mov r13, qword [r8 + 0x20]
test r13, r13
je 0x1401e8436
test byte [r13 + 0x64], 4
jne 0x1401e8436
cmp byte [r13 + 0x62], 0
movzx ecx, word [r13 + 0x5e]
mov word [rsp + 0x54], cx
movzx ecx, word [r13 + 0x60]
je 0x1401e7ddf
bt eax, 0xf
jb 0x1401e7ddf
mov sil, 1
jmp 0x1401e7de2
xor sil, sil
mov dword [rsp + 0x30], esi
xor al, al
xor r11b, r11b
mov r15d, ebp
mov byte [rsp + 0x34], al
mov byte [rsp + 0x35], al
movzx eax, cx
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x74], eax
test eax, eax
jle 0x1401e81f5
nop word [rax + rax]
movzx r10d, word [r8 + 0x18]
mov r14b, 1
cmp r15d, r10d
jge 0x1401e7e8a
movzx eax, word [r8 + 0x3e]
cmp r15d, eax
jl 0x1401e7e8a
mov r9, qword [r8 + 0x48]
mov edx, dword [rsp + 0x50]
movsxd rax, r15d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test dx, ax
je 0x1401e7e62
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
je 0x1401e819b
xor sil, sil
mov dword [rsp + 0x30], esi
jmp 0x1401e819b
test al, 1
je 0x1401e7e8a
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x1401e7e8a
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1401e7e87
inc edx
cmp edx, r10d
jl 0x1401e7e72
jmp 0x1401e7e8a
xor r14b, r14b
test r13, r13
je 0x1401e7eb8
mov rax, qword [r13 + 8]
movsxd rcx, r15d
movsx ebp, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
movzx r12d, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
movsx ecx, word [rax + 0x34]
and r12b, 1
cmp ebp, ecx
jne 0x1401e7ebe
or ebp, 0xffffffff
jmp 0x1401e7ebe
or ebp, 0xffffffff
xor r12b, r12b
test sil, sil
je 0x1401e7f13
test ebp, ebp
js 0x1401e7eff
cmp r15d, r10d
jl 0x1401e7eff
movsxd rax, ebp
mov r8d, 0
movzx esi, sil
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
cmove esi, r8d
cmp ebp, 0xfffffffe
movzx eax, sil
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1401e7f16
xor r8d, r8d
movzx eax, sil
cmp ebp, 0xfffffffe
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1401e7f16
xor r8d, r8d
mov esi, r8d
test r14b, r14b
je 0x1401e81ba
cmp esi, dword [rsp + 0x58]
jge 0x1401e81b5
mov eax, esi
bt rdi, rax
jb 0x1401e8101
movsxd rdi, esi
shl rdi, 5
add rdi, qword [rsp + 0x128]
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1401e80fc
mov eax, dword [rdx + 4]
test eax, 0x41000
je 0x1401e7f7c
bt eax, 0x12
jae 0x1401e7f6e
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1401e7f72
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1401e7f54
jmp 0x1401e80fc
test rdx, rdx
je 0x1401e80fc
test byte [rsp + 0x138], 0xc0
movzx r14d, r14b
cmove r14d, r8d
cmp ebp, 0xffffffff
jl 0x1401e7fbe
movzx eax, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1401e80fc
cmp dword [rdx + 0x2c], ebx
jne 0x1401e80fc
movsx eax, word [rdx + 0x30]
cmp eax, ebp
jne 0x1401e80fc
jmp 0x1401e8035
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1401e8000
mov eax, dword [r8 + 4]
test eax, 0x41000
je 0x1401e8000
bt eax, 0x12
jae 0x1401e7fee
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1401e7ff2
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1401e7fd3
nop word [rax + rax]
mov eax, dword [rdx + 4]
test eax, 0x41000
je 0x1401e8023
bt eax, 0x12
jae 0x1401e801a
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1401e801e
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1401e8000
mov r9d, ebx
xor ecx, ecx
call fcn.14018f130
test eax, eax
jne 0x1401e80f9
cmp ebp, 0xffffffff
je 0x1401e8081
mov rax, qword [rsp + 0x120]
mov rdx, qword [rdi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14018eea0
test rax, rax
jne 0x1401e805d
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r13 + 0x40]
movsxd rcx, r15d
mov r9, qword [rax + rcx*8]
sub r9, r8
nop
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401e80dc
test ecx, ecx
jne 0x1401e80f1
cmp word [rsp + 0x70], 0
mov r8, qword [rsp + 0x48]
je 0x1401e8097
lea eax, [r15 + 1]
mov word [r8 + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1401e8142
mov rcx, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
cmp byte [rsp + 0x34], 0
je 0x1401e8115
movzx ecx, byte [rax + rcx + 0x18]
xor r12b, byte [rsp + 0x35]
and cl, 1
cmp r12b, cl
je 0x1401e8142
mov r11d, dword [rsp + 0x40]
jmp 0x1401e81c3
lea r10, [0x14024c270]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1401e80f9
inc r8
jmp 0x1401e8070
xor r8d, r8d
mov rdi, qword [rsp + 0x38]
inc esi
test r14b, r14b
je 0x1401e81b5
mov ebx, dword [rsp + 0x5c]
jmp 0x1401e7f22
movzx ebx, byte [rax + rcx + 0x18]
and bl, 1
xor bl, r12b
mov byte [rsp + 0x35], bl
je 0x1401e813d
mov ecx, dword [rsp + 0x6c]
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x150]
or qword [rcx], rax
mov byte [rsp + 0x34], 1
mov r12, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
test byte [rax + r12 + 0x18], 2
je 0x1401e816b
movzx eax, word [r8 + 0x18]
cmp r15d, eax
jne 0x1401e81ae
or dword [r8 + 0x38], 0x80000
mov r11d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
cmp ebp, 0xffffffff
mov eax, 1
mov ecx, esi
mov esi, dword [rsp + 0x30]
movzx r11d, r11b
cmove r11d, eax
shl rax, cl
or rdi, rax
mov dword [rsp + 0x40], r11d
mov qword [rsp + 0x38], rdi
inc r15d
cmp r15d, dword [rsp + 0x74]
jge 0x1401e81e4
mov ebx, dword [rsp + 0x5c]
jmp 0x1401e7e10
mov r11d, dword [rsp + 0x40]
jmp 0x1401e81cb
mov r11d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x138]
mov r12, qword [rsp + 0x128]
test r15d, r15d
je 0x1401e81da
movzx eax, word [rsp + 0x54]
cmp r15d, eax
jge 0x1401e81df
mov byte [rsp + 0x30], 0
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
test r11b, r11b
je 0x1401e81fa
mov byte [rsp + 0x30], 1
jmp 0x1401e8205
mov r13d, dword [rsp + 0x58]
cmp byte [rsp + 0x30], 0
je 0x1401e83df
mov rcx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x48]
xor r10d, r10d
or rcx, qword [r15 + 8]
mov ebp, r10d
mov qword [rsp + 0x88], rcx
test r13d, r13d
jle 0x1401e8393
lea r14, [r12 + 8]
mov r12, qword [rsp + 0x120]
mov r15, rcx
mov r11d, 1
mov ecx, ebp
mov rsi, r11
shl rsi, cl
test rdi, rsi
jne 0x1401e836c
mov rdi, qword [r14]
lea rax, [r12 + 0x260]
test rdi, rdi
je 0x1401e82b7
cmp byte [rdi], 0xa7
jne 0x1401e8337
test byte [rdi + 4], 8
jne 0x1401e8337
mov r8d, dword [rdi + 0x2c]
cmp dword [rax + 8], r8d
jne 0x1401e8286
mov rbx, r11
jmp 0x1401e82ba
movsxd r9, dword [rax + 4]
mov edx, r11d
mov rcx, r11
cmp r11, r9
jge 0x1401e82b7
add rax, 0xc
nop dword [rax]
cmp dword [rax], r8d
je 0x1401e832d
inc rcx
inc edx
add rax, 4
cmp rcx, r9
jl 0x1401e82a0
mov rbx, r10
test rbx, rbx
jne 0x1401e830d
lea rax, [fcn.14013fd50]
mov word [rsp + 0xbc], r11w
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xa0], rax
lea rax, [0x1401b4be0]
mov qword [rsp + 0xa8], rax
test rdi, rdi
je 0x1401e830d
lea rcx, [rsp + 0x98]
mov rdx, rdi
call fcn.1401e3e50
cmp word [rsp + 0xbc], bx
je 0x1401e835e
mov rdi, qword [rsp + 0x38]
mov rax, r15
mov r11d, 1
not rax
test rbx, rax
jne 0x1401e8369
or rdi, rsi
mov qword [rsp + 0x38], rdi
jmp 0x1401e8369
mov ecx, edx
mov rbx, r11
shl rbx, cl
jmp 0x1401e82ba
test dword [rdi + 4], 0x804000
jne 0x1401e82b7
mov rdx, rdi
mov rcx, rax
call fcn.1401d2370
xor r10d, r10d
mov rbx, rax
lea r11d, [r10 + 1]
jmp 0x1401e82ba
mov rdi, qword [rsp + 0x38]
mov r11d, 1
xor r10d, r10d
inc ebp
add r14, 0x20
cmp ebp, r13d
jl 0x1401e8243
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x128]
movzx r9d, word [rsp + 0x138]
xor ebp, ebp
mov rdx, qword [rsp + 0x120]
mov r11, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
movzx esi, word [rsp + 0x140]
mov r14, qword [rsp + 0x130]
mov r8d, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x30]
inc qword [rsp + 0x80]
inc r8d
mov dword [rsp + 0x6c], r8d
test al, al
je 0x1401e83f6
mov rcx, qword [rsp + 0x80]
jmp 0x1401e7b4b
mov r15, qword [rsp + 0x48]
jmp 0x1401e8391
cmp byte [r8 + 0x20], 0
je 0x1401e83f2
test r9b, r9b
jns 0x1401e83fb
mov eax, dword [rsp + 0x30]
cmp rdi, rbx
jne 0x1401e8402
movzx eax, byte [rsp + 0x68]
jmp 0x1401e8441
test al, al
jne 0x1401e843f
lea ecx, [r13 - 1]
test ecx, ecx
jle 0x1401e8436
nop
cmp ecx, 0x40
jge 0x1401e8422
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1401e8425
mov rdx, rbp
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x1401e843a
dec ecx
test ecx, ecx
jg 0x1401e8410
xor al, al
jmp 0x1401e8441
movzx eax, cl
jmp 0x1401e8441
mov al, 0xff
mov rbx, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe0]
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret