Function at 0x14000e620
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, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov rsi, rdx
mov rdx, rcx
test r8b, 1
je 0x14000e74b
mov eax, dword [rdx + 4]
mov ecx, dword [rdx + 8]
test ecx, ecx
jg 0x14000e7a8
test eax, eax
je 0x14000e7a8
jle 0x14000e7a3
xor ecx, ecx
mov r8d, 3
xor r9d, r9d
nop word cs:[rax + rax]
nop dword [rax]
movsxd rdi, r9d
movzx r10d, byte [rdx + rdi + 0xc]
cmp r10b, 0xc2
jb 0x14000e700
movzx r11d, byte [rdx + rdi + 0xd]
mov ebx, r11d
and bl, 0xc0
cmp bl, 0x80
jne 0x14000e700
mov ebx, 2
cmp r10b, 0xe0
jb 0x14000e705
movzx ebx, byte [rdx + rdi + 0xe]
and bl, 0xc0
cmp bl, 0x80
jne 0x14000e700
cmp r10b, 0xef
ja 0x14000e6e7
cmp r10b, 0xe0
jne 0x14000e6cf
cmp r11b, 0xa0
mov ebx, 1
jb 0x14000e705
xor edi, edi
cmp r11b, 0xa0
setb dil
cmp r10b, 0xed
lea ebx, [rdi + rdi + 1]
cmovne ebx, r8d
jmp 0x14000e705
cmp r10b, 0xf0
jne 0x14000e6f3
cmp r11b, 0x90
jb 0x14000e700
cmp r10b, 0xf4
jne 0x14000e724
cmp r11b, 0x8f
jbe 0x14000e724
nop
mov ebx, 1
add r9d, ebx
jo 0x14000f0cb
inc ecx
jo 0x14000f0cb
cmp r9d, eax
jl 0x14000e680
jmp 0x14000e7a5
movzx r11d, byte [rdx + rdi + 0xf]
and r11b, 0xc0
cmp r11b, 0x80
mov ebx, 1
jne 0x14000e705
xor r11d, r11d
cmp r10b, 0xf5
setb r11b
lea ebx, [r11 + r11*2 + 1]
jmp 0x14000e705
cmp rdx, rsi
je 0x14000e784
mov edi, dword [rdx + 4]
mov ebx, dword [rsi + 4]
cmp edi, ebx
mov eax, ebx
cmovl eax, edi
add rdx, 0xc
add rsi, 0xc
movsxd r8, eax
mov rcx, rdx
mov rdx, rsi
call fcn.140044630
test eax, eax
je 0x14000e78b
mov ebp, eax
sar ebp, 0x1f
or ebp, 1
jmp 0x14000f0a0
xor ebp, ebp
jmp 0x14000f0a0
xor eax, eax
cmp edi, ebx
setl al
neg eax
cmp edi, ebx
mov ebp, 1
cmovle ebp, eax
jmp 0x14000f0a0
xor ecx, ecx
mov dword [rdx + 8], ecx
cmp eax, ecx
jne 0x14000e962
mov eax, dword [rsi + 4]
mov ecx, dword [rsi + 8]
test ecx, ecx
jg 0x14000e8ad
test eax, eax
je 0x14000e8ad
jle 0x14000e8a8
xor ecx, ecx
mov r8d, 3
xor r9d, r9d
nop word [rax + rax]
movsxd rdi, r9d
movzx r10d, byte [rsi + rdi + 0xc]
cmp r10b, 0xc2
jb 0x14000e860
movzx r11d, byte [rsi + rdi + 0xd]
mov ebx, r11d
and bl, 0xc0
cmp bl, 0x80
jne 0x14000e860
mov ebx, 2
cmp r10b, 0xe0
jb 0x14000e865
movzx ebx, byte [rsi + rdi + 0xe]
and bl, 0xc0
cmp bl, 0x80
jne 0x14000e860
cmp r10b, 0xef
ja 0x14000e847
cmp r10b, 0xe0
jne 0x14000e82f
cmp r11b, 0xa0
mov ebx, 1
jb 0x14000e865
xor edi, edi
cmp r11b, 0xa0
setb dil
cmp r10b, 0xed
lea ebx, [rdi + rdi + 1]
cmovne ebx, r8d
jmp 0x14000e865
cmp r10b, 0xf0
jne 0x14000e853
cmp r11b, 0x90
jb 0x14000e860
cmp r10b, 0xf4
jne 0x14000e881
cmp r11b, 0x8f
jbe 0x14000e881
nop
mov ebx, 1
add r9d, ebx
jo 0x14000f0cb
inc ecx
jo 0x14000f0cb
cmp r9d, eax
jl 0x14000e7e0
jmp 0x14000e8aa
movzx r11d, byte [rsi + rdi + 0xf]
and r11b, 0xc0
cmp r11b, 0x80
mov ebx, 1
jne 0x14000e865
xor r11d, r11d
cmp r10b, 0xf5
setb r11b
lea ebx, [r11 + r11*2 + 1]
jmp 0x14000e865
xor ecx, ecx
mov dword [rsi + 8], ecx
cmp eax, ecx
jne 0x14000e962
mov ecx, dword [rdx + 4]
cmp ecx, eax
mov r8d, eax
cmovl r8d, ecx
test r8d, r8d
jle 0x14000e94a
mov r8d, r8d
xor r9d, r9d
mov r10d, 1
nop word cs:[rax + rax]
movzx r11d, byte [rdx + r9 + 0xc]
movzx edi, byte [rsi + r9 + 0xc]
lea ebx, [r11 - 0x41]
cmp bl, 0x1a
jae 0x14000e900
add r11b, 0x20
jmp 0x14000e90e
test r11b, r11b
jns 0x14000e90e
test dil, dil
jns 0x14000f087
lea ebx, [rdi - 0x41]
cmp bl, 0x1a
jae 0x14000e920
add dil, 0x20
jmp 0x14000e929
test dil, dil
js 0x14000f0be
cmp r11b, dil
mov ebp, 0
sbb ebp, ebp
cmp r11b, dil
cmova ebp, r10d
test ebp, ebp
jne 0x14000f0a0
inc r9
cmp r8, r9
jne 0x14000e8e0
xor edx, edx
cmp ecx, eax
setl dl
neg edx
cmp ecx, eax
mov ebp, 1
cmovle ebp, edx
jmp 0x14000f0a0
mov dword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov byte [rsp + 0x88], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm6
mov dword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
xor r8d, r8d
call fcn.140004580
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
movzx r8d, byte [rsp + 0x88]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xd8], r10
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe8], ecx
mov qword [rsp + 0xf0], rdx
mov byte [rsp + 0xf8], r8b
mov dword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov byte [rsp + 0x88], 0
movaps xmmword [rsp + 0x60], xmm6
mov dword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
mov rdx, rsi
xor r8d, r8d
call fcn.140004580
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
movzx r8d, byte [rsp + 0x88]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0xa8], r10
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xb8], ecx
mov qword [rsp + 0xc0], rdx
mov byte [rsp + 0xc8], r8b
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
xor edi, edi
xor edx, edx
xor r14d, r14d
xor r13d, r13d
xor ebp, ebp
nop dword [rax]
test r13d, r13d
je 0x14000eb30
mov eax, dword [rsp + 0x4c]
lea ecx, [rax - 2]
cmp eax, 2
cmovl ecx, eax
movsxd rax, ecx
mov r15d, dword [rsp + rax*4 + 0x40]
mov dword [rsp + rax*4 + 0x40], 0
mov r14d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
dec r14d
mov dword [rsp + 0x48], r14d
lea ecx, [rax + 1]
dec eax
cmp ecx, 2
cmovl eax, ecx
mov dword [rsp + 0x4c], eax
mov esi, 0xb6
mov r13d, r14d
test edx, edx
je 0x14000eb50
mov eax, dword [rsp + 0x3c]
lea ecx, [rax - 2]
cmp eax, 2
cmovl ecx, eax
movsxd rax, ecx
mov r12d, dword [rsp + rax*4 + 0x30]
mov dword [rsp + rax*4 + 0x30], 0
mov edi, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
dec edi
mov dword [rsp + 0x38], edi
lea ecx, [rax + 1]
dec eax
cmp ecx, 2
cmovl eax, ecx
mov dword [rsp + 0x3c], eax
mov ebx, 0xb6
xor eax, eax
mov edx, edi
jmp 0x14000ee10
xor r13d, r13d
cmp byte [rsp + 0xf8], 0
je 0x14000eb66
xor esi, esi
xor r15d, r15d
test edx, edx
jne 0x14000eae2
nop word cs:[rax + rax]
cmp byte [rsp + 0xc8], 0
je 0x14000eb9d
xor edx, edx
xor ebx, ebx
xor r12d, r12d
jmp 0x14000ee01
mov r12d, dword [rsp + 0xd8]
xor r13d, r13d
cmp r12d, 0x7f
jg 0x14000ebcb
lea eax, [r12 - 0x41]
cmp eax, 0x1a
jae 0x14000ebec
lea r15, [r12 + 0x20]
mov eax, 0xb6
mov rbx, rdx
mov esi, 0xb6
test eax, eax
jne 0x14000f05d
jmp 0x14000ec04
mov qword [rsp + 0x50], r13
mov r13d, dword [rsp + 0xa8]
cmp r13d, 0x7f
jg 0x14000ebe2
lea eax, [r13 - 0x41]
cmp eax, 0x1a
jae 0x14000edd2
lea r12, [r13 + 0x20]
mov eax, 0xb6
jmp 0x14000edda
xor eax, eax
xor r15d, r15d
mov rbx, rdx
mov esi, 0xb6
test eax, eax
jne 0x14000f05d
jmp 0x14000ec04
xor eax, eax
xor r12d, r12d
jmp 0x14000edda
mov eax, 0xb6
mov r15, r12
mov rbx, rdx
mov esi, 0xb6
test eax, eax
jne 0x14000f05d
mov r15, qword [0x140162108]
test r15, r15
jne 0x14000ecd1
mov ecx, 0x38
call fcn.1400217e0
mov r15, rax
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], 0
mov dword [rax + 0x34], 0
mov dword [rax], 0x18
mov ecx, 0xa0
call fcn.1400217f0
mov r13, rax
mov r8d, 0xa0
mov rcx, rax
xor edx, edx
call fcn.140043b80
mov qword [r15 + 8], r13
xor r13d, r13d
mov qword [r15 + 0x10], 0
mov word [r15 + 0x20], 0x401
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x28], 0
mov qword [r15 + 0x30], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x130
mov r8d, 0x69
mov r9d, 0x307
call fcn.14000f0e0
mov qword [0x140162108], r15
lea rcx, [rsp + 0x120]
mov rdx, r15
mov r8d, r12d
call fcn.14000f840
mov ecx, dword [rsp + 0x120]
mov eax, dword [rsp + 0x138]
test ecx, ecx
mov r8d, 0
cmove rax, r8
mov edx, 0x27e
cmovne ecx, edx
mov rdx, qword [rsp + 0x130]
cmove rdx, r8
test ecx, ecx
je 0x14000f024
mov r9, rdx
shr r9, 0x20
test edx, edx
mov r8d, 0xb6
cmove r8d, edx
test r9, r9
mov ecx, 0xb6
cmove ecx, r8d
mov r15d, r9d
cmove r15d, edx
xor r13d, r13d
test edx, edx
je 0x14000ed7f
test r9d, r9d
je 0x14000ed7f
mov ecx, dword [rsp + 0x4c]
lea r10d, [rcx - 2]
cmp ecx, 2
cmovl r10d, ecx
movsxd rcx, r10d
mov dword [rsp + rcx*4 + 0x40], r9d
mov r14d, dword [rsp + 0x48]
inc r14d
jo 0x14000f0cb
mov dword [rsp + 0x48], r14d
mov r13d, r14d
mov ecx, r8d
mov r15d, edx
test eax, eax
je 0x14000f041
test ecx, ecx
je 0x14000f05a
cmp r14d, 2
jge 0x14000f0d0
mov edx, dword [rsp + 0x4c]
lea r8d, [rdx + r14]
cmp r8d, 2
lea edx, [rdx + r14 - 2]
cmovl edx, r8d
movsxd rdx, edx
mov dword [rsp + rdx*4 + 0x40], eax
mov r14d, dword [rsp + 0x48]
inc r14d
jo 0x14000f0cb
mov dword [rsp + 0x48], r14d
mov r13d, r14d
mov esi, ecx
jmp 0x14000f05d
mov eax, 0xb6
mov r12, r13
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov ebx, 0xb6
test eax, eax
je 0x14000ee45
mov r13, qword [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.140006ac0
mov rdx, qword [rsp + 0x58]
test ebx, ebx
sete al
mov ecx, ebx
or ecx, esi
je 0x14000f0a0
test esi, esi
jne 0x14000ee20
cmp ebx, 0xb6
je 0x14000f08e
cmp esi, 0xb6
sete cl
test cl, al
jne 0x14000f087
sub r15d, r12d
jo 0x14000f0cb
je 0x14000ea90
jmp 0x14000f095
mov r12, qword [0x140162108]
test r12, r12
jne 0x14000ef22
mov ecx, 0x38
call fcn.1400217e0
mov r12, rax
mov qword [rax + 4], 0
mov qword [rax + 0xc], 0
mov qword [rax + 0x14], 0
mov qword [rax + 0x1c], 0
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], 0
mov dword [rax + 0x34], 0
mov dword [rax], 0x18
mov ecx, 0xa0
call fcn.1400217f0
mov qword [rsp + 0x98], rax
mov r8d, 0xa0
mov rcx, rax
xor edx, edx
call fcn.140043b80
mov rax, qword [rsp + 0x98]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], 0
mov word [r12 + 0x20], 0x401
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x28], 0
mov qword [r12 + 0x30], 0
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x130
mov r8d, 0x69
mov r9d, 0x307
call fcn.14000f0e0
mov qword [0x140162108], r12
lea rcx, [rsp + 0x100]
mov rdx, r12
mov r8d, r13d
call fcn.14000f840
mov ecx, dword [rsp + 0x100]
mov eax, dword [rsp + 0x118]
test ecx, ecx
mov r8d, 0
cmove rax, r8
mov edx, 0x27e
cmovne ecx, edx
mov rdx, qword [rsp + 0x110]
cmove rdx, r8
test ecx, ecx
je 0x14000f031
mov r9, rdx
shr r9, 0x20
test edx, edx
mov r8d, 0xb6
cmove r8d, edx
test r9, r9
mov ecx, 0xb6
cmove ecx, r8d
mov r12d, r9d
cmove r12d, edx
xor r10d, r10d
test edx, edx
je 0x14000f045
test r9d, r9d
mov r13, qword [rsp + 0x50]
je 0x14000efd6
mov ecx, dword [rsp + 0x3c]
lea r10d, [rcx - 2]
cmp ecx, 2
cmovl r10d, ecx
movsxd rcx, r10d
mov dword [rsp + rcx*4 + 0x30], r9d
mov edi, dword [rsp + 0x38]
inc edi
jo 0x14000f0cb
mov dword [rsp + 0x38], edi
mov r10d, edi
mov ecx, r8d
mov r12d, edx
test eax, eax
je 0x14000f04e
test ecx, ecx
je 0x14000f07a
cmp edi, 2
jge 0x14000f0d0
mov edx, dword [rsp + 0x3c]
lea r8d, [rdx + rdi]
cmp r8d, 2
lea edx, [rdx + rdi - 2]
cmovl edx, r8d
movsxd rdx, edx
mov dword [rsp + rdx*4 + 0x30], eax
mov edi, dword [rsp + 0x38]
inc edi
jo 0x14000f0cb
mov dword [rsp + 0x38], edi
mov eax, edi
mov qword [rsp + 0x58], rax
mov ebx, ecx
jmp 0x14000edef
mov ecx, r12d
call fcn.14000fac0
mov r15d, eax
jmp 0x14000f05d
mov ecx, r13d
call fcn.14000fac0
mov r12d, eax
jmp 0x14000edea
mov esi, ecx
jmp 0x14000f05d
mov r13, qword [rsp + 0x50]
test eax, eax
jne 0x14000efda
mov qword [rsp + 0x58], r10
mov ebx, ecx
jmp 0x14000edef
mov r15d, eax
lea rcx, [rsp + 0xd0]
call fcn.140006ac0
mov rdx, rbx
test edx, edx
jne 0x14000eae2
jmp 0x14000eb50
mov qword [rsp + 0x58], r10
mov r12d, eax
jmp 0x14000edef
mov ebp, 1
jmp 0x14000f0a0
mov ebp, 0xffffffff
jmp 0x14000f0a0
sar r15d, 0x1f
or r15d, 1
mov ebp, r15d
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebp, ebp
test r11b, r11b
setns bpl
neg ebp
jmp 0x14000f0a0
call fcn.140003510
lea rcx, [0x140060710]
call fcn.140005440
int3