Function at 0x1401e50e0
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, 0x2c8
movaps xmmword [rsp + 0x2b0], xmm6
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x80], r9
mov r14, qword [r9]
mov r12d, dword [r8 + 0x40]
mov eax, dword [r8 + 0x44]
mov dword [rsp + 0x8c], eax
mov r8d, dword [r8 + 0x38]
sub r8d, dword [rdi + 0x30]
lea rbp, [rsp + 0x210]
mov rcx, rbp
mov rdx, rsi
call fcn.1401e2b60
mov eax, dword [rsi + 0xcc]
add eax, dword [rsi + 0xd0]
lea rdx, [rsi + 0x28]
add dword [rdi + 0x44], eax
mov rcx, rbp
mov qword [rsp + 0x1e8], rdx
call fcn.1401e3a60
mov qword [rsp + 0xf0], rbx
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1401e5196
mov eax, dword [rdi + 0x40]
mov r8d, dword [rdi + 0x44]
mov edx, dword [rsi + 0xd0]
add edx, dword [rsi + 0xcc]
sub r8d, edx
lea rdx, [rdi + 0x30]
shl r8, 0x20
or r8, rax
mov rax, qword [rcx]
mov r9, rsi
call qword [rax]
mov qword [rsp + 0x78], rdi
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x50]
test eax, eax
js 0x1401e51bc
mov cl, 1
mov dword [rsp + 0xd4], ecx
cmp eax, dword [rsp + 0x210]
jl 0x1401e51ed
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x1401e51e2
lea rdx, [rsi + 0xa8]
mov rax, qword [rcx]
call qword [rax]
mov dword [rsp + 0xd4], eax
jmp 0x1401e51ed
mov dword [rsp + 0xd4], 0
mov qword [rsp + 0xa8], r14
mov rbp, r14
shr rbp, 0x20
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], rsi
mov eax, dword [rsi + 0xcc]
test eax, eax
je 0x1401e5429
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x44]
mov rdx, qword [rsp + 0xa0]
sub ecx, dword [rdx + 0xd0]
mov edi, ecx
sub edi, eax
js 0x1401e5429
mov rax, qword [rsp + 0x78]
cmp ecx, dword [rax + 0x3c]
jge 0x1401e5429
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x90], rax
mov r15, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
test ebx, ebx
je 0x1401e534d
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov dword [rsp + 0x108], eax
mov ecx, dword [r13 + 0xd4]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov esi, eax
mov ecx, edi
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov edi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov ebp, eax
mov ecx, dword [r13 + 0xdc]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov dword [rsp + 0xd8], eax
mov ecx, dword [r13 + 0xd4]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov r14d, eax
mov ecx, dword [r13 + 0xcc]
mov edx, r15d
mov r8d, ebx
call fcn.14027e6c0
mov r13d, eax
add esi, dword [rsp + 0x108]
add ebp, dword [rsp + 0xd8]
add ebp, r14d
sub edi, ebp
test eax, eax
jg 0x1401e5362
jmp 0x1401e535c
xor esi, esi
mov dword [rsp + 0xbc], 0
xor edi, edi
mov r13d, 1
mov rax, qword [rsp + 0xa0]
mov ebp, dword [rax + 0xe4]
mov rax, qword [rsp + 0x80]
mov r14d, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e538b
mov ecx, ebp
call fcn.1402a5400
mov ebp, eax
call fcn.14017a9e0
mov ebx, eax
cmp ebp, 0xffffffff
cmovne ebx, ebp
cmp r14d, 0xffffffff
cmovne ebx, r14d
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0xe8]
mov ebp, r13d
cmp eax, 1
je 0x1401e53c0
cmp eax, 2
jne 0x1401e5406
lea ebp, [r13 + r13]
test edi, edi
jle 0x1401e5429
lea r14d, [rdi + rsi]
lea r15d, [rbp + rbp]
nop dword [rax]
cmp edi, ebp
mov r9d, ebp
cmovl r9d, edi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r13d
mov rcx, qword [rsp + 0x90]
mov edx, esi
mov r8d, dword [rsp + 0xbc]
call fcn.14017c910
add esi, r15d
sub edi, r15d
cmp r14d, esi
jg 0x1401e53d0
jmp 0x1401e5429
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r13d
mov rcx, qword [rsp + 0x90]
mov edx, esi
mov r8d, dword [rsp + 0xbc]
mov r9d, edi
call fcn.14017c910
mov rax, qword [rsp + 0x80]
cmp dword [rax + 8], 0
jns 0x1401e5590
cmp dword [rax + 0xc], 0
jle 0x1401e5590
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x40]
cmp r12d, ecx
mov r13, qword [rsp + 0xa8]
jg 0x1401e55a0
xor r15d, r15d
nop word cs:[rax + rax]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x8c]
sub r15d, 1
jb 0x1401e5485
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x34]
mov rsi, qword [rsp + 0x98]
test esi, esi
je 0x1401e54c0
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov r14d, eax
xor eax, eax
mov rcx, qword [rsp + 0x78]
cmp r12d, dword [rcx + 0x40]
sete al
mov ecx, dword [rcx + rax*8 + 0x3c]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov edi, eax
jmp 0x1401e54c5
xor r14d, r14d
xor edi, edi
mov rax, qword [rsp + 0x80]
mov r13, qword [rax + 0x78]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov rbx, rax
mov r8, qword [rsp + 0x98]
test r8d, r8d
je 0x1401e5550
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov rdx, qword [rsp + 0xa8]
call fcn.14027e6c0
mov ebp, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
call fcn.14027e6c0
mov esi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
call fcn.14027e6c0
jmp 0x1401e5556
xor esi, esi
xor ebp, ebp
xor eax, eax
sub esi, eax
sub edi, r14d
mov dword [rsp + 0x20], edi
mov rcx, rbx
mov edx, ebp
mov r8d, r14d
mov r9d, esi
call r13
lea eax, [r12 + 1]
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x40]
cmp r12d, ecx
mov r12d, eax
mov r13, qword [rsp + 0xa8]
jl 0x1401e5470
jmp 0x1401e55a0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x40]
mov r13, qword [rsp + 0xa8]
mov dword [rsp + 0x1b4], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x260]
test eax, eax
jle 0x1401e6a9c
mov rcx, qword [rsp + 0xa0]
add rcx, 0x58
mov qword [rsp + 0x1e0], rcx
mov r14d, 0x80000000
xor edx, edx
xorps xmm6, xmm6
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xe4], 0
mov dword [rsp + 0xe8], 0
mov rcx, qword [rsp + 0x78]
mov r12, qword [rsp + 0x98]
jmp 0x1401e565c
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x44]
mov r14d, dword [rsp + 0xb4]
add eax, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x44], eax
mov rdx, qword [rsp + 0x118]
add rdx, 1
movsxd rax, dword [rsp + 0x260]
cmp rdx, rax
jge 0x1401e6ae1
mov rbx, qword [rsp + 0x258]
mov qword [rsp + 0x118], rdx
mov rbp, qword [rbx + rdx*8]
mov edx, dword [rbp]
mov esi, dword [rbp + 4]
mov dword [rsp + 0xec], edx
add esi, edx
mov qword [rsp + 0x100], rbp
add esi, dword [rbp + 8]
mov ebp, dword [rcx + 0x34]
mov edx, dword [rcx + 0x3c]
mov ecx, edx
sub ecx, ebp
mov rdi, rsi
mov qword [rsp + 0xd8], rsi
cmp esi, ecx
jge 0x1401e583f
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x44]
mov rdi, qword [rsp + 0xd8]
add edi, ecx
cmp edi, edx
jle 0x1401e5700
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0x20]
mov rbx, qword [rsp + 0x80]
cmp eax, dword [rbx + 8]
jle 0x1401e5813
cmp eax, dword [rbx + 0xc]
jge 0x1401e5813
mov dword [rsp + 0xb4], r14d
test r12d, r12d
je 0x1401e575f
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov r14d, eax
jmp 0x1401e5762
mov r8d, r14d
mov rsi, qword [rsp + 0xa0]
cmp byte [rsi + 0xfc], 0
jne 0x1401e583f
cmp eax, 2
jl 0x1401e583f
cmp qword [rsp + 0x118], 0
je 0x1401e573d
add eax, 0xfffffffe
cmp qword [rsp + 0x118], rax
jne 0x1401e583f
mov rax, qword [rsp + 0x118]
mov rax, qword [rbx + rax*8 + 8]
add edi, dword [rax]
add edi, dword [rax + 4]
add edi, dword [rax + 8]
cmp edi, edx
jg 0x1401e56bd
jmp 0x1401e583f
xor r14d, r14d
mov rax, qword [rsp + 0x80]
mov rbp, qword [rax + 0x78]
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax]
mov rdi, rax
test r12d, r12d
je 0x1401e57e0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov r15d, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov esi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov ebx, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x3c]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
jmp 0x1401e57e9
xor ebx, ebx
xor r15d, r15d
xor esi, esi
xor eax, eax
sub esi, ebx
sub eax, r14d
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov edx, r15d
mov r8d, r14d
mov r9d, esi
call rbp
mov rax, qword [rsp + 0x78]
mov ebp, dword [rax + 0x34]
mov edx, dword [rax + 0x3c]
mov r14d, dword [rsp + 0xb4]
mov rdi, qword [rsp + 0x78]
add dword [rdi + 0x40], 1
mov ebx, dword [rdi + 0x20]
mov ecx, dword [rdi + 0x24]
mov eax, ebx
sub eax, dword [rdi + 0x28]
add eax, ebp
mov dword [rdi + 0x34], eax
mov ebp, dword [rdi + 0x2c]
sub ebp, ecx
add ebp, edx
mov dword [rdi + 0x3c], ebp
mov dword [rdi + 0x28], ebx
mov dword [rdi + 0x2c], ecx
mov dword [rdi + 0x44], eax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x2c]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp ecx, edx
jl 0x1401e6ae1
mov rax, rdx
shr rax, 0x20
cmp ecx, edx
jne 0x1401e5873
shr rcx, 0x20
cmp ecx, eax
jl 0x1401e6ae1
cmp qword [rsp + 0x118], 0
cmove r14d, dword [rsp + 0xec]
mov ecx, dword [rsp + 0xe8]
cmove ecx, edx
mov dword [rsp + 0xe8], ecx
mov ecx, dword [rsp + 0xe4]
cmove ecx, eax
mov dword [rsp + 0xe4], ecx
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x24]
cmp edx, ecx
jl 0x1401e5630
mov rbp, qword [rsp + 0x100]
movsxd rsi, dword [rbp + 0x18]
lea rbx, [rsi*8]
add rbx, qword [rsp + 0x248]
mov qword [rsp + 0x198], rbx
movsxd rbx, dword [rbp + 0x1c]
mov rdi, qword [rsp + 0x240]
cmp edx, ecx
jne 0x1401e5905
mov rbp, qword [rsp + 0xd8]
add ebp, eax
shr rcx, 0x20
cmp ebp, ecx
jl 0x1401e5630
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0xf8], rsi
mov dword [rsp + 0xb4], r14d
mov rsi, qword [rsp + 0x100]
movsxd rcx, dword [rsi + 0x1c]
shl rcx, 2
call fcn.140308730
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x30]
add eax, dword [rsi + 0x28]
mov dword [rsp + 0x8c], eax
movsxd rax, dword [rsi + 0x1c]
test rax, rax
jle 0x1401e5a17
mov r8, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x100]
movsxd rcx, dword [rcx + 0x18]
mov r12, qword [rsp + 0x98]
test r12d, r12d
je 0x1401e5ab2
lea rbp, [r8 + rcx*4]
lea r14, [rax*4]
add r14, rbp
mov r13d, dword [rsp + 0x8c]
mov rdi, qword [rsp + 0x120]
nop word cs:[rax + rax]
nop dword [rax]
mov esi, dword [rbp]
add esi, r13d
mov ecx, esi
mov r12, qword [rsp + 0xa8]
mov edx, r12d
mov r15, qword [rsp + 0x98]
mov r8d, r15d
call fcn.14027e6c0
mov ebx, eax
mov ecx, r13d
mov edx, r12d
mov r8d, r15d
call fcn.14027e6c0
add rbp, 4
sub ebx, eax
mov dword [rdi], ebx
add rdi, 4
mov r13d, esi
cmp rbp, r14
jb 0x1401e59d0
cmp byte [rsp + 0xd4], 0
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x98]
je 0x1401e5b59
test r12d, r12d
je 0x1401e5b23
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov r14d, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov edi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
sub ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov ebx, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
add ecx, dword [rsp + 0xd8]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov esi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
jmp 0x1401e5b2e
lea rdx, [rcx*4]
lea rbp, [r8 + rcx*4]
lea rax, [rax*4]
add rax, rbp
lea rcx, [r8 + rcx*4]
add rcx, 4
cmp rax, rcx
cmova rcx, rax
not r8
add r8, rcx
sub r8, rdx
add r8, 4
and r8, 0xfffffffffffffffc
xor esi, esi
mov rcx, qword [rsp + 0x120]
xor edx, edx
call sub.msvcrt.dll_memset
mov edi, 0
mov r14d, 0
mov ebx, 0
mov eax, 0
cmp byte [rsp + 0xd4], 0
mov r13, qword [rsp + 0xa8]
jne 0x1401e5b2e
jmp 0x1401e5b59
xor esi, esi
xor edi, edi
xor r14d, r14d
xor ebx, ebx
xor eax, eax
sub esi, eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x90]
mov edx, r14d
mov r8d, edi
mov r9d, ebx
call fcn.14017c910
mov rdx, qword [rsp + 0x100]
mov ecx, dword [rdx]
mov rax, qword [rsp + 0x78]
add ecx, dword [rax + 0x44]
mov dword [rsp + 0xb8], ecx
mov eax, dword [rax + 0x38]
mov rcx, qword [rsp + 0x108]
test ecx, ecx
mov dword [rsp + 0xbc], eax
jle 0x1401e623a
mov r9, qword [rsp + 0x198]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x1f8], rax
movsxd r13, dword [rdx + 0x18]
shl r13, 2
mov rax, qword [rsp + 0x220]
add rax, r13
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0xf8]
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x110]
lea r15, [rcx + rax*8 + 0x10]
mov dword [rsp + 0x108], 0xffffffff
mov r12, r9
mov ecx, dword [rsp + 0x8c]
jmp 0x1401e5c85
mov rcx, qword [rsp + 0xf8]
mov dword [rsp + 0x1d8], ecx
mov dword [rsp + 0x1dc], ebx
mov r9, qword [rax + 0x68]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0x1d8]
call fcn.1401d6490
nop word cs:[rax + rax]
nop
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x28]
add r12, 8
mov ecx, dword [rsp + 0x8c]
mov rax, qword [rsp + 0x1c0]
add ecx, dword [rax + r13]
mov r9, r12
mov dword [rsp + 0x8c], ecx
add r13, 4
add r15, 0x18
cmp r12, qword [rsp + 0x1f8]
jae 0x1401e617c
mov eax, dword [rsp + 0xbc]
mov ebx, eax
mov rdx, qword [rsp + 0x230]
mov ebp, dword [rdx + r13]
mov esi, dword [rsp + 0x8c]
cmp esi, eax
cmovl eax, esi
mov rdx, qword [rsp + 0x80]
cmp ebp, dword [rdx + 8]
cmovne eax, ebx
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x108]
mov ebx, eax
test eax, eax
cmovs eax, esi
cmp ebp, dword [rdx + 0xc]
cmovne eax, ebx
mov dword [rsp + 0x108], eax
mov rax, qword [r9]
cmp rax, qword [r12]
jne 0x1401e5ce9
cmp qword [r15], 0
je 0x1401e5e90
mov rax, r9
sub rax, qword [rsp + 0x198]
shr rax, 3
mov rbp, r12
sub rbp, r9
shr rbp, 3
mov rbx, qword [rsp + 0x78]
mov ebx, dword [rbx + 0x44]
mov edi, dword [rsp + 0xd4]
mov byte [rsp + 0x70], dil
mov rdi, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rdi
mov edi, dword [rsp + 0xec]
mov dword [rsp + 0x60], edi
mov rdi, qword [rsp + 0xd8]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x50], ebx
mov ebx, dword [rsp + 0xb8]
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x1b8]
call fcn.1401e4330
mov rax, qword [r15]
mov ecx, esi
mov r9, r12
test rax, rax
je 0x1401e5e90
mov qword [rsp + 0x110], rax
lea rcx, [rax + 8]
mov qword [rsp + 0x1f0], rcx
call fcn.14028b800
test al, al
jne 0x1401e5c4e
mov rdi, qword [rsp + 0x98]
test edi, edi
je 0x1401e5ec9
mov rax, qword [rsp + 0x110]
mov ebx, dword [rax + 0x20]
mov ecx, dword [rax + 0x1c]
mov rbp, qword [rsp + 0xa8]
mov edx, ebp
mov r8d, edi
call fcn.14027e6c0
mov qword [rsp + 0xf8], rax
mov ecx, ebx
mov edx, ebp
mov r8d, edi
call fcn.14027e6c0
mov ebx, eax
mov ecx, dword [rsp + 0x8c]
mov edx, ebp
mov r8d, edi
call fcn.14027e6c0
mov esi, eax
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x71], 0
je 0x1401e5e3a
mov rbp, qword [rsp + 0xf8]
lea eax, [rsi + rbp]
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x38]
mov edx, ecx
sub edx, esi
cmp eax, ecx
cmovle edx, ebp
mov eax, edx
mov qword [rsp + 0xf8], rax
mov r8, qword [rsp + 0x98]
test r8d, r8d
je 0x1401e5eee
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
mov rdx, qword [rsp + 0xa8]
call fcn.14027e6c0
mov r14d, eax
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
call fcn.14027e6c0
jmp 0x1401e5ef3
add r12, 8
mov eax, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x1c0]
add eax, dword [rdx + r13]
mov dword [rsp + 0x8c], eax
add r13, 4
add r15, 0x18
cmp r12, qword [rsp + 0x1f8]
jb 0x1401e5c85
jmp 0x1401e617c
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0xf8], rax
xor esi, esi
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x71], 0
jne 0x1401e5e14
jmp 0x1401e5e3a
xor r14d, r14d
xor eax, eax
mov rcx, qword [r12]
mov ecx, dword [rcx + 0x10]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x90]
mov edx, esi
mov r8d, r14d
mov r9, qword [rsp + 0xf8]
call fcn.14017c910
mov r8, qword [rsp + 0x98]
test r8d, r8d
je 0x1401e5f43
mov ecx, dword [rsp + 0xb8]
sub ecx, dword [r15 - 0x10]
mov rdx, qword [rsp + 0xa8]
call fcn.14027e6c0
jmp 0x1401e5f45
xor eax, eax
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x90]
mov edx, esi
mov r8d, eax
mov r9, qword [rsp + 0xf8]
call fcn.14017b180
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x42], 0
je 0x1401e5fb5
mov qword [rsp + 0x128], 0
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x130], eax
mov dword [rsp + 0x134], ebx
call fcn.14018afb0
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0x128]
mov r8d, eax
call fcn.14017c8d0
jmp 0x1401e5c40
cmp byte [rax + 0x41], 0
je 0x1401e5bfe
lea rax, [0x1403cee20]
mov qword [rsp + 0x128], rax
mov dword [rsp + 0x138], 0x80000000
mov dword [rsp + 0x144], 0x300
lea rax, [rsp + 0x178]
movups xmmword [rax], xmm6
lea rcx, [rsp + 0x130]
call fcn.1401d6840
lea rcx, [rsp + 0x138]
mov rdx, qword [rsp + 0x1f0]
call fcn.14028b880
mov rcx, qword [rsp + 0x110]
movups xmm0, xmmword [rcx + 0x18]
movups xmm1, xmmword [rcx + 0x28]
movups xmm2, xmmword [rcx + 0x38]
lea rax, [rsp + 0x130]
movups xmmword [rax + 0x38], xmm2
movups xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x18], xmm0
cmp byte [rcx + 0x56], 0
je 0x1401e6076
cmp rax, rcx
je 0x1401e60ad
cmp byte [rsp + 0x186], 0
je 0x1401e605b
lea rcx, [rsp + 0x178]
call fcn.14030abf0
mov rdx, qword [rsp + 0x110]
add rdx, 0x48
lea rcx, [rsp + 0x178]
call fcn.14030aaa0
jmp 0x1401e60ad
cmp byte [rsp + 0x186], 0
je 0x1401e608d
lea rcx, [rsp + 0x178]
call fcn.14030abf0
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x178], rax
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x180], rax
shl rbx, 0x20
mov eax, dword [rsp + 0xf8]
or rax, rbx
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x190], rax
lea rsi, [rsp + 0xc0]
mov rcx, rsi
lea rdx, [rsp + 0x128]
call fcn.1401ae710
mov rcx, qword [rsp + 0x90]
xor edx, edx
xor r8d, r8d
mov r9, rsi
call fcn.14017cc50
mov rcx, rsi
call fcn.140193c20
lea rax, [0x1403cee20]
mov qword [rsp + 0x128], rax
cmp byte [rsp + 0x186], 0
je 0x1401e6132
lea rcx, [rsp + 0x178]
call fcn.14030abf0
mov ecx, dword [rsp + 0x144]
cmp ecx, 0xff00
jne 0x1401e615f
lea rcx, [rsp + 0x138]
call fcn.14028b850
movzx ecx, byte [rsp + 0x146]
test cl, cl
jne 0x1401e616a
jmp 0x1401e5c40
shr ecx, 0x10
test cl, cl
je 0x1401e5c40
lea rcx, [rsp + 0x138]
call fcn.14030abf0
jmp 0x1401e5c40
sub r12, r9
jbe 0x1401e6256
mov rax, r9
sub rax, qword [rsp + 0x198]
shr rax, 3
shr r12, 3
mov rdx, qword [rsp + 0x78]
mov edx, dword [rdx + 0x44]
mov ebp, dword [rsp + 0xd4]
mov byte [rsp + 0x70], bpl
mov r13, qword [rsp + 0xa8]
mov qword [rsp + 0x68], r13
mov ebp, dword [rsp + 0xec]
mov dword [rsp + 0x60], ebp
mov rbp, qword [rsp + 0xd8]
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], edx
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0x8c]
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x1b8]
call fcn.1401e4330
mov r12, qword [rsp + 0x98]
cmp qword [rsp + 0x118], 0
jne 0x1401e6800
jmp 0x1401e6275
mov dword [rsp + 0x108], 0xffffffff
cmp qword [rsp + 0x118], 0
jne 0x1401e6800
jmp 0x1401e6275
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x98]
cmp qword [rsp + 0x118], 0
jne 0x1401e6800
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0xd4]
mov rdi, qword [rsp + 0x78]
add ecx, dword [rdi + 0x30]
mov dword [rsp + 0xc0], ecx
mov rax, qword [rsp + 0x100]
mov eax, dword [rax]
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov ebp, eax
sub ebp, edx
shl ebp, 2
movsxd rbp, ebp
imul rbp, rbp, 0x66666667
mov rbx, rbp
shr rbx, 0x3f
sar rbp, 0x21
add ebp, ebx
add ebp, dword [rdi + 0x44]
add ecx, edx
add edx, ebp
mov dword [rsp + 0xc4], ebp
mov dword [rsp + 0xc8], ecx
mov dword [rsp + 0xcc], edx
test r12d, r12d
je 0x1401e6385
lea ecx, [rax + 7]
test eax, eax
cmovns ecx, eax
sar ecx, 3
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov esi, eax
mov ecx, dword [rsp + 0xc0]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov dword [rsp + 0xc0], eax
mov ecx, dword [rsp + 0xc4]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov dword [rsp + 0xc4], eax
mov ecx, dword [rsp + 0xc8]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov dword [rsp + 0xc8], eax
mov ecx, dword [rsp + 0xcc]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc4]
mov ebp, dword [rsp + 0xc8]
mov dword [rsp + 0xcc], eax
test esi, esi
mov ebx, 1
cmovle esi, ebx
jmp 0x1401e639a
movaps xmmword [rsp + 0xc0], xmm6
mov esi, 1
xor eax, eax
xor edx, edx
xor ecx, ecx
xor ebp, ebp
add edx, esi
mov dword [rsp + 0x1c8], edx
sub ebp, esi
mov dword [rsp + 0x1d0], ebp
add ecx, esi
mov dword [rsp + 0x1cc], ecx
sub eax, esi
mov dword [rsp + 0x1d4], eax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0xf0]
add eax, 0xffffffff
cmp eax, 3
ja case.default.0x1401e63e2
lea rcx, [0x1401e72a4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x64]
mov rax, qword [rsp + 0x80]
mov edi, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e6409
mov ecx, esi
call fcn.1402a5400
mov esi, eax
call fcn.14017a9e0
cmp esi, 0xffffffff
cmovne eax, esi
cmp edi, 0xffffffff
cmovne eax, edi
mov dword [rsp + 0x20], 0x800000fe
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xc0]
mov r8d, eax
mov r9d, 0x80000000
call fcn.14017d740
jmp 0x1401e6800
lea rcx, [rsp + 0x1a0]
mov rdx, qword [rsp + 0x330]
mov r8, qword [rsp + 0x1e8]
call fcn.1401db7a0
mov al, byte [rsp + 0x1ae]
test al, al
je 0x1401e65c4
mov ecx, dword [rsp + 0x1a8]
test ecx, ecx
jne 0x1401e65d4
jmp 0x1401e67e3
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x64]
mov rax, qword [rsp + 0x80]
mov edi, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e64aa
mov ecx, esi
call fcn.1402a5400
mov esi, eax
call fcn.14017a9e0
cmp esi, 0xffffffff
cmovne eax, esi
cmp edi, 0xffffffff
cmovne eax, edi
mov dword [rsp + 0x20], 0x800000fe
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xc0]
mov r8d, eax
mov r9d, 0x80000000
call fcn.14017d740
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x64], 0
je 0x1401e6633
mov ecx, 0xffffff
call fcn.1402a5400
jmp 0x1401e6638
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x64]
mov rax, qword [rsp + 0x80]
mov edi, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e6527
mov ecx, esi
call fcn.1402a5400
mov esi, eax
call fcn.14017a9e0
cmp esi, 0xffffffff
cmovne eax, esi
cmp edi, 0xffffffff
cmovne eax, edi
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xc0]
mov r8d, eax
call fcn.14017c8d0
jmp 0x1401e6800
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x64]
mov rax, qword [rsp + 0x80]
mov edi, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e657a
mov ecx, esi
call fcn.1402a5400
mov esi, eax
call fcn.14017a9e0
cmp esi, 0xffffffff
cmovne eax, esi
cmp edi, 0xffffffff
cmovne eax, edi
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xc0]
mov r8d, eax
call fcn.14017c8d0
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x64], 0
je 0x1401e6663
mov ecx, 0xffffff
call fcn.1402a5400
jmp 0x1401e6668
movsx ecx, byte [rsp + 0x1af]
test ecx, ecx
je 0x1401e67e3
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x1c], 0
je 0x1401e65f2
mov rax, qword [rsp + 0x248]
mov rsi, qword [rax]
test rsi, rsi
jne 0x1401e65fa
mov rsi, qword [rsp + 0x1e0]
mov rax, qword [rsi]
mov qword [rsp + 0x128], rax
mov eax, dword [rsi + 0x10]
lea rcx, [rsp + 0x130]
mov dword [rcx + 8], eax
mov rax, qword [rsi + 8]
mov qword [rcx], rax
lea rdx, [rsi + 0x18]
cmp byte [rsi + 0x26], 0
je 0x1401e6685
lea rcx, [rsp + 0x140]
call fcn.14030aaa0
jmp 0x1401e6690
mov eax, 0xffffff
mov dword [rsp + 0x20], 0x800000fe
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0x1c8]
mov r8d, eax
mov r9d, 0x80000000
call fcn.14017d740
jmp 0x1401e6800
mov eax, 0xffffff
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0x1c8]
mov r8d, eax
call fcn.14017c8d0
jmp 0x1401e6800
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x158], 0
lea rax, [0x1406036b0]
mov qword [rsp + 0x150], rax
lea rdx, [rsi + 0x28]
lea rcx, [rsp + 0x150]
call fcn.1402554d0
movzx eax, word [rsi + 0x3c]
lea rcx, [rsp + 0x130]
mov word [rcx + 0x34], ax
mov eax, dword [rsi + 0x38]
mov dword [rcx + 0x30], eax
lea rcx, [rsp + 0x128]
call fcn.140175ff0
test r12d, r12d
je 0x1401e6717
mov ecx, eax
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov word [rsp + 0x12c], ax
mov r14d, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov edi, eax
jmp 0x1401e672b
mov word [rsp + 0x12c], 0
xor edi, edi
mov r14d, dword [rsp + 0xc0]
lea rcx, [rsp + 0x128]
call fcn.1401793c0
mov qword [rsp + 0x200], rax
lea rcx, [rsp + 0x200]
call fcn.140178980
mov esi, dword [rax]
mov r15, qword [rsp + 0x128]
mov ebx, dword [rsp + 0x134]
mov rax, qword [rsp + 0x80]
mov ebp, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
je 0x1401e6778
mov ecx, ebx
call fcn.1402a5400
mov ebx, eax
call fcn.14017a9e0
cmp ebx, 0xffffffff
cmovne eax, ebx
cmp ebp, 0xffffffff
cmovne eax, ebp
sub edi, esi
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x90]
mov edx, r14d
mov r8d, edi
lea r9, [rsp + 0x1a0]
call fcn.1401805a0
lea rcx, [rsp + 0x150]
call fcn.140255040
cmp byte [rsp + 0x14e], 0
je 0x1401e67dc
lea rcx, [rsp + 0x140]
call fcn.14030abf0
mov al, byte [rsp + 0x1ae]
test al, al
je 0x1401e6800
lea rcx, [rsp + 0x1a0]
call fcn.14030abf0
nop word cs:[rax + rax]
nop
test r12d, r12d
je 0x1401e6950
mov rcx, qword [rsp + 0xd8]
mov edx, r13d
mov r8, qword [rsp + 0x98]
call fcn.14027e6c0
mov r14d, eax
cmp eax, 4
jl 0x1401e6950
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x48], 0
je 0x1401e6950
mov rbx, qword [rsp + 0x78]
mov ecx, dword [rbx + 0x30]
mov rbp, qword [rsp + 0x100]
add ecx, dword [rbp + 0x28]
mov edx, r13d
mov rsi, qword [rsp + 0x98]
mov r8d, esi
call fcn.14027e6c0
mov edi, eax
movsxd r15, dword [rbp + 0x1c]
movsxd rbp, dword [rbp + 0x18]
mov ecx, dword [rbx + 0x44]
add ecx, dword [rsp + 0xd8]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
test r15d, r15d
jle 0x1401e6950
mov r12d, eax
mov rbx, qword [rsp + 0x120]
lea rsi, [rbx + r15*4]
lea r15d, [r12 - 3]
add r12d, 0xfffffffe
shl rbp, 2
jmp 0x1401e68e4
mov r9d, dword [rbx]
mov dword [rsp + 0x28], 0xff
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x90]
mov edx, edi
mov r8d, r12d
call fcn.14017c910
add edi, dword [rbx]
add rbx, 4
add rbp, 4
cmp rbx, rsi
jae 0x1401e6950
mov rax, qword [rsp + 0x230]
mov eax, dword [rax + rbp]
mov ecx, eax
sar ecx, 5
mov rdx, qword [rsp + 0x338]
cmp ecx, dword [rdx]
jge 0x1401e68d5
mov rdx, qword [rsp + 0x338]
mov rdx, qword [rdx + 8]
movsxd rcx, ecx
mov ecx, dword [rdx + rcx*4]
bt ecx, eax
jae 0x1401e68d5
cmp r14d, 0x11
jb 0x1401e68b0
mov r9d, dword [rbx]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x90]
mov edx, edi
mov r8d, r15d
call fcn.14017c910
jmp 0x1401e68b0
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 8]
mov eax, dword [rax + 0xc]
mov rbp, qword [rsp + 0x100]
mov ecx, dword [rbp + 0x20]
mov ebp, dword [rbp + 0x24]
add ebp, ecx
cmp eax, ebp
mov ebx, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x108]
cmove edi, ebx
cmp edx, ebp
mov esi, dword [rsp + 0xbc]
cmove esi, ebx
cmp edx, ecx
jge 0x1401e69b0
mov rbx, qword [rsp + 0x78]
mov esi, dword [rbx + 0x30]
cmp eax, ebp
jg 0x1401e69b4
cmp edx, eax
mov r12, qword [rsp + 0x98]
jl 0x1401e69cc
jmp 0x1401e6a81
cmp eax, ebp
jle 0x1401e699d
mov rbp, qword [rsp + 0x78]
mov edi, dword [rbp + 0x38]
cmp edx, eax
mov r12, qword [rsp + 0x98]
jge 0x1401e6a81
cmp eax, ecx
jle 0x1401e6a81
mov rax, qword [rsp + 0x80]
mov rbp, qword [rax + 0x78]
test r12d, r12d
je 0x1401e6a5c
mov ecx, esi
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov r15d, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov r14d, eax
mov ecx, edi
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov ebx, eax
mov ecx, esi
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov edi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
add ecx, dword [rsp + 0xd8]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov esi, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x44]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
sub ebx, edi
jmp 0x1401e6a68
xor esi, esi
xor r15d, r15d
xor r14d, r14d
xor ebx, ebx
xor eax, eax
sub esi, eax
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x90]
mov edx, r15d
mov r8d, r14d
mov r9d, ebx
call rbp
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x1401e5620
call fcn.140309590
jmp 0x1401e5620
mov dword [rsp + 0xe8], 0
mov r14d, 0x80000000
mov dword [rsp + 0xe4], 0
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x8c], 0
mov r12, qword [rsp + 0x98]
mov dword [rsp + 0xb4], r14d
call fcn.1401e3c80
lea rdx, [0x1405de1d0]
lea rcx, [rsp + 0x128]
mov r8d, 2
call fcn.1401903a0
mov rax, qword [rsp + 0x128]
xor esi, esi
mov ebp, 0
test rax, rax
je 0x1401e6b1f
mov ebp, dword [rax + 0x28]
lea rcx, [rsp + 0x128]
call fcn.140193c20
test r12d, r12d
je 0x1401e6b45
mov ecx, dword [rsp + 0xec]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov esi, eax
cmp ebp, esi
jge 0x1401e6c16
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x44], 0xffffffff
je 0x1401e6c16
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax]
mov rsi, rax
test r12d, r12d
je 0x1401e6ba6
mov ecx, dword [rsp + 0x8c]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov edi, eax
mov ecx, dword [rsp + 0xb8]
mov edx, r13d
mov r8d, r12d
call fcn.14027e6c0
mov ebx, eax
jmp 0x1401e6baa
xor edi, edi
xor ebx, ebx
call fcn.1401e3c80
lea rdx, [0x1405de1d0]
lea rcx, [rsp + 0x128]
mov r8d, 2
call fcn.1401903a0
mov rcx, qword [rsp + 0x80]
lea rax, [rcx + 0x44]
sub ebx, ebp
mov rdx, qword [rsp + 0xa0]
cmp dword [rdx + 0x88], 0
lea rcx, [rcx + 0x38]
cmove rcx, rax
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x128]
mov rcx, rsi
mov edx, edi
mov r8d, ebx
call fcn.14017cd10
lea rcx, [rsp + 0x128]
call fcn.140193c20
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0xf8], 0
je 0x1401e6d6a
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x44], 0xffffffff
je 0x1401e6d6a
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
mov edx, dword [rsp + 0x1b4]
call qword [rax]
mov r14, rax
mov rdi, qword [rsp + 0x98]
test edi, edi
je 0x1401e6c88
mov rsi, qword [rsp + 0x78]
mov ecx, dword [rsi + 0x38]
mov edx, r13d
mov r8d, edi
call fcn.14027e6c0
mov r15d, eax
mov ecx, dword [rsi + 0x30]
mov edx, r13d
mov r8d, edi
call fcn.14027e6c0
mov ebx, eax
jmp 0x1401e6c8d
xor r15d, r15d
xor ebx, ebx
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
sub r15d, ebx
test al, 1
mov eax, 8
mov esi, 0x32
cmove esi, eax
test edi, edi
je 0x1401e6d26
mov ecx, dword [rsp + 0x1b0]
mov edx, r13d
mov r8d, edi
call fcn.14027e6c0
test r15d, r15d
jle 0x1401e6d6a
mov r12d, eax
mov ebp, esi
shr ebp, 1
mov ebx, esi
shr ebx, 3
xor edi, edi
nop word cs:[rax + rax]
nop
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8, qword [rsp + 0x98]
call fcn.14027e6c0
add eax, edi
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + 0x44]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ebx
mov rcx, r14
mov edx, eax
mov r8d, r12d
mov r9d, ebp
call fcn.14017c910
add edi, esi
cmp edi, r15d
jl 0x1401e6ce0
jmp 0x1401e6d6a
test r15d, r15d
jle 0x1401e6d6a
mov edi, esi
shr edi, 1
mov ebx, esi
shr ebx, 3
xor ebp, ebp
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rcx, r14
mov edx, ebp
xor r8d, r8d
mov r9d, edi
call fcn.14017c910
add ebp, esi
cmp ebp, r15d
jl 0x1401e6d40
mov eax, dword [rsp + 0x210]
mov rcx, qword [rsp + 0x80]
cmp eax, dword [rcx + 8]
mov rsi, qword [rsp + 0x98]
jl 0x1401e6e95
mov rcx, qword [rsp + 0x80]
cmp eax, dword [rcx + 0xc]
jge 0x1401e6e95
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x2c]
mov rcx, rdx
shr rcx, 0x20
cmp edx, eax
jl 0x1401e6dcd
jne 0x1401e6e95
shr rax, 0x20
cmp ecx, eax
jge 0x1401e6e95
test esi, esi
je 0x1401e6de8
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov ebx, eax
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + 0x40]
jmp 0x1401e6dea
xor ebx, ebx
mov rax, qword [rsp + 0x80]
mov r15, qword [rax + 0x78]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax]
mov r14, rax
test esi, esi
je 0x1401e6e75
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov r12d, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov ebp, eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x30]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov edi, eax
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0xe0]
mov rax, qword [rsp + 0x78]
add ecx, dword [rax + 0x44]
mov eax, dword [rax + 0x3c]
cmp ecx, eax
cmovge ecx, eax
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
jmp 0x1401e6e7e
xor edi, edi
xor r12d, r12d
xor ebp, ebp
xor eax, eax
sub ebp, edi
sub eax, ebx
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, r12d
mov r8d, ebx
mov r9d, ebp
call r15
cmp dword [rsp + 0xb4], 0x80000000
je 0x1401e70b6
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x44], 0xffffffff
je 0x1401e70b6
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x70], 0
je 0x1401e70b6
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0xb6], 0
je 0x1401e6ee3
mov edi, dword [rax + 0xb0]
jmp 0x1401e6eea
movsx edi, byte [rax + 0xb7]
mov r15d, dword [rsp + 0xe8]
call fcn.1401e3c80
lea rdx, [0x1405de1d0]
lea rcx, [rsp + 0x128]
xor ebp, ebp
xor r8d, r8d
call fcn.1401903a0
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x1401e6f2e
mov ebp, dword [rax + 0x28]
mov ebx, 0xfffffff9
sub ebx, dword [rax + 0x24]
test edi, edi
jne 0x1401e6f37
jmp 0x1401e6fad
mov ebx, 0xfffffff9
test edi, edi
je 0x1401e6fad
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
mov edx, r15d
call qword [rax]
mov r14, rax
test esi, esi
je 0x1401e6f76
mov ecx, dword [rsp + 0xe4]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov edi, eax
mov ecx, dword [rsp + 0xb4]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
jmp 0x1401e6f7a
xor edi, edi
xor eax, eax
sub eax, ebp
mov r8d, eax
shr r8d, 0x1f
add r8d, eax
sar r8d, 1
add r8d, edi
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x128]
mov rcx, r14
mov edx, ebx
call fcn.14017cd10
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0xfd], 0
setne bl
call fcn.1401e3c80
lea rdx, [0x1405de1d0]
lea rcx, [rsp + 0xc0]
mov r8d, 1
call fcn.1401903a0
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0xc0]
call fcn.1401892d0
and bl, byte [rsp + 0x340]
lea rcx, [rsp + 0xc0]
call fcn.140193c20
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x1401e7028
mov ebp, dword [rax + 0x28]
mov edi, 0xfffffff9
sub edi, dword [rax + 0x24]
test bl, bl
jne 0x1401e7033
jmp 0x1401e70a9
xor ebp, ebp
mov edi, 0xfffffff9
test bl, bl
je 0x1401e70a9
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
mov edx, r15d
call qword [rax]
mov r14, rax
test esi, esi
je 0x1401e7072
mov ecx, dword [rsp + 0xe4]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
mov ebx, eax
mov ecx, dword [rsp + 0xb4]
mov edx, r13d
mov r8d, esi
call fcn.14027e6c0
jmp 0x1401e7076
xor ebx, ebx
xor eax, eax
sub eax, ebp
mov r8d, eax
shr r8d, 0x1f
add r8d, eax
sar r8d, 1
add r8d, ebx
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x128]
mov rcx, r14
mov edx, edi
call fcn.14017cd10
lea rcx, [rsp + 0x128]
call fcn.140193c20
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1401e70d6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x210]
call fcn.1401e2740
movaps xmm6, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret