Function at 0x1401fd3a0
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, 0x1c8
movaps xmmword [rsp + 0x1b0], xmm6
mov r14, r8
mov r15, rcx
mov rax, qword [rcx + 0x60]
movsxd rsi, dword [rsp + 0x238]
mov rax, qword [rax + rsi*8]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x140], r9
mov rdi, qword [r9]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x1401fd43a
lea rax, [rsi + rsi*2]
shl rax, 4
mov edx, dword [r15 + 0xc0]
xor ebp, ebp
cmp edx, dword [rdi + rax + 0xc]
setne bpl
shl rbp, 4
movups xmm0, xmmword [r15 + rbp + 0xc8]
movaps xmmword [rsp + 0xa0], xmm0
mov r8, qword [r14 + 0x40]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0xa0]
mov r9d, esi
call qword [rax + 0x20]
mov r13, qword [rsp + 0x260]
mov ecx, dword [r15 + 0x18]
test ecx, ecx
mov qword [rsp + 0xe0], r14
je 0x1401fd487
mov rdx, qword [r13]
mov r8, rdx
shr r8, 0x20
test r8d, r8d
je 0x1401fd46b
call fcn.14027e6c0
test eax, eax
jg 0x1401fd470
mov eax, 1
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x60], eax
sub eax, ecx
mov dword [rsp + 0x84], eax
lea rax, [r15 + 0x1c]
jmp 0x1401fd4ac
lea rcx, [r15 + 0x1c]
lea rax, [r13 + 0x44]
xor edx, edx
cmp dword [r13 + 0x44], 0xffffffff
setne dl
mov dword [rsp + 0x60], edx
cmove rax, rcx
mov dword [rsp + 0x84], 0
mov rbp, qword [rsp + 0x250]
mov eax, dword [rax]
mov dword [rsp + 0x64], eax
lea rcx, [rsi + rsi*2]
shl rcx, 4
mov esi, dword [rdi + rcx + 0xc]
mov eax, dword [rdi + rcx + 0x10]
mov edx, dword [rsp + 0x268]
mov qword [rsp + 0xf0], rsi
add edx, esi
mov qword [rsp + 0x90], rdx
cmp edx, dword [r15 + 0xc0]
je 0x1401fd4fb
movups xmm0, xmmword [rbp]
mov rdx, qword [rsp + 0x248]
movups xmmword [rdx], xmm0
cmp dword [r15 + 0x28], 0
jle 0x1401fe2e4
mov dl, byte [rsp + 0x270]
mov r8, qword [rsp + 0x258]
mov esi, dword [rsp + 0x240]
add rcx, rdi
add rcx, 0x20
mov qword [rsp + 0xf8], rcx
add esi, 0xffffffff
mov dword [rsp + 0x110], esi
mov rcx, qword [rsp + 0x90]
lea edi, [rcx + 1]
mov rsi, qword [rsp + 0xe0]
add rsi, 0x30
mov qword [rsp + 0x128], rsi
shl rax, 0x20
mov ecx, ecx
or rcx, rax
mov qword [rsp + 0x138], rcx
xor dl, 1
mov byte [rsp + 0x5f], dl
lea rax, [r8 + 8]
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x80], edi
movsxd rax, edi
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0xf0]
not eax
mov qword [rsp + 0x120], rax
xor ecx, ecx
movaps xmm6, xmmword [0x1403cd8e0]
mov qword [rsp + 0xb0], r15
jmp 0x1401fd5fd
mov dword [r14 + 0x88], esi
mov rbx, qword [rsp + 0xb0]
mov r15, rbx
add esi, 1
sub dword [r13 + 8], esi
lea rcx, [r14 + 0x40]
sub dword [r13 + 0xc], esi
call fcn.1401ecdd0
sub dword [r13 + 0x10], eax
mov rbp, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x98]
mov eax, dword [r14 + 0x3c]
add ecx, eax
add ecx, 1
cmp ecx, dword [r15 + 0x28]
jge 0x1401fe2e4
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 8]
movsxd rsi, ecx
mov r14, qword [rax + rsi*8]
mov rax, qword [rsp + 0xf8]
mov r12, qword [rax]
lea rax, [rsi + rsi*8]
lea rdi, [rax + rax*2]
add rdi, rsi
cmp byte [r12 + rdi + 0x18], 0
je 0x1401fd5ea
mov qword [rsp + 0x98], rcx
mov eax, dword [r14 + 0x38]
add eax, dword [rsp + 0x238]
mov ecx, dword [rsp + 0x110]
cmp ecx, eax
cmovl eax, ecx
mov rcx, qword [rsp + 0x140]
mov rcx, qword [rcx]
cdqe
lea rax, [rax + rax*2]
shl rax, 4
mov rdx, qword [rcx + rax + 0x14]
mov rcx, rdx
shr rcx, 0x20
mov eax, dword [rsp + 0x268]
mov qword [rsp + 0xb8], rdx
add edx, eax
mov rax, qword [r13 + 0x24]
mov byte [rsp + 0x53], 1
mov qword [rsp + 0x78], rdx
cmp edx, eax
jg 0x1401fd6aa
mov rdx, rax
shr rdx, 0x20
cmp dword [rsp + 0x78], eax
sete al
cmp edx, ecx
setl dl
and dl, al
mov byte [rsp + 0x53], dl
mov rdx, qword [rsp + 0x248]
mov eax, dword [rdx + 4]
mov edx, dword [rdx + 0xc]
mov dword [rsp + 0x104], eax
mov dword [rsp + 0x114], edx
mov dword [rsp + 0x10c], edx
mov edx, dword [rbp + 4]
mov eax, dword [rbp + 8]
mov ebp, dword [rbp + 0xc]
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0xcc], edx
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0xdc], ebp
mov dword [rsp + 0xd4], ebp
mov r8d, dword [r13 + 4]
mov dword [rsp + 0x54], 0
mov rbx, r13
mov r13d, 0
test r8d, r8d
mov rbp, qword [rsp + 0x258]
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x150], rdi
mov qword [rsp + 0x148], rsi
je 0x1401fd7b4
mov edx, dword [rbx]
call fcn.14027e6c0
mov r13d, eax
mov r8d, dword [rbx + 4]
test r8d, r8d
je 0x1401fd7ac
mov rax, qword [rsp + 0xf8]
mov ecx, dword [rax - 0x18]
mov edx, dword [rbx]
call fcn.14027e6c0
mov dword [rsp + 0x54], eax
mov r8d, dword [rbx + 4]
test r8d, r8d
je 0x1401fd7b4
mov ecx, dword [r12 + rdi]
mov edx, dword [rbx]
call fcn.14027e6c0
mov r8d, dword [rbx + 4]
mov dword [rsp + 0x100], eax
mov esi, eax
mov dword [rsp + 0xc8], eax
lea rcx, [r12 + rdi]
add rcx, 4
test r8d, r8d
mov qword [rsp + 0x68], rcx
je 0x1401fd7e3
mov ecx, dword [rcx]
mov edx, dword [rbx]
call fcn.14027e6c0
mov r12d, eax
jmp 0x1401fd7e6
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x100], 0
mov dword [rsp + 0xc8], 0
lea rax, [r12 + rdi]
add rax, 4
mov qword [rsp + 0x68], rax
xor r12d, r12d
mov r14d, dword [rsp + 0x64]
xor esi, esi
jmp 0x1401fd7eb
xor r12d, r12d
mov r14d, dword [rsp + 0x64]
mov rbx, r15
mov rdi, qword [rsp + 0xb8]
mov dword [rsp + 0x108], r12d
mov rcx, qword [rsp + 0x98]
test ecx, ecx
mov r15d, r13d
mov dword [rsp + 0x88], r13d
je 0x1401fd96f
sub esi, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x90]
call qword [rax]
cmp dword [rsp + 0xf0], edi
jne 0x1401fd866
mov ecx, r15d
mov r8d, dword [rsp + 0x54]
sub ecx, r8d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, rax
mov edx, esi
mov r15d, dword [rsp + 0x60]
mov r9d, r15d
call fcn.14017c910
jmp 0x1401fd94e
mov rcx, qword [rsp + 0x248]
mov ecx, dword [rcx + 0xc]
mov r8d, dword [rsp + 0x54]
sub ecx, r8d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, rax
mov edx, esi
mov r15d, dword [rsp + 0x60]
mov r9d, r15d
call fcn.14017c910
mov rax, qword [rsp + 0x78]
cmp dword [rsp + 0x80], eax
mov rbx, qword [rsp + 0x70]
mov edi, esi
mov r13, qword [rsp + 0x250]
jge 0x1401fd903
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xb8]
lea esi, [rax + rcx]
mov ebp, dword [rsp + 0x80]
nop dword [rax + rax]
mov rax, qword [rbx]
mov rcx, rbx
mov edx, ebp
call qword [rax]
mov r8d, dword [r13 + 4]
mov ecx, dword [r13 + 0xc]
sub ecx, r8d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, rax
mov edx, edi
mov r9d, r15d
call fcn.14017c910
add ebp, 1
add esi, 0xffffffff
jne 0x1401fd8d0
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rsp + 0x78]
call qword [rax]
mov r8d, dword [r13 + 4]
mov ecx, dword [rsp + 0x88]
sub ecx, r8d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, rax
mov edx, edi
mov r9d, r15d
call fcn.14017c910
mov rbx, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x258]
mov esi, edi
mov rdi, qword [rsp + 0xb8]
add esi, r15d
mov dword [rsp + 0x100], esi
mov dword [rsp + 0xc8], esi
mov rcx, qword [rsp + 0x98]
mov r15d, dword [rsp + 0x88]
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x3c]
add eax, ecx
mov ecx, dword [rbx + 0x28]
add ecx, 0xffffffff
cmp eax, ecx
jge 0x1401fd9bd
mov rax, qword [rsp + 0x260]
mov r8d, dword [rax + 4]
test r8d, r8d
je 0x1401fd9aa
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx]
mov edx, dword [rax]
call fcn.14027e6c0
mov r12d, eax
jmp 0x1401fd9ad
xor r12d, r12d
sub r12d, dword [rsp + 0x84]
mov dword [rsp + 0x108], r12d
mov r14, rdi
mov rdi, rbx
mov dword [rsp + 0x68], esi
mov dword [rsp + 0xd0], r12d
mov rax, qword [rsp + 0xf8]
cmp byte [rax + 8], 0
je 0x1401fda00
mov r13, qword [rsp + 0x260]
mov bl, byte [rsp + 0x53]
test bl, bl
mov rbx, rdi
mov rdi, r14
jne 0x1401fda63
jmp 0x1401fdc96
mov bl, byte [rsp + 0x53]
test bl, bl
mov r13, qword [rsp + 0x260]
je 0x1401fda49
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x90]
call qword [rax]
mov r9d, r12d
mov edx, dword [rsp + 0x68]
sub r9d, edx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x20], ecx
mov rcx, rax
mov r8d, dword [rsp + 0x54]
call fcn.14017c910
mov eax, dword [rsp + 0x54]
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x54], eax
test bl, bl
mov rbx, rdi
mov rdi, r14
je 0x1401fdc96
mov rax, rdi
movabs rcx, 0xffffffff00000000
and rax, rcx
mov rcx, qword [rsp + 0x78]
lea r14, [rcx + rax]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1401fdac2
mov rax, qword [rsp + 0xe0]
mov r8, qword [rax + 0x40]
mov rax, qword [rcx]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
mov rdx, qword [rsp + 0x98]
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x128]
mov r9d, dword [rsp + 0x238]
call qword [rax + 0x30]
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x148]
mov rcx, qword [rax + rcx*8]
cmp byte [rsp + 0x230], 0
je 0x1401fdaf6
mov r9, rdi
mov r8d, dword [rbx + 0xec]
mov esi, dword [rbx + 0xf4]
jmp 0x1401fdb3c
mov rax, qword [rsp + 0x90]
cmp eax, dword [rbx + 0xc0]
jne 0x1401fdb2c
mov r9, rdi
mov r8d, dword [rbx + 0xcc]
mov esi, dword [rbx + 0xd4]
mov rbp, rbx
mov ebx, dword [rbx + 0xdc]
sub ebx, r8d
mov edx, esi
sub edx, dword [rbp + 0xe4]
jmp 0x1401fdb40
mov r9, rdi
mov r8d, dword [rbx + 0xdc]
mov esi, dword [rbx + 0xe4]
xor ebx, ebx
xor edx, edx
mov rax, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x150]
mov ebp, dword [rax + rdi + 8]
mov edi, dword [rax + rdi + 0xc]
mov rax, qword [rsp + 0xe0]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x180], ebx
mov dword [rsp + 0x184], edx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x190], ebp
mov dword [rsp + 0x194], r8d
mov dword [rsp + 0x198], edi
mov dword [rsp + 0x19c], esi
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x98]
cmp eax, dword [r13 + 0x14]
setl dl
xor eax, eax
or dl, byte [rsp + 0x5f]
jne 0x1401fdc16
mov edx, dword [rsp + 0x238]
cmp dword [r13 + 0x18], edx
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x258]
mov rdi, r9
jg 0x1401fdc41
mov rdx, qword [rsp + 0xe8]
mov eax, dword [rdx + 0x3c]
add eax, dword [rsp + 0x98]
cmp eax, dword [r13 + 0x1c]
jle 0x1401fdc30
xor eax, eax
jmp 0x1401fdc41
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x258]
mov rdi, r9
jmp 0x1401fdc41
mov eax, dword [rdx + 0x38]
add eax, dword [rsp + 0x238]
cmp eax, dword [r13 + 0x20]
setle al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r15d
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov rdx, rsi
lea r8, [rsp + 0x160]
mov r9, r14
call fcn.1401fadd0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1401fdc96
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 0x38]
cmp dword [rsp + 0xf0], edi
jne 0x1401fdd40
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x58], eax
movaps xmmword [rsp + 0xa0], xmm6
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0xa0]
call fcn.140228750
mov rcx, qword [rbp + 0x30]
cdqe
shl rax, 4
mov edx, dword [rcx + rax]
mov ebp, dword [rsp + 0x68]
cmp edx, ebp
cmovl ebp, edx
mov edx, dword [rcx + rax + 4]
mov dword [rcx + rax], ebp
mov ebp, dword [rcx + rax + 8]
cmp ebp, r12d
cmovg r12d, ebp
mov dword [rcx + rax + 8], r12d
mov ebp, dword [rsp + 0x54]
cmp edx, ebp
cmovl ebp, edx
mov dword [rcx + rax + 4], ebp
mov edx, dword [rcx + rax + 0xc]
cmp edx, r15d
cmovg r15d, edx
mov dword [rcx + rax + 0xc], r15d
mov r14, qword [rsp + 0xe8]
mov esi, dword [r14 + 0x88]
test esi, esi
jns 0x1401fd5bf
jmp 0x1401fe22f
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x58], eax
movaps xmmword [rsp + 0xa0], xmm6
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0xa0]
call fcn.140228750
mov r15, qword [rbp + 0x30]
cdqe
shl rax, 4
mov ecx, dword [r15 + rax]
mov edx, dword [r15 + rax + 4]
mov esi, dword [rsp + 0x68]
cmp ecx, esi
cmovge ecx, esi
mov dword [r15 + rax], ecx
mov ecx, dword [r15 + rax + 8]
cmp ecx, r12d
cmovle ecx, r12d
mov ebx, dword [rsp + 0x54]
cmp edx, ebx
cmovl ebx, edx
mov dword [r15 + rax + 8], ecx
mov dword [r15 + rax + 4], ebx
mov ecx, dword [r15 + rax + 0xc]
mov edx, dword [rsp + 0x114]
cmp ecx, edx
cmovg edx, ecx
mov dword [r15 + rax + 0xc], edx
mov rbx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x78]
cmp dword [rsp + 0x80], eax
jge 0x1401fe190
nop dword [rax]
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x58], ebx
mov rdi, rbx
movabs rax, 0x8642b0fe3e86671b
imul rdi, rax
bswap rdi
or edi, 0x80000000
mov r14, qword [rbp + 8]
mov r8d, dword [rbp + 0x18]
mov esi, edi
and esi, r8d
mov ecx, dword [r14 + rsi*4]
test ecx, ecx
js 0x1401fde4a
mov rax, qword [rsp + 0x258]
mov rdx, qword [rax + 0x10]
mov rbp, qword [rax + 0x20]
mov r13d, ecx
nop word [rax + rax]
movsxd rax, r13d
cmp dword [rbp + rax*4], ebx
je 0x1401fdf00
lea rax, [rax + rax*2]
mov r13d, dword [rdx + rax*4]
cmp r13d, ecx
jne 0x1401fde30
mov r15, qword [rsp + 0x258]
mov r13d, dword [r15 + 0x28]
movsxd rbp, r13d
cmp ebp, dword [r15 + 0x2c]
jge 0x1401fde70
mov rax, qword [r15 + 0x20]
lea ecx, [rbp + 1]
mov dword [r15 + 0x28], ecx
mov dword [rax + rbp*4], ebx
jmp 0x1401fde89
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x58]
mov r8d, edi
call fcn.14010e5c0
mov r8d, dword [r15 + 0x18]
mov rcx, qword [r15 + 0x10]
lea rdx, [rbp*2]
add rdx, rbp
mov dword [rcx + rdx*4 + 4], edi
cmp ebp, r8d
jge 0x1401fdee0
lea rax, [r14 + rsi*4]
mov ebp, dword [rax]
lea rdi, [rcx + rdx*4]
test ebp, ebp
js 0x1401fdf0d
mov dword [rdi], ebp
movsxd rbp, dword [rax]
lea rbp, [rbp + rbp*2]
movsxd rbp, dword [rcx + rbp*4 + 8]
mov dword [rcx + rdx*4 + 8], ebp
lea rdx, [rbp + rbp*2]
mov dword [rcx + rdx*4], r13d
movsxd rax, dword [rax]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*4]
add rax, 8
jmp 0x1401fdf15
mov edx, dword [r15 + 0x28]
mov rcx, qword [rsp + 0xc0]
call fcn.140286270
mov rbp, r15
jmp 0x1401fdf20
mov rbp, qword [rsp + 0x258]
jmp 0x1401fe0a0
mov dword [rdi], r13d
mov dword [rcx + rdx*4 + 8], r13d
mov rbp, qword [rsp + 0x258]
mov dword [rax], r13d
movsxd rcx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x3c]
mov r15, qword [rbp + 0x30]
cmp ecx, eax
jge 0x1401fdf50
lea eax, [rcx + 1]
mov dword [rbp + 0x38], eax
shl rcx, 4
movups xmmword [r15 + rcx], xmm6
jmp 0x1401fe0a0
mov rcx, r15
cmp eax, 0x7fffffff
jne 0x1401fdf6d
lea rcx, [0x1403cf092]
call fcn.140255450
mov eax, dword [rbp + 0x3c]
mov rcx, qword [rbp + 0x30]
mov r14d, eax
sar r14d, 1
add r14d, eax
cmp eax, 0x55555554
mov edx, 0x7fffffff
cmovge r14d, edx
add eax, 1
cmp eax, r14d
cmovg r14d, eax
movsxd rsi, r14d
shl rsi, 4
mov qword [rsp + 0xa0], rsi
test cl, 0x10
je 0x1401fdfd0
lea rdx, [rsp + 0xa0]
call fcn.140309a70
test al, al
je 0x1401fdfd0
mov rdi, qword [rbp + 0x30]
mov qword [rbp + 0x30], 0
mov r9b, 1
jmp 0x1401fdfef
test r14d, r14d
je 0x1401fdfea
lea rcx, [rsp + 0xa0]
call fcn.140308c80
mov rdi, rax
xor r9d, r9d
jmp 0x1401fdfef
xor r9d, r9d
xor edi, edi
mov rax, qword [rsp + 0xa0]
sub rax, rsi
shr rax, 4
add eax, r14d
cmp r14d, 0x7fffffff
cmove eax, r14d
mov dword [rbp + 0x3c], eax
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x1401fe060
test rdi, rdi
je 0x1401fe060
movsxd r8, dword [rbp + 0x38]
cmp r8, 8
jb 0x1401fe03b
shl r8, 4
mov rcx, rdi
mov rsi, r9
call fcn.140252bb0
mov r9, rsi
jmp 0x1401fe060
mov rax, rdi
test r8b, 4
jne 0x1401fe12f
test r8b, 2
jne 0x1401fe15f
test r8b, 1
je 0x1401fe060
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
nop
mov qword [rbp + 0x30], rdi
movsxd rax, dword [rbp + 0x38]
lea ecx, [rax + 1]
mov dword [rbp + 0x38], ecx
shl rax, 4
movups xmmword [rdi + rax], xmm6
test r15, r15
sete al
or r9b, al
je 0x1401fe086
mov r15, rdi
jmp 0x1401fe0a0
mov rcx, r15
call fcn.140309590
mov r15, qword [rbp + 0x30]
nop word cs:[rax + rax]
nop dword [rax]
movsxd rax, r13d
shl rax, 4
mov ecx, dword [r15 + rax]
mov edx, dword [r15 + rax + 4]
mov edi, dword [rsp + 0x68]
cmp ecx, edi
cmovl edi, ecx
mov dword [r15 + rax], edi
mov ecx, dword [r15 + rax + 8]
cmp ecx, r12d
cmovg r12d, ecx
mov ecx, dword [rsp + 0x8c]
cmp edx, ecx
cmovl ecx, edx
mov dword [r15 + rax + 8], r12d
mov dword [r15 + rax + 4], ecx
mov ecx, dword [r15 + rax + 0xc]
mov edx, dword [rsp + 0xdc]
cmp ecx, edx
cmovg edx, ecx
mov dword [r15 + rax + 0xc], edx
add rbx, 1
mov esi, dword [rsp + 0xc8]
mov eax, dword [rsp + 0xcc]
mov r12d, dword [rsp + 0xd0]
cmp dword [rsp + 0x78], ebx
mov dword [rsp + 0x8c], eax
je 0x1401fe190
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0xdc], eax
jmp 0x1401fdde0
movups xmm0, xmmword [rdx]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rdi + 0x10], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rdi + 0x30], xmm0
lea rax, [rdi + 0x40]
add rdx, 0x40
test r8b, 2
je 0x1401fe052
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
add rdx, 0x20
test r8b, 1
jne 0x1401fe058
jmp 0x1401fe060
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x58], eax
movaps xmmword [rsp + 0xa0], xmm6
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0xa0]
call fcn.140228750
mov rcx, qword [rbp + 0x30]
cdqe
shl rax, 4
mov edx, dword [rcx + rax]
cmp edx, esi
cmovl esi, edx
mov edx, dword [rcx + rax + 4]
mov dword [rcx + rax], esi
mov ebp, dword [rcx + rax + 8]
cmp ebp, r12d
cmovg r12d, ebp
mov dword [rcx + rax + 8], r12d
mov ebp, dword [rsp + 0x8c]
cmp edx, ebp
cmovl ebp, edx
mov dword [rcx + rax + 4], ebp
mov edx, dword [rcx + rax + 0xc]
mov ebp, dword [rsp + 0x88]
cmp edx, ebp
cmovg ebp, edx
mov dword [rcx + rax + 0xc], ebp
mov rbx, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x260]
mov r14, qword [rsp + 0xe8]
mov esi, dword [r14 + 0x88]
test esi, esi
jns 0x1401fd5bf
mov eax, dword [r14 + 0x50]
lea esi, [rax - 1]
test eax, eax
jle 0x1401fd5b0
mov edi, 8
xor ebx, ebx
jmp 0x1401fe26e
mov rax, qword [rax + rdi]
mov eax, dword [rax + 0x28]
add esi, eax
add rbx, 1
movsxd rax, dword [r14 + 0x50]
add rdi, 0x10
cmp rbx, rax
jge 0x1401fd5b0
mov rax, qword [r14 + 0x48]
mov rcx, qword [rax + rdi]
test rcx, rcx
je 0x1401fe250
mov ebp, dword [rcx + 8]
movzx eax, byte [0x140602980]
test al, al
je 0x1401fe2a4
mov rax, qword [r14 + 0x48]
cmp ebp, dword [0x140602eac]
jne 0x1401fe250
mov rcx, qword [rax + rdi]
add rcx, 0x10
call fcn.1401ea5c0
jmp 0x1401fe257
lea rcx, [0x140602980]
call fcn.14035f9c4
test eax, eax
je 0x1401fe289
lea rcx, str.N3Upp9RichTableE
call fcn.14027a7e0
mov dword [0x140602eac], eax
lea rcx, [0x140602980]
call fcn.14035fa9b
mov r13, qword [rsp + 0x260]
mov r14, qword [rsp + 0xe8]
jmp 0x1401fe289
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 8]
test rcx, rcx
mov rsi, qword [rsp + 0xe0]
je 0x1401fe304
mov rdx, qword [rsi + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rax, qword [rsi + 0x40]
mov rcx, qword [r13 + 0x2c]
cmp eax, ecx
jge 0x1401fe314
xor eax, eax
jmp 0x1401fe32e
mov rdx, rcx
shr rdx, 0x20
mov rbp, rax
shr rbp, 0x20
cmp eax, ecx
setne cl
cmp ebp, edx
setge al
or al, cl
movaps xmm6, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret