Function at 0x1401e8e40
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 0x1401e8ea5
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1401e8ea5
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 0x1401e8ec4
xor al, al
jmp 0x1401e9841
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 0x1401e8f29
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 0x1401e97e9
movzx eax, si
cmp r8d, eax
jg 0x1401e97e2
test r8d, r8d
jle 0x1401e8f63
or r11, qword [r15 + 8]
mov qword [rsp + 0x60], r11
cmp r8d, eax
jge 0x1401e8f88
mov rax, qword [r14 + 0x18]
mov r8, qword [rax + rcx*8]
mov eax, 0x800
mov qword [rsp + 0x48], r8
test ax, r9w
je 0x1401e8f95
mov r15, r8
jmp 0x1401e97a5
mov r8, qword [rsp + 0x148]
mov qword [rsp + 0x48], r8
test dword [r8 + 0x38], 0x400
jne 0x1401e97d6
movzx eax, r9w
mov ecx, pe_nt_image_headers64
and ax, cx
mov word [rsp + 0x70], ax
je 0x1401e8fbb
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 0x1401e916f
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 0x1401e9144
mov rbx, qword [r14]
test rbx, rbx
je 0x1401e9144
nop
mov eax, dword [rbx + 4]
test eax, 0x41000
je 0x1401e9038
bt eax, 0x12
jae 0x1401e902a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1401e902e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1401e9010
jmp 0x1401e913f
test rbx, rbx
je 0x1401e913f
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1401e913f
cmp dword [rbx + 0x2c], r12d
jne 0x1401e913f
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.1401d3900
mov rsi, rax
test rax, rax
je 0x1401e912d
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1401e90c8
mov r8, qword [rsp + 0x48]
xor ecx, ecx
movzx edx, word [r8 + 0x3c]
test edx, edx
jle 0x1401e90c4
mov r8, qword [r8 + 0x48]
nop dword [rax]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1401e90bf
inc ecx
cmp ecx, edx
jl 0x1401e90b0
mov r8, qword [rsp + 0x48]
cmp ecx, edx
jge 0x1401e9132
test r9b, 0x82
je 0x1401e911e
cmp word [rbx + 0x30], 0
jl 0x1401e911e
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r14]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.140190290
mov rdi, rax
test rax, rax
jne 0x1401e90fa
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1401907b0
test rax, rax
je 0x1401e9128
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.1401b7b70
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401e912d
or rdi, rbp
mov qword [rsp + 0x38], rdi
jmp 0x1401e912d
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 0x1401e8ff0
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 0x1401e95ea
bt eax, 8
jae 0x1401e9196
mov esi, dword [rsp + 0x30]
mov r13, rbp
mov word [rsp + 0x54], bp
mov ecx, 1
jmp 0x1401e91d6
mov r13, qword [r8 + 0x20]
test r13, r13
je 0x1401e9826
test byte [r13 + 0x64], 4
jne 0x1401e9826
cmp byte [r13 + 0x62], 0
movzx ecx, word [r13 + 0x5e]
mov word [rsp + 0x54], cx
movzx ecx, word [r13 + 0x60]
je 0x1401e91cf
bt eax, 0xf
jb 0x1401e91cf
mov sil, 1
jmp 0x1401e91d2
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 0x1401e95e5
nop word [rax + rax]
movzx r10d, word [r8 + 0x18]
mov r14b, 1
cmp r15d, r10d
jge 0x1401e927a
movzx eax, word [r8 + 0x3e]
cmp r15d, eax
jl 0x1401e927a
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 0x1401e9252
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
je 0x1401e958b
xor sil, sil
mov dword [rsp + 0x30], esi
jmp 0x1401e958b
test al, 1
je 0x1401e927a
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x1401e927a
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1401e9277
inc edx
cmp edx, r10d
jl 0x1401e9262
jmp 0x1401e927a
xor r14b, r14b
test r13, r13
je 0x1401e92a8
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 0x1401e92ae
or ebp, 0xffffffff
jmp 0x1401e92ae
or ebp, 0xffffffff
xor r12b, r12b
test sil, sil
je 0x1401e9303
test ebp, ebp
js 0x1401e92ef
cmp r15d, r10d
jl 0x1401e92ef
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 0x1401e9306
xor r8d, r8d
movzx eax, sil
cmp ebp, 0xfffffffe
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1401e9306
xor r8d, r8d
mov esi, r8d
test r14b, r14b
je 0x1401e95aa
cmp esi, dword [rsp + 0x58]
jge 0x1401e95a5
mov eax, esi
bt rdi, rax
jb 0x1401e94f1
movsxd rdi, esi
shl rdi, 5
add rdi, qword [rsp + 0x128]
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1401e94ec
mov eax, dword [rdx + 4]
test eax, 0x41000
je 0x1401e936c
bt eax, 0x12
jae 0x1401e935e
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1401e9362
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1401e9344
jmp 0x1401e94ec
test rdx, rdx
je 0x1401e94ec
test byte [rsp + 0x138], 0xc0
movzx r14d, r14b
cmove r14d, r8d
cmp ebp, 0xffffffff
jl 0x1401e93ae
movzx eax, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1401e94ec
cmp dword [rdx + 0x2c], ebx
jne 0x1401e94ec
movsx eax, word [rdx + 0x30]
cmp eax, ebp
jne 0x1401e94ec
jmp 0x1401e9425
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1401e93f0
mov eax, dword [r8 + 4]
test eax, 0x41000
je 0x1401e93f0
bt eax, 0x12
jae 0x1401e93de
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1401e93e2
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1401e93c3
nop word [rax + rax]
mov eax, dword [rdx + 4]
test eax, 0x41000
je 0x1401e9413
bt eax, 0x12
jae 0x1401e940a
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1401e940e
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1401e93f0
mov r9d, ebx
xor ecx, ecx
call fcn.140190520
test eax, eax
jne 0x1401e94e9
cmp ebp, 0xffffffff
je 0x1401e9471
mov rax, qword [rsp + 0x120]
mov rdx, qword [rdi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.140190290
test rax, rax
jne 0x1401e944d
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 0x1401e94cc
test ecx, ecx
jne 0x1401e94e1
cmp word [rsp + 0x70], 0
mov r8, qword [rsp + 0x48]
je 0x1401e9487
lea eax, [r15 + 1]
mov word [r8 + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1401e9532
mov rcx, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
cmp byte [rsp + 0x34], 0
je 0x1401e9505
movzx ecx, byte [rax + rcx + 0x18]
xor r12b, byte [rsp + 0x35]
and cl, 1
cmp r12b, cl
je 0x1401e9532
mov r11d, dword [rsp + 0x40]
jmp 0x1401e95b3
lea r10, [0x14024e440]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1401e94e9
inc r8
jmp 0x1401e9460
xor r8d, r8d
mov rdi, qword [rsp + 0x38]
inc esi
test r14b, r14b
je 0x1401e95a5
mov ebx, dword [rsp + 0x5c]
jmp 0x1401e9312
movzx ebx, byte [rax + rcx + 0x18]
and bl, 1
xor bl, r12b
mov byte [rsp + 0x35], bl
je 0x1401e952d
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 0x1401e955b
movzx eax, word [r8 + 0x18]
cmp r15d, eax
jne 0x1401e959e
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 0x1401e95d4
mov ebx, dword [rsp + 0x5c]
jmp 0x1401e9200
mov r11d, dword [rsp + 0x40]
jmp 0x1401e95bb
mov r11d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x138]
mov r12, qword [rsp + 0x128]
test r15d, r15d
je 0x1401e95ca
movzx eax, word [rsp + 0x54]
cmp r15d, eax
jge 0x1401e95cf
mov byte [rsp + 0x30], 0
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rsp + 0x58]
test r11b, r11b
je 0x1401e95ea
mov byte [rsp + 0x30], 1
jmp 0x1401e95f5
mov r13d, dword [rsp + 0x58]
cmp byte [rsp + 0x30], 0
je 0x1401e97cf
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 0x1401e9783
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 0x1401e975c
mov rdi, qword [r14]
lea rax, [r12 + 0x260]
test rdi, rdi
je 0x1401e96a7
cmp byte [rdi], 0xa7
jne 0x1401e9727
test byte [rdi + 4], 8
jne 0x1401e9727
mov r8d, dword [rdi + 0x2c]
cmp dword [rax + 8], r8d
jne 0x1401e9676
mov rbx, r11
jmp 0x1401e96aa
movsxd r9, dword [rax + 4]
mov edx, r11d
mov rcx, r11
cmp r11, r9
jge 0x1401e96a7
add rax, 0xc
nop dword [rax]
cmp dword [rax], r8d
je 0x1401e971d
inc rcx
inc edx
add rax, 4
cmp rcx, r9
jl 0x1401e9690
mov rbx, r10
test rbx, rbx
jne 0x1401e96fd
lea rax, [fcn.140141140]
mov word [rsp + 0xbc], r11w
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xa0], rax
lea rax, [0x1401b5fd0]
mov qword [rsp + 0xa8], rax
test rdi, rdi
je 0x1401e96fd
lea rcx, [rsp + 0x98]
mov rdx, rdi
call fcn.1401e5240
cmp word [rsp + 0xbc], bx
je 0x1401e974e
mov rdi, qword [rsp + 0x38]
mov rax, r15
mov r11d, 1
not rax
test rbx, rax
jne 0x1401e9759
or rdi, rsi
mov qword [rsp + 0x38], rdi
jmp 0x1401e9759
mov ecx, edx
mov rbx, r11
shl rbx, cl
jmp 0x1401e96aa
test dword [rdi + 4], 0x804000
jne 0x1401e96a7
mov rdx, rdi
mov rcx, rax
call fcn.1401d3760
xor r10d, r10d
mov rbx, rax
lea r11d, [r10 + 1]
jmp 0x1401e96aa
mov rdi, qword [rsp + 0x38]
mov r11d, 1
xor r10d, r10d
inc ebp
add r14, 0x20
cmp ebp, r13d
jl 0x1401e9633
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 0x1401e97e6
mov rcx, qword [rsp + 0x80]
jmp 0x1401e8f3b
mov r15, qword [rsp + 0x48]
jmp 0x1401e9781
cmp byte [r8 + 0x20], 0
je 0x1401e97e2
test r9b, r9b
jns 0x1401e97eb
mov eax, dword [rsp + 0x30]
cmp rdi, rbx
jne 0x1401e97f2
movzx eax, byte [rsp + 0x68]
jmp 0x1401e9831
test al, al
jne 0x1401e982f
lea ecx, [r13 - 1]
test ecx, ecx
jle 0x1401e9826
nop
cmp ecx, 0x40
jge 0x1401e9812
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1401e9815
mov rdx, rbp
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x1401e982a
dec ecx
test ecx, ecx
jg 0x1401e9800
xor al, al
jmp 0x1401e9831
movzx eax, cl
jmp 0x1401e9831
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