Function at 0x1401e8460
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, 0x178
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0xb0], r8
mov rbx, rdx
mov r8, rcx
movzx eax, word [rsp + 0x1e0]
mov rcx, qword [0x140430040]
xor rcx, rsp
mov qword [rsp + 0x148], rcx
test ax, ax
jne 0x1401e8c3a
movzx r11d, word [rbx]
cmp r11d, 0x3f
ja 0x1401e8954
mov r10, 0xffffffffffffffff
mov ecx, r11d
shl r10, cl
not r10
movzx ecx, r9w
mov dword [rsp + 0x2c], ecx
and ecx, 0x803
cmp ecx, 1
mov ecx, 0x183
sbb ecx, 0
mov dword [rsp + 0x6c], ecx
test r11d, r11d
je 0x1401e8c32
mov rsi, qword [rsp + 0x1e8]
add rbx, 8
lea rcx, [r8 + 0x70]
mov qword [rsp + 0xc8], rcx
lea rcx, [r8 + 0x258]
mov qword [rsp + 0xa8], rcx
movzx edi, ax
movaps xmm6, xmmword [0x1403d4b30]
xorps xmm7, xmm7
xor r15d, r15d
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], 0
xor r9d, r9d
xor r13d, r13d
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x90], r10
mov qword [rsp + 0xc0], rdi
test r15, r15
jne 0x1401e8bf8
mov r13, rsi
cmp r15, rdi
jb 0x1401e8c11
test byte [r13 + 0x39], 4
jne 0x1401e8daa
cmp byte [rsp + 0x2c], 0
js 0x1401e8bec
mov rax, qword [r8 + 8]
movzx ecx, byte [r13 + 0x10]
imul rcx, rcx, 0x68
mov eax, dword [rax + rcx + 0x4c]
mov dword [rsp + 0x4c], eax
mov rsi, qword [rsp + 0x80]
not rsi
xor edi, edi
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x40], r13
mov r14d, 1
mov ecx, edi
shl r14, cl
bt r9, rdi
jb 0x1401e86b9
mov r12, rdi
shl r12, 5
mov r13, qword [rbx + r12]
test r13, r13
je 0x1401e86b9
add r12, rbx
mov rbp, r9
mov eax, dword [r13 + 4]
test eax, 0x82000
jne 0x1401e8d0a
mov al, byte [r13]
mov r8d, dword [rsp + 0x4c]
cmp al, 0x9a
jne 0x1401e8c57
cmp dword [r13 + 0x2c], r8d
jne 0x1401e86b1
movzx eax, word [r13 + 0x30]
lea rdx, [rsp + 0xe8]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x58], rcx
movups xmmword [rdx + 0x48], xmm6
movups xmmword [rdx + 0x38], xmm6
movups xmmword [rdx + 0x28], xmm6
movups xmmword [rdx + 0x18], xmm6
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
mov byte [rsp + 0x100], 0
movups xmmword [rdx], xmm7
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0xfc], ecx
mov dword [rsp + 0xf8], 0
mov dword [rsp + 0x104], r8d
mov word [rsp + 0x101], 0x101
cmp ax, 0xfffe
je 0x1401e86b1
mov word [rsp + 0x130], ax
lea rcx, [rsp + 0xd8]
call fcn.140275e50
test rax, rax
jne 0x1401e8ba6
mov r11, qword [rsp + 0x30]
mov r9, rbp
inc rdi
cmp rdi, r11
mov rcx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x40]
jne 0x1401e85be
mov r8d, dword [r13 + 0x38]
bt r8d, 0xc
jb 0x1401e88a1
bt r8d, 8
jae 0x1401e8a2b
mov ax, 1
mov r12b, 1
xor edi, edi
mov qword [rsp + 0x88], 0
mov edx, 1
shl rdx, cl
mov qword [rsp + 0xb8], rdx
movzx eax, ax
mov qword [rsp + 0xd0], rax
xor ebp, ebp
xor r14d, r14d
mov qword [rsp + 0x98], 0
xor r10d, r10d
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x5c], r10d
mov qword [rsp + 0x38], r9
movzx ecx, word [r13 + 0x18]
mov al, 1
mov r15b, 1
cmp rbp, rcx
jb 0x1401e8ae9
test rdi, rdi
jne 0x1401e8a72
test r12b, r12b
setne r12b
mov r13d, 0xffffffff
xor r8d, r8d
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x2c]
test al, al
je 0x1401e8973
xor edi, edi
bt r9, rdi
jb 0x1401e895c
mov rsi, r14
mov rax, rbx
mov r14d, r12d
mov r12, rdi
shl r12, 5
mov rdx, qword [rbx + r12]
test rdx, rdx
je 0x1401e8c84
mov rbx, rax
add r12, rax
mov rcx, rdx
mov eax, dword [rcx + 4]
test eax, 0x82000
jne 0x1401e8caf
mov eax, r10d
and eax, 0xc0
movzx r15d, r15b
cmove r15d, eax
cmp r13d, 0xffffffff
jl 0x1401e8d4f
movzx eax, byte [rcx]
cmp eax, 0x9a
jne 0x1401e8c6a
mov eax, dword [rsp + 0x4c]
cmp dword [rcx + 0x2c], eax
mov r12d, r14d
jne 0x1401e8959
movsx eax, word [rcx + 0x30]
cmp r13d, eax
mov r14, rsi
jne 0x1401e895c
cmp r13d, 0xffffffff
jne 0x1401e8b32
test r10b, r10b
js 0x1401e8b95
test r10b, 0x40
jne 0x1401e8c7d
test r14b, r14b
jne 0x1401e8a02
mov eax, edi
mov rcx, rax
shl rcx, 5
mov cl, byte [rbx + rcx + 0x10]
and cl, 1
mov edx, ecx
xor dl, r8b
mov qword [rsp + 0x98], rdx
mov r14b, 1
cmp r8b, cl
jne 0x1401e89a1
mov rcx, rax
shl rcx, 5
test byte [rbx + rcx + 0x10], 2
jne 0x1401e8c8f
cmp r13d, 0xffffffff
mov r10d, dword [rsp + 0x5c]
movzx r10d, r10b
mov ecx, 1
cmove r10d, ecx
bts r9, rax
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
inc rbp
cmp rbp, qword [rsp + 0xd0]
jne 0x1401e8732
or r10b, r12b
je 0x1401e8940
mov rsi, qword [rsp + 0xa0]
or rsi, qword [r13 + 8]
mov qword [rsp + 0xa0], rsi
not rsi
mov r14, rbx
xor edi, edi
mov r15, qword [rsp + 0x70]
mov r12d, 1
mov ecx, edi
shl r12, cl
bt r9, rdi
jae 0x1401e8ee5
inc rdi
add r14, 0x20
cmp r11, rdi
jne 0x1401e88c2
mov r8, qword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x1e8]
mov rdi, qword [rsp + 0xc0]
cmp r9, r10
setb al
cmp r15, rdi
lea r15, [r15 + 1]
setb dl
test al, dl
jne 0x1401e8567
cmp r9, r10
jne 0x1401e893b
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x1401e89b9
call fcn.140278ca0
int3
mov r11b, 0xff
jmp 0x1401e891d
cmp r9, qword [rsp + 0x90]
je 0x1401e891d
cmp r11, 2
jge 0x1401e89e0
xor r11d, r11d
jmp 0x1401e891d
mov r14, rsi
inc rdi
test r15b, r15b
setne al
cmp rdi, r11
setb cl
test al, cl
jne 0x1401e877c
movzx eax, word [rsp + 0x88]
cmp rbp, rax
movzx r12d, r12b
mov eax, 0
cmovb r12d, eax
test rbp, rbp
cmove r12d, eax
mov r13, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x5c]
jmp 0x1401e8898
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0xb8]
or qword [rcx], rdx
jmp 0x1401e8851
mov eax, r11d
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
dec r11
mov rax, 0xffffffffffffffff
mov ecx, r11d
shl rax, cl
or rax, r9
cmp rax, 0xffffffffffffffff
jne 0x1401e894a
jmp 0x1401e891d
xor r8b, byte [rsp + 0x98]
mov eax, edi
mov rcx, rax
shl rcx, 5
mov cl, byte [rbx + rcx + 0x10]
and cl, 1
mov r14b, 1
cmp r8b, cl
je 0x1401e8851
jmp 0x1401e8973
mov rdi, qword [r13 + 0x20]
test rdi, rdi
je 0x1401e8954
test byte [rdi + 0x64], 4
jne 0x1401e8954
movzx eax, word [rdi + 0x60]
cmp byte [rdi + 0x62], 0
setne dl
test r8w, r8w
setns r12b
and r12b, dl
test ax, ax
je 0x1401e8c4f
movzx edx, word [rdi + 0x5e]
mov qword [rsp + 0x88], rdx
jmp 0x1401e86fe
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x18]
movzx r8d, word [r8 + rbp*2]
mov r9, qword [rdi + 0x38]
mov sil, byte [r9 + rbp]
and sil, 1
cmp r8w, word [rdx + 0x34]
mov r9d, 0xffff
cmove r8d, r9d
movsx r13d, r8w
test r12b, r12b
mov r10d, dword [rsp + 0x2c]
je 0x1401e8ac4
test r8w, r8w
mov r9, qword [rsp + 0x38]
jns 0x1401e8ace
cmp r8w, 0xfffe
setne r12b
mov r8d, esi
jmp 0x1401e8772
xor r12d, r12d
mov r9, qword [rsp + 0x38]
jmp 0x1401e8abc
cmp rbp, rcx
jb 0x1401e9019
mov rcx, qword [rdx + 8]
mov edx, r13d
lea rdx, [rdx + rdx*2]
test byte [rcx + rdx*8 + 8], 0xf
jmp 0x1401e8ab8
movzx eax, word [r13 + 0x3e]
cmp rbp, rax
jb 0x1401e9021
mov rdx, qword [r13 + 0x48]
mov r8, qword [rdx + rbp*8]
movzx r9d, word [r8 + 0x14]
test dword [rsp + 0x6c], r9d
mov r10d, dword [rsp + 0x5c]
je 0x1401e8fb2
test r9d, 0x180
movzx r12d, r12b
mov eax, 0
cmovne r12d, eax
mov r9, qword [rsp + 0x38]
jmp 0x1401e8887
mov esi, r8d
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov qword [rsp + 0x50], rcx
call fcn.1401cbf50
test rax, rax
je 0x1401e9008
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
mov rcx, qword [rcx + rbp*8]
mov rax, qword [rax]
xor edx, edx
mov r11, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x2c]
movzx r8d, byte [rax + rdx]
movzx r9d, byte [rcx + rdx]
cmp r8b, r9b
jne 0x1401e8f8b
test r8, r8
mov r9, qword [rsp + 0x38]
mov r8d, esi
je 0x1401e880c
inc rdx
jmp 0x1401e8b6c
lea eax, [rbp + 1]
mov rcx, qword [rsp + 0x40]
mov word [rcx + 0x1e], ax
jmp 0x1401e8815
mov r15, rax
mov qword [rsp + 0x38], 0
mov rax, qword [r15 + 0x28]
test rax, rsi
je 0x1401e8dcf
lea rcx, [rsp + 0xd8]
call fcn.140275e50
mov r15, rax
test rax, rax
jne 0x1401e8bb2
mov rax, qword [rsp + 0x38]
test rax, rax
mov r11, qword [rsp + 0x30]
je 0x1401e86b6
jmp 0x1401e8df3
mov word [r13 + 0x1e], 0
jmp 0x1401e8592
mov rax, qword [rsp + 0x80]
or rax, qword [r13 + 8]
mov qword [rsp + 0x80], rax
jmp 0x1401e8570
bt dword [rsp + 0x2c], 0xb
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x18]
mov r13, qword [rax + r15*8]
jb 0x1401e8900
jmp 0x1401e857c
xor r9d, r9d
jmp 0x1401e8918
mov rcx, qword [r8]
mov rcx, qword [rcx]
test byte [rcx + 0x60], 0x40
je 0x1401e84b4
jmp 0x1401e8954
xor r10d, r10d
jmp 0x1401e8898
movzx eax, al
cmp eax, 0x9c
je 0x1401e860d
jmp 0x1401e86b1
cmp eax, 0x9c
je 0x1401e87e2
mov r12d, r14d
jmp 0x1401e8959
mov eax, edi
jmp 0x1401e8851
mov r12d, r14d
mov rbx, rax
jmp 0x1401e8959
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 0x18]
cmp rbp, rcx
jne 0x1401e8973
mov rcx, qword [rsp + 0x40]
or byte [rcx + 0x3a], 8
jmp 0x1401e8863
mov dword [rsp + 0x50], r8d
bt eax, 0x13
jb 0x1401e8cdd
cmp byte [rcx], 0x67
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x50]
jne 0x1401e87ba
add rcx, 0x10
jmp 0x1401e8ce5
mov rcx, qword [rcx + 0x20]
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x50]
jne 0x1401e87ac
jmp 0x1401e8c75
mov rcx, rbx
bt eax, 0x13
jb 0x1401e8d2d
mov al, byte [r13]
cmp al, 0x67
mov r8d, dword [rsp + 0x4c]
mov rbx, rcx
jne 0x1401e8605
add r13, 0x10
jmp 0x1401e8d35
mov r13, qword [r13 + 0x20]
add r13, 8
mov r13, qword [r13]
test r13, r13
mov r11, qword [rsp + 0x30]
mov rbx, rcx
jne 0x1401e85ed
jmp 0x1401e86b6
mov dword [rsp + 0x50], r8d
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x50]
mov rdx, rbp
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
mov r8d, dword [rsp + 0x4c]
call fcn.140372510
test eax, eax
je 0x1401e8d96
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x2c]
mov r12d, r14d
mov r14, rsi
mov r8d, dword [rsp + 0x50]
jmp 0x1401e895c
mov rdx, qword [r12]
mov r12d, r14d
mov r14, rsi
mov r8d, dword [rsp + 0x50]
jmp 0x1401e8b32
mov ecx, dword [rsp + 0x2c]
and ecx, 0x280
cmp byte [r13 + 0x20], 0
mov rax, r10
cmove rax, r9
cmp ecx, 0x80
cmovne r9, rax
jmp 0x1401e8918
test rax, rax
jne 0x1401e8ddd
movzx eax, word [r15 + 0x14]
test al, 0x82
jne 0x1401e8e38
mov rax, qword [rsp + 0x38]
test rax, rax
cmove rax, r15
mov qword [rsp + 0x38], rax
jmp 0x1401e8bbf
movzx eax, word [rax + 0x14]
cmp ax, 1
jne 0x1401e8e33
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 0x3c]
test rcx, rcx
je 0x1401e86b1
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx + 0x48]
xor r8d, r8d
mov r9, qword [rsp + 0x38]
cmp r9, qword [rdx + r8*8]
je 0x1401e8e33
inc r8
cmp rcx, r8
jne 0x1401e8e1b
jmp 0x1401e86b1
mov r15, qword [rsp + 0x38]
test al, 0x82
je 0x1401e8ed5
cmp word [r13 + 0x30], 0
js 0x1401e8ed5
mov rax, qword [rsp + 0x78]
mov r13, qword [rax]
mov rdx, qword [r12]
mov rcx, r13
call fcn.1401cbf50
mov r12, rax
test rax, rax
jne 0x1401e8e70
mov rax, qword [r13]
mov r12, qword [rax + 0x10]
mov rax, qword [r15]
mov ecx, 0x400
xor edx, edx
and ecx, dword [rax + 4]
sete dl
shr ecx, 7
mov r8, qword [rax + rdx*8 + 0x10]
mov rdx, qword [rax + rcx + 0x10]
mov rcx, r13
call fcn.140256ee0
test rax, rax
je 0x1401e86b1
mov rax, qword [rax]
mov rcx, qword [r12]
xor edx, edx
lea r8, [0x14040f170]
jmp 0x1401e8ec1
mov r9b, byte [r9 + r8]
cmp r9b, byte [r10 + r8]
jne 0x1401e86b1
inc rdx
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
cmp r9b, r10b
jne 0x1401e8eb0
test r9, r9
jne 0x1401e8ebe
mov r9, rbp
or r9, r14
mov r11, qword [rsp + 0x30]
jmp 0x1401e86b9
mov r13, r9
mov r15, qword [r14]
test r15, r15
je 0x1401e8f5d
mov rcx, qword [rsp + 0xa8]
mov rdx, r15
call fcn.140372270
test rax, rax
jne 0x1401e8f5f
lea rax, [rsp + 0xe8]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax + 0x18], rcx
movups xmmword [rax + 8], xmm6
lea rbp, [rsp + 0xd8]
mov word [rbp + 0x24], 1
mov qword [rbp], 0
lea rax, [0x140269320]
mov qword [rbp + 8], rax
lea rax, [0x1401db320]
mov qword [rbp + 0x10], rax
mov rcx, rbp
mov rdx, r15
call fcn.140269460
cmp word [rbp + 0x24], 0
je 0x1401e8f81
xor eax, eax
test rax, rsi
je 0x1401e8f67
xor r12d, r12d
mov r9, r13
or r9, r12
mov r11, qword [rsp + 0x30]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x40]
jmp 0x1401e88d7
mov r11, qword [rsp + 0x30]
mov r9, r13
jmp 0x1401e8f72
lea r10, [0x14040f170]
mov r8b, byte [r8 + r10]
cmp r8b, byte [r9 + r10]
mov r10d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
je 0x1401e8b90
mov r8d, esi
jmp 0x1401e895c
mov al, 1
mov r15b, 1
test r9b, 1
je 0x1401e874f
mov r8, qword [r8]
lea r9d, [rcx - 1]
mov r10, rbp
cmp r9, r10
je 0x1401e8ff4
mov r11, qword [rdx + r10*8 + 8]
inc r10
xor eax, eax
mov r15d, 0
cmp qword [r11], r8
mov r11, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
jne 0x1401e8fcb
jmp 0x1401e874f
mov al, 1
mov r15b, 1
mov r11, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
jmp 0x1401e874f
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x1401e8b50
mov r12b, 1
jmp 0x1401e8abc
mov al, 1
mov r15b, 1
jmp 0x1401e874f