Function at 0x14005c590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rdi
push r13
sub rsp, 0xa0
mov eax, dword [rdx + 0x10]
xor edi, edi
mov dword [rsp + 0x28], eax
mov r13, rcx
mov rax, qword [rcx + 0x200]
xor ebx, ebx
mov ecx, dword [rcx + 0x1e8]
mov dword [rsp + 0xd8], edi
mov qword [rsp + 0x68], rax
cmp ecx, 0x20200001
ja 0x14005c606
lea eax, [rcx - 0x10200001]
test eax, 0xefffffff
je 0x14005c624
lea eax, [rcx - 0x20000001]
cmp eax, 1
ja 0x14005c613
xor r8d, r8d
mov dword [rsp + 0xd0], 2
cmp ecx, 0x20000001
setne r8b
mov qword [rsp + 0x58], r8
jmp 0x14005c634
lea eax, [rcx - 0x30100001]
test eax, 0xffefffff
je 0x14005c624
mov eax, 0xfffffffa
add rsp, 0xa0
pop r13
pop rdi
pop rbx
ret
mov dword [rsp + 0xd0], 1
mov qword [rsp + 0x58], rbx
mov eax, dword [r13 + 0x1ec]
mov qword [rsp + 0x98], rbp
shl eax, 0x10
cdq
mov qword [rsp + 0x90], rsi
and edx, 3
mov qword [rsp + 0x88], r12
mov r12, qword [r13 + 8]
lea rsi, [r13 + 0xb8]
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x78], r15
xor r15d, r15d
lea ebp, [rdx + rax]
mov eax, dword [r13 + 0x1f0]
shl eax, 0x10
sar ebp, 2
cdq
and edx, 3
add ebp, 0xffff
sar ebp, 0x10
lea r14d, [rdx + rax]
sar r14d, 2
add r14d, 0xffff
sar r14d, 0x10
test rsi, rsi
je 0x14005cb95
test ebp, ebp
je 0x14005cb95
test r14d, r14d
je 0x14005cb95
xorps xmm0, xmm0
mov edx, r14d
movups xmmword [rsi], xmm0
mov rcx, r12
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
mov rax, qword [r12]
imul edx, ebp
call qword [rax + 8]
test rax, rax
je 0x14005c700
mov qword [rsi + 0x18], rax
mov dword [rsi + 0x10], ebp
mov dword [rsi + 4], ebp
mov dword [rsi + 8], r14d
mov dword [rsi], 0x40000001
jmp 0x14005c733
mov rdx, qword [rsi + 0x18]
mov r15d, 0xfffffffd
test rdx, rdx
je 0x14005c71d
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov qword [rsi + 0x18], rbx
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
test r15d, r15d
jne 0x14005cb9b
mov r8d, dword [r13 + 0xc0]
xor edx, edx
imul r8d, dword [r13 + 0xbc]
mov rcx, qword [r13 + 0xd0]
call fcn.1400fd5ea
mov r15, qword [r13 + 0x108]
xor eax, eax
mov qword [rsp + 0x60], r15
mov dword [rsp + 0xc0], eax
cmp dword [r13 + 0x110], eax
jbe 0x14005cb91
nop dword [rax + rax]
cmp dword [r15 + 0x98], 0
je 0x14005cb64
cmp dword [r15 + 0x28], 0
je 0x14005cb64
cmp dword [r15 + 0x38], 0
je 0x14005cb64
mov r9d, dword [r13 + 0x188]
lea rdx, [rsp + 0x30]
mov r8d, dword [r13 + 0x184]
mov rcx, r15
call fcn.14009aec0
mov eax, dword [r13 + 0x1f0]
xor edx, edx
mov r12d, dword [r13 + 0x20]
xor r14d, r14d
shl eax, 0xa
div dword [r13 + 0x188]
xor edx, edx
mov r9d, eax
mov eax, dword [r13 + 0x1ec]
shl eax, 0xa
div dword [r13 + 0x184]
mov r8d, eax
mov ecx, eax
imul ecx, dword [rsp + 0x30]
imul r8d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x34]
imul eax, r9d
mov r10d, ecx
sar r10d, 0x1f
mov esi, r8d
add r10d, ecx
sar esi, 0x1f
mov edx, eax
sar r10d, 9
add esi, r8d
sar edx, 0x1f
add edx, eax
sar esi, 9
mov eax, dword [rsp + 0x3c]
inc r10d
imul eax, r9d
inc esi
sar edx, 9
inc edx
sar r10d, 1
sar edx, 1
mov ecx, r10d
shl ecx, 0xd
mov ebp, eax
sar esi, 1
sar ebp, 0x1f
add ecx, 0xffff
add ebp, eax
sar ecx, 0x10
sar ebp, 9
mov eax, edx
shl eax, 0xd
inc ebp
add eax, 0xffff
sar ebp, 1
sar eax, 0x10
mov r9d, ebp
shl r9d, 0xd
mov r11d, esi
shl r11d, 0xd
add r9d, 0xffff
add r11d, 0xffff
sar r9d, 0x10
sar r11d, 0x10
test eax, eax
cmovg r14d, eax
xor r8d, r8d
test ecx, ecx
mov dword [rsp + 0x40], r14d
mov eax, r12d
mov dword [rsp + 0x34], r14d
cmovg r8d, ecx
sub eax, r14d
cmp eax, r9d
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x30], r8d
cmovl r9d, eax
mov eax, dword [r13 + 0x1c]
sub eax, r8d
mov dword [rsp + 0x3c], r9d
cmp eax, r11d
cmovl r11d, eax
mov r8d, dword [r13 + 0xbc]
shl esi, 0xe
xor edi, edi
shl ebp, 0xe
add esi, 0xffff
mov eax, edx
sar esi, 0x10
shl eax, 0xe
add ebp, 0xffff
add eax, 0xffff
sar ebp, 0x10
sar eax, 0x10
mov ecx, r10d
shl ecx, 0xe
add ecx, 0xffff
mov dword [rsp + 0x44], r8d
sar ecx, 0x10
test eax, eax
mov dword [rsp + 0x38], r11d
cmovg edi, eax
mov eax, dword [r13 + 0xc0]
mov dword [rsp + 0x24], edi
xor edi, edi
test ecx, ecx
cmovg edi, ecx
sub eax, dword [rsp + 0x24]
cmp eax, ebp
mov dword [rsp + 0x48], edi
cmovl ebp, eax
mov eax, r8d
sub eax, edi
mov edi, dword [rsp + 0xd8]
cmp eax, esi
cmovl esi, eax
imul edx, dword [r13 + 0x1f8]
imul r10d, dword [rsp + 0xd0]
mov dword [rsp + 0x4c], esi
mov esi, dword [rsp + 0x28]
movsxd rcx, edx
mov rdx, qword [rsp + 0xc8]
mov eax, r10d
xor r10d, r10d
add rax, qword [rsp + 0x58]
add rcx, rax
mov rax, qword [rsp + 0x68]
mov r8, qword [rdx + 0x18]
add rax, rcx
mov rdx, qword [r13 + 0x30]
mov ecx, r14d
imul ecx, esi
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x20]
add r8, rcx
add rdx, rcx
add r8, rax
add rdx, rax
test r9d, r9d
je 0x14005ca08
mov eax, dword [r13 + 0x28]
sub esi, r11d
sub eax, r11d
movsxd r14, eax
nop
dec r9d
mov ecx, r11d
test r11d, r11d
je 0x14005c9f8
nop dword [rax + rax]
dec ecx
cmp byte [rdx], 0
je 0x14005c9e7
movzx eax, byte [r8]
inc edi
cmp r10d, eax
cmovg eax, r10d
mov r10d, eax
inc r8
inc rdx
test ecx, ecx
jne 0x14005c9d0
mov dword [rsp + 0xd8], edi
add r8, rsi
add rdx, r14
test r9d, r9d
jne 0x14005c9c0
mov r14d, dword [rsp + 0x40]
test edi, edi
je 0x14005cb5d
mov eax, dword [r13 + 0x28]
mov r11d, r10d
mov edx, dword [rsp + 0x44]
imul edx, dword [rsp + 0x24]
mov r15d, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x28]
imul eax, r14d
movsxd r14, dword [rsp + 0x20]
movsxd rcx, eax
mov rax, qword [r13 + 0x30]
add rax, rcx
mov rcx, qword [rsp + 0x50]
add r14, rax
movsxd rax, dword [rsp + 0x48]
add rdx, rax
mov eax, 0xe6
add rdx, qword [r13 + 0xd0]
cmp r10d, eax
cmovg r11d, eax
mov eax, dword [rsp + 0xd0]
and ebp, 0xfffffffe
and r12d, 0xfffffffe
lea esi, [rax*4]
nop dword [rax]
nop dword [rax + rax]
mov r9, rcx
mov r8, r14
mov eax, r15d
nop dword [rax]
cmp byte [r8], 0
je 0x14005caa4
movzx ecx, byte [r9]
cmp ecx, r11d
jbe 0x14005caa4
mov byte [rdx], 0xff
inc ebx
mov ecx, eax
inc rdx
and ecx, 1
add r9, rsi
add r8, rcx
dec eax
test eax, eax
jg 0x14005ca90
mov rcx, qword [rsp + 0x50]
mov eax, ebp
and eax, 1
dec ebp
imul eax, edi
add r14, rax
mov eax, dword [r13 + 0x1f8]
shl eax, 2
cdqe
add rcx, rax
mov eax, dword [r13 + 0xbc]
sub eax, r15d
mov qword [rsp + 0x50], rcx
add rdx, rax
test ebp, ebp
jle 0x14005caf7
dec r12d
test r12d, r12d
jg 0x14005ca80
mov edi, dword [rsp + 0xd8]
mov r15, qword [rsp + 0x60]
test ebx, ebx
je 0x14005cb5d
mov eax, dword [r15 + 0x14]
lea ecx, [rdi + rdi]
mov r8d, dword [r15 + 0x10]
imul edx, ebx, 0x64
cmp edx, ecx
jbe 0x14005cb2b
cmp r8d, eax
cmovg eax, r8d
cdq
and edx, 0xf
add eax, edx
sar eax, 4
jmp 0x14005cb3b
cmp r8d, eax
cmovg eax, r8d
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov byte [r15 + 0x8c], al
mov eax, dword [rsp + 0xc0]
mov dword [r15 + 0x90], r10d
mov dword [r15 + 0x80], 1
jmp 0x14005cb6f
mov eax, dword [rsp + 0xc0]
mov dword [r15 + 0x80], 0
inc eax
add r15, 0x208
mov dword [rsp + 0xc0], eax
mov qword [rsp + 0x60], r15
cmp eax, dword [r13 + 0x110]
jb 0x14005c780
xor eax, eax
jmp 0x14005cb9e
mov r15d, 0xfffffffc
mov eax, r15d
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov r15, qword [rsp + 0x78]
add rsp, 0xa0
pop r13
pop rdi
pop rbx
ret