Function at 0x1401d38d0
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], xmm7
movaps xmmword [rsp + 0x130], xmm6
mov qword [rsp + 0x98], r8
mov rbx, rdx
mov r8, rcx
movzx eax, word [rsp + 0x1c0]
mov rcx, qword [0x1404fe040]
xor rcx, rsp
mov qword [rsp + 0x128], rcx
test ax, ax
jne 0x1401d4098
movzx r11d, word [rbx]
cmp r11d, 0x3f
ja 0x1401d3daf
mov r10, 0xffffffffffffffff
mov ecx, r11d
shl r10, cl
not r10
movzx ecx, r9w
mov dword [rsp + 0x24], ecx
and ecx, 0x803
cmp ecx, 1
mov ecx, 0x183
sbb ecx, 0
mov dword [rsp + 0x5c], ecx
test r11d, r11d
je 0x1401d4090
mov rsi, qword [rsp + 0x1c8]
add rbx, 8
lea rcx, [r8 + 0x70]
mov qword [rsp + 0xb0], rcx
lea rcx, [r8 + 0x258]
mov qword [rsp + 0x90], rcx
movzx edi, ax
movaps xmm6, xmmword [0x140470090]
xorps xmm7, xmm7
xor r15d, r15d
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x88], 0
xor r9d, r9d
xor r13d, r13d
mov qword [rsp + 0x28], r11
test r15, r15
jne 0x1401d405c
mov r13, rsi
cmp r15, rdi
jb 0x1401d406f
test byte [r13 + 0x39], 4
jne 0x1401d41ec
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x70], r10
cmp byte [rsp + 0x24], 0
js 0x1401d4050
mov qword [rsp + 0x60], r8
mov rax, qword [r8 + 8]
movzx ecx, byte [r13 + 0x10]
imul rcx, rcx, 0x68
mov r8d, dword [rax + rcx + 0x4c]
mov rsi, qword [rsp + 0x68]
not rsi
xor edi, edi
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x40], r13
mov r14d, 1
mov ecx, edi
shl r14, cl
bt r9, rdi
jb 0x1401d3b27
mov r12, rdi
shl r12, 5
mov r13, qword [rbx + r12]
test r13, r13
je 0x1401d3b27
add r12, rbx
mov rbp, r9
mov eax, dword [r13 + 4]
test eax, 0x82000
jne 0x1401d41a2
mov al, byte [r13]
cmp al, 0x9a
jne 0x1401d40b4
cmp dword [r13 + 0x2c], r8d
jne 0x1401d4049
movzx eax, word [r13 + 0x30]
lea rdx, [rsp + 0xc8]
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 + 0xb0]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rcx
mov byte [rsp + 0xe0], 0
movups xmmword [rdx], xmm7
mov ecx, dword [rsp + 0x5c]
mov dword [rsp + 0xdc], ecx
mov dword [rsp + 0xd8], 0
mov dword [rsp + 0xe4], r8d
mov word [rsp + 0xe1], 0x101
cmp ax, 0xfffe
je 0x1401d3b15
mov word [rsp + 0x110], ax
lea rcx, [rsp + 0xb8]
call fcn.140294df0
test rax, rax
jne 0x1401d3ff6
mov r11, qword [rsp + 0x28]
mov r9, rbp
mov r15, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x20]
inc rdi
cmp rdi, r11
mov r13, qword [rsp + 0x40]
jne 0x1401d3a27
mov eax, dword [r13 + 0x38]
bt eax, 0xc
jb 0x1401d3d0b
bt eax, 8
jae 0x1401d3e7d
xor edi, edi
mov eax, 1
mov qword [rsp + 0x80], rax
mov r12b, 1
mov dword [rsp + 0x58], 0
mov eax, 1
mov ecx, r15d
shl rax, cl
mov qword [rsp + 0xa0], rax
xor ebp, ebp
xor r14d, r14d
mov qword [rsp + 0x78], 0
xor edx, edx
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x4c], edx
mov qword [rsp + 0x30], r9
movzx ecx, word [r13 + 0x18]
mov al, 1
mov r15b, 1
cmp rbp, rcx
jb 0x1401d3f9d
test rdi, rdi
jne 0x1401d3ec7
test r12b, r12b
setne r12b
mov r13d, 0xffffffff
mov dword [rsp + 0x48], 0
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
test al, al
je 0x1401d3dce
xor edi, edi
bt r9, rdi
jb 0x1401d3db7
mov rsi, r14
mov rax, rbx
mov r14d, r12d
mov r12, rdi
shl r12, 5
mov rdx, qword [rbx + r12]
test rdx, rdx
je 0x1401d40cb
mov rbx, rax
add r12, rax
mov rcx, rdx
mov eax, dword [rcx + 4]
test eax, 0x82000
jne 0x1401d414c
mov eax, r10d
and eax, 0xc0
movzx r15d, r15b
cmove r15d, eax
cmp r13d, 0xffffffff
jl 0x1401d40d6
movzx eax, byte [rcx]
cmp eax, 0x9a
jne 0x1401d4110
cmp dword [rcx + 0x2c], r8d
mov r12d, r14d
jne 0x1401d3db4
movsx eax, word [rcx + 0x30]
cmp r13d, eax
mov r14, rsi
jne 0x1401d3db7
cmp r13d, 0xffffffff
jne 0x1401d3f42
test r10b, r10b
js 0x1401d3fe5
test r10b, 0x40
jne 0x1401d40c4
test r14b, r14b
jne 0x1401d3e55
mov eax, edi
mov rcx, rax
shl rcx, 5
mov cl, byte [rbx + rcx + 0x10]
and cl, 1
mov edx, ecx
mov r8d, dword [rsp + 0x48]
xor dl, r8b
mov qword [rsp + 0x78], rdx
mov r14b, 1
cmp cl, r8b
jne 0x1401d3df4
mov rcx, rax
shl rcx, 5
test byte [rbx + rcx + 0x10], 2
jne 0x1401d412c
cmp r13d, 0xffffffff
mov edx, dword [rsp + 0x4c]
movzx edx, dl
mov ecx, 1
cmove edx, ecx
bts r9, rax
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
inc rbp
cmp rbp, qword [rsp + 0x80]
jne 0x1401d3b92
or dl, r12b
je 0x1401d3d9e
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x88]
or rsi, qword [r13 + 8]
mov qword [rsp + 0x88], rsi
not rsi
mov r14, rbx
xor edi, edi
mov r12d, 1
mov ecx, edi
shl r12, cl
bt r9, rdi
jae 0x1401d4327
inc rdi
add r14, 0x20
cmp r11, rdi
jne 0x1401d3d27
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0xa8]
cmp r9, r10
setb al
cmp r15, rdi
lea r15, [r15 + 1]
setb dl
test al, dl
jne 0x1401d39bf
cmp r9, r10
jne 0x1401d3d99
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x1401d3e0c
call fcn.140297b50
int3
mov r11b, 0xff
jmp 0x1401d3d7f
cmp r9, qword [rsp + 0x70]
je 0x1401d3d7f
cmp r11, 2
jge 0x1401d3e33
xor r11d, r11d
jmp 0x1401d3d7f
mov r14, rsi
inc rdi
test r15b, r15b
setne al
cmp rdi, r11
setb cl
test al, cl
jne 0x1401d3be5
cmp dword [rsp + 0x58], ebp
movzx r12d, r12b
mov eax, 0
cmova r12d, eax
test rbp, rbp
cmove r12d, eax
mov r13, qword [rsp + 0x40]
mov edx, dword [rsp + 0x4c]
jmp 0x1401d3cfd
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0xa0]
or qword [rcx], rdx
jmp 0x1401d3cb9
mov eax, r11d
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
add rsp, 0x158
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 0x1401d3da5
jmp 0x1401d3d7f
mov edx, dword [rsp + 0x48]
xor dl, byte [rsp + 0x78]
mov eax, edi
mov rcx, rax
shl rcx, 5
mov cl, byte [rbx + rcx + 0x10]
and cl, 1
mov r14b, 1
cmp dl, cl
je 0x1401d3cb9
jmp 0x1401d3dce
mov rdi, qword [r13 + 0x20]
test rdi, rdi
je 0x1401d3daf
test byte [rdi + 0x64], 4
jne 0x1401d3daf
movzx edx, word [rdi + 0x60]
cmp byte [rdi + 0x62], 0
setne cl
test ax, ax
setns r12b
and r12b, cl
mov qword [rsp + 0x80], rdx
test rdx, rdx
je 0x1401d40ad
movzx eax, word [rdi + 0x5e]
mov dword [rsp + 0x58], eax
jmp 0x1401d3b6a
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 + 0x24]
mov dword [rsp + 0x48], esi
je 0x1401d3f1a
test r8w, r8w
mov r9, qword [rsp + 0x30]
jns 0x1401d3f27
cmp r8w, 0xfffe
setne r12b
jmp 0x1401d3bd6
xor r12d, r12d
mov r9, qword [rsp + 0x30]
jmp 0x1401d3bd6
cmp rbp, rcx
jb 0x1401d4458
mov rcx, qword [rdx + 8]
mov edx, r13d
lea rdx, [rdx + rdx*2]
test byte [rcx + rdx*8 + 8], 0xf
jmp 0x1401d3f11
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax]
mov rcx, rsi
call fcn.1401b1680
test rax, rax
je 0x1401d444c
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
mov rcx, qword [rcx + rbp*8]
mov rax, qword [rax]
xor edx, edx
mov r11, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x24]
movzx r8d, byte [rax + rdx]
movzx r9d, byte [rcx + rdx]
cmp r8b, r9b
jne 0x1401d43cd
test r8, r8
mov r9, qword [rsp + 0x30]
je 0x1401d3c72
inc rdx
jmp 0x1401d3f77
movzx eax, word [r13 + 0x3e]
cmp rbp, rax
jb 0x1401d4460
mov rdx, qword [r13 + 0x48]
mov r8, qword [rdx + rbp*8]
movzx r9d, word [r8 + 0x14]
test dword [rsp + 0x5c], r9d
je 0x1401d43f6
test r9d, 0x180
movzx r12d, r12b
mov eax, 0
cmovne r12d, eax
mov r9, qword [rsp + 0x30]
mov edx, dword [rsp + 0x4c]
jmp 0x1401d3cec
lea eax, [rbp + 1]
mov rcx, qword [rsp + 0x40]
mov word [rcx + 0x1e], ax
jmp 0x1401d3c7b
mov r15, rax
mov qword [rsp + 0x30], 0
mov rax, qword [r15 + 0x28]
test rax, rsi
je 0x1401d4211
lea rcx, [rsp + 0xb8]
call fcn.140294df0
mov r15, rax
test rax, rax
jne 0x1401d4002
mov rax, qword [rsp + 0x30]
test rax, rax
mov r11, qword [rsp + 0x28]
mov r8d, dword [rsp + 0x20]
jne 0x1401d4235
mov r9, rbp
mov r15, qword [rsp + 0x38]
jmp 0x1401d3b27
mov r11, qword [rsp + 0x28]
jmp 0x1401d403c
mov word [r13 + 0x1e], 0
jmp 0x1401d39f7
mov rax, qword [rsp + 0x68]
or rax, qword [r13 + 8]
mov qword [rsp + 0x68], rax
jmp 0x1401d39c8
bt dword [rsp + 0x24], 0xb
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
mov r13, qword [rax + r15*8]
jb 0x1401d3d62
jmp 0x1401d39d4
xor r9d, r9d
jmp 0x1401d3d7a
mov rcx, qword [r8]
mov rcx, qword [rcx]
test byte [rcx + 0x60], 0x40
je 0x1401d3924
jmp 0x1401d3daf
xor edx, edx
jmp 0x1401d3cfd
movzx eax, al
cmp eax, 0x9c
je 0x1401d3a71
jmp 0x1401d4049
mov eax, edi
jmp 0x1401d3cb9
mov r12d, r14d
mov rbx, rax
jmp 0x1401d3db4
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x50]
mov rdx, rbp
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.14040e1a0
test eax, eax
je 0x1401d411d
mov r11, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
mov r12d, r14d
jmp 0x1401d3db4
cmp eax, 0x9c
je 0x1401d3c4b
jmp 0x1401d4108
mov rdx, qword [r12]
mov r12d, r14d
mov r14, rsi
jmp 0x1401d3f42
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 0x18]
cmp rbp, rcx
jne 0x1401d3dce
mov rcx, qword [rsp + 0x40]
or byte [rcx + 0x3a], 8
jmp 0x1401d3ccb
bt eax, 0x13
jb 0x1401d4175
cmp byte [rcx], 0x67
mov r11, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
jne 0x1401d3c23
add rcx, 0x10
jmp 0x1401d417d
mov rcx, qword [rcx + 0x20]
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
mov r11, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x20]
jne 0x1401d3c15
jmp 0x1401d4108
mov rcx, rbx
bt eax, 0x13
jb 0x1401d41c5
mov al, byte [r13]
cmp al, 0x67
mov r8d, dword [rsp + 0x20]
mov rbx, rcx
jne 0x1401d3a69
add r13, 0x10
jmp 0x1401d41cd
mov r13, qword [r13 + 0x20]
add r13, 8
mov r13, qword [r13]
test r13, r13
mov r11, qword [rsp + 0x28]
mov r8d, dword [rsp + 0x20]
mov rbx, rcx
jne 0x1401d3a56
jmp 0x1401d403c
mov ecx, dword [rsp + 0x24]
and ecx, 0x280
cmp byte [r13 + 0x20], 0
mov rax, r10
cmove rax, r9
cmp ecx, 0x80
cmovne r9, rax
jmp 0x1401d3d7a
test rax, rax
jne 0x1401d421f
movzx eax, word [r15 + 0x14]
test al, 0x82
jne 0x1401d427a
mov rax, qword [rsp + 0x30]
test rax, rax
cmove rax, r15
mov qword [rsp + 0x30], rax
jmp 0x1401d400f
movzx eax, word [rax + 0x14]
cmp ax, 1
jne 0x1401d4275
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 0x3c]
test rcx, rcx
je 0x1401d3b15
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx + 0x48]
xor r8d, r8d
mov r9, qword [rsp + 0x30]
cmp r9, qword [rdx + r8*8]
je 0x1401d4275
inc r8
cmp rcx, r8
jne 0x1401d425d
jmp 0x1401d3b15
mov r15, qword [rsp + 0x30]
test al, 0x82
je 0x1401d4317
cmp word [r13 + 0x30], 0
js 0x1401d4317
mov rax, qword [rsp + 0x60]
mov r13, qword [rax]
mov rdx, qword [r12]
mov rcx, r13
call fcn.1401b1680
mov r12, rax
test rax, rax
jne 0x1401d42b2
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.14027b6a0
test rax, rax
je 0x1401d3b15
mov rax, qword [rax]
mov rcx, qword [r12]
xor edx, edx
lea r8, [0x1404dccc0]
jmp 0x1401d4303
mov r9b, byte [r9 + r8]
cmp r9b, byte [r10 + r8]
jne 0x1401d3b15
inc rdx
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
cmp r9b, r10b
jne 0x1401d42f2
test r9, r9
jne 0x1401d4300
mov r9, rbp
or r9, r14
mov r11, qword [rsp + 0x28]
jmp 0x1401d3b1d
mov r13, r9
mov r15, qword [r14]
test r15, r15
je 0x1401d439f
mov rcx, qword [rsp + 0x90]
mov rdx, r15
call fcn.14040df00
test rax, rax
jne 0x1401d43a1
lea rax, [rsp + 0xc8]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax + 0x18], rcx
movups xmmword [rax + 8], xmm6
lea rbp, [rsp + 0xb8]
mov word [rbp + 0x24], 1
mov qword [rbp], 0
lea rax, [0x140288370]
mov qword [rbp + 8], rax
lea rax, [0x1401c6da0]
mov qword [rbp + 0x10], rax
mov rcx, rbp
mov rdx, r15
call fcn.1402884b0
cmp word [rbp + 0x24], 0
je 0x1401d43c3
xor eax, eax
test rax, rsi
je 0x1401d43a9
xor r12d, r12d
mov r9, r13
or r9, r12
mov r11, qword [rsp + 0x28]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
jmp 0x1401d3d3c
mov r11, qword [rsp + 0x28]
mov r9, r13
jmp 0x1401d43b4
lea r10, [0x1404dccc0]
mov r8b, byte [r8 + r10]
cmp r8b, byte [r9 + r10]
mov r10d, dword [rsp + 0x24]
mov r9, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x20]
je 0x1401d3f98
jmp 0x1401d3db7
mov al, 1
mov r15b, 1
test r9b, 1
je 0x1401d3bae
mov r8, qword [r8]
lea r9d, [rcx - 1]
mov r10, rbp
cmp r9, r10
je 0x1401d4438
mov r11, qword [rdx + r10*8 + 8]
inc r10
xor eax, eax
mov r15d, 0
cmp qword [r11], r8
mov r11, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x50]
jne 0x1401d440f
jmp 0x1401d3bae
mov al, 1
mov r15b, 1
mov r11, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x50]
jmp 0x1401d3bae
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
jmp 0x1401d3f5b
mov r12b, 1
jmp 0x1401d3bd6
mov al, 1
mov r15b, 1
jmp 0x1401d3bae