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

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov r12d, dword [rcx + 0x20]
xor ebx, ebx
mov qword [r11 + 0x20], r13
mov rdi, rcx
mov r13d, dword [rcx + 0x1c]
mov esi, edx
mov rcx, qword [rcx + 8]
mov qword [r11 - 0x38], r15
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x34], r12d
test r13d, r13d
je 0x1400571c0
test r12d, r12d
je 0x1400571c0
mov rax, qword [rcx]
xorps xmm0, xmm0
mov edx, r13d
imul edx, r12d
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
call qword [rax + 8]
mov qword [rbp - 0x20], rax
mov r14, rax
test rax, rax
je 0x140056c80
mov qword [rbp + 8], rax
mov r15d, r13d
mov eax, r13d
mov dword [rbp], r13d
mov dword [rbp - 0xc], eax
mov dword [rbp - 8], r12d
mov dword [rbp - 0x10], 0x40000001
mov dword [rsp + 0x30], r12d
jmp 0x140056cbf
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0
movups xmmword [rbp], xmm0
mov r14, qword [rbp + 8]
mov ebx, 0xfffffffd
mov r13d, dword [rbp]
xor r15d, r15d
movups xmmword [rbp - 0x10], xmm0
mov r12d, dword [rbp - 8]
mov eax, dword [rbp - 0xc]
mov qword [rbp - 0x20], r14
movups xmmword [rbp + 0x10], xmm0
mov dword [rsp + 0x34], r12d
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
test ebx, ebx
jne 0x1400571c5
mov rcx, qword [rsp + 0x58]
xor edx, edx
mov r9d, 3
mov dword [rsp + 0x20], 1
mov qword [rcx], rdx
mov dword [rcx + 8], eax
mov dword [rcx + 0xc], r12d
mov eax, dword [rdi + 0x1c]
imul eax, esi
div dword [rdi + 0x184]
mov ecx, eax
mov dword [rsp + 0x3c], eax
shr ecx, 2
mov esi, eax
mov eax, 0xaaaaaaab
mov dword [rsp + 0x40], ecx
mul ecx
mov rcx, rdi
shr edx, 1
cmp edx, r9d
cmovg r9d, edx
xor r8d, r8d
lea rdx, [rdi + 0x18]
call fcn.1400821c0
mov ebx, eax
test eax, eax
jne 0x1400571c5
mov r9d, esi
mov dword [rsp + 0x20], 1
shr r9d, 4
lea rdx, [rdi + 0x18]
xor r8d, r8d
mov rcx, rdi
call fcn.1400821c0
mov ebx, eax
test eax, eax
jne 0x1400571c5
mov eax, dword [rdi + 0x1c]
xor edx, edx
shl eax, 0xa
div dword [rdi + 0x184]
xor edx, edx
mov dword [rsp + 0x54], eax
mov eax, dword [rdi + 0x20]
shl eax, 0xa
div dword [rdi + 0x188]
cmp dword [rdi + 0x33c], 2
mov dword [rsp + 0x50], eax
jne 0x140056f99
imul r15d, dword [rsp + 0x30]
mov edx, 0xff
mov rcx, r14
mov r8d, r15d
call fcn.1400fd5ea
mov r10d, dword [rdi + 0x110]
mov r9, qword [rdi + 0x108]
test r10d, r10d
je 0x140056efe
add r9, 0x10
mov qword [rsp + 0x48], r9
nop dword [rax]
dec r10d
cmp dword [r9 + 0x88], 0
mov dword [rsp + 0x38], r10d
je 0x140056ee5
cmp dword [rbp - 0xc], r12d
mov eax, r12d
mov ecx, dword [rdi + 0x184]
cmovg eax, dword [rbp - 0xc]
mov r8d, dword [rdi + 0x188]
shl eax, 0xa
cdq
cmp ecx, r8d
cmovg r8d, ecx
mov ecx, dword [r9 - 8]
idiv r8d
imul ecx, eax
mov r8d, eax
mov eax, dword [r9 - 4]
imul eax, r8d
mov ebx, ecx
sar ebx, 0x1f
mov r15d, eax
add ebx, ecx
mov ecx, dword [r9 + 4]
imul ecx, r8d
sar r15d, 0x1f
add r15d, eax
sar ebx, 9
mov eax, r8d
sar r15d, 9
imul eax, dword [r9]
inc ebx
inc r15d
sar ebx, 1
mov r11d, ecx
sar r15d, 1
sar r11d, 0x1f
add r11d, ecx
mov esi, eax
sar r11d, 9
sar esi, 0x1f
inc r11d
add esi, eax
sar r11d, 1
sar esi, 9
mov eax, 0x55555556
inc esi
sar esi, 1
imul esi
mov eax, 0x2aaaaaab
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
sub esi, r8d
imul esi
mov eax, edx
shr eax, 0x1f
add edx, eax
sub r11d, edx
cmp dword [rbp - 0x10], 0x40000001
jne 0x140056ee5
shr r8d, 1
mov eax, r13d
add r8d, ebx
imul eax, r15d
movsxd rcx, r8d
movsxd rbx, eax
lea rax, [r14 + rcx]
add rbx, rax
test r11d, r11d
jle 0x140056ee5
movsxd r15, esi
mov esi, r11d
movsxd r12, r13d
nop word [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rbx
call fcn.1400fd5ea
add rbx, r12
sub rsi, 1
jne 0x140056ec0
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x34]
add r9, 0x208
mov qword [rsp + 0x48], r9
test r10d, r10d
jne 0x140056dc0
mov esi, dword [rsp + 0x3c]
mov r15d, esi
mov eax, 3
shr r15d, 3
mov esi, 2
cmp r15d, 3
cmovb r15d, eax
cmp r15d, 1
jbe 0x140056f7c
mov eax, dword [rbp - 0xc]
xor r14d, r14d
mov qword [rbp - 0x20], r14
mov dword [rdi + 0x3c8], r14d
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], r12d
nop word [rax + rax]
mov r9d, r15d
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x10]
mov rcx, rdi
dec esi
call fcn.140086610
mov ebx, eax
test eax, eax
jne 0x1400571c5
test esi, esi
jne 0x140056f40
test eax, eax
jne 0x1400571c5
mov r14, qword [rbp + 8]
mov r12d, dword [rbp - 8]
mov qword [rbp - 0x20], r14
mov dword [rsp + 0x34], r12d
lea r9, [rbp - 0x10]
mov r8d, r15d
lea rdx, [rdi + 0x18]
mov rcx, rdi
call fcn.140076990
mov ebx, eax
test eax, eax
jne 0x1400571c5
cmp dword [rdi + 0x33c], 1
jne 0x1400571c5
mov r8d, dword [rdi + 0x1c]
xor edx, edx
imul r8d, dword [rdi + 0x20]
mov rcx, r14
call fcn.1400fd5ea
mov eax, dword [rdi + 0x110]
mov r15d, r12d
mov esi, dword [rbp - 0xc]
xor r12d, r12d
mov rbx, qword [rdi + 0x108]
xor r13d, r13d
test eax, eax
je 0x140057190
mov r14d, r12d
nop dword [rax]
dec eax
cmp dword [rbx + 0x98], 0
mov dword [rsp + 0x48], eax
je 0x140057055
mov r9d, dword [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov r8d, dword [rsp + 0x54]
mov rcx, rbx
call fcn.14009f0e0
lea rdx, [rbp - 0x30]
mov r8b, 0xff
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x10]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140061af0
mov ecx, dword [rbp - 0x30]
mov r14d, 1
mov edx, dword [rbp - 0x2c]
cmp ecx, esi
mov eax, dword [rsp + 0x48]
cmovl esi, ecx
cmp edx, r15d
cmovl r15d, edx
add ecx, dword [rbp - 0x28]
cmp ecx, r12d
cmovg r12d, ecx
mov ecx, dword [rbp - 0x24]
add ecx, edx
cmp ecx, r13d
cmovg r13d, ecx
add rbx, 0x208
test eax, eax
jne 0x140056fe0
test r14d, r14d
mov dword [rsp + 0x38], r12d
mov r14, qword [rbp - 0x20]
mov dword [rsp + 0x30], r13d
je 0x140057190
mov r10d, 3
cmp dword [rsp + 0x40], r10d
mov eax, r10d
mov r12d, r10d
cmova eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
cmp eax, 1
ja 0x14005709a
xor ebx, ebx
jmp 0x1400570f8
mov eax, dword [rbp - 0xc]
xor ecx, ecx
mov r13d, dword [rsp + 0x40]
mov dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x34]
mov dword [rbp - 0x24], eax
mov qword [rbp - 0x30], rcx
mov dword [rdi + 0x3c8], ecx
nop dword [rax + rax]
mov r9d, r13d
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
mov rcx, rdi
dec r12d
call fcn.140086610
mov ebx, eax
test eax, eax
jne 0x1400570e3
test r12d, r12d
jne 0x1400570c0
test eax, eax
mov r13d, dword [rsp + 0x30]
jne 0x1400571c5
mov r14, qword [rbp + 8]
mov r10d, 3
mov r9d, dword [rsp + 0x38]
cmp r9d, esi
jbe 0x140057160
cmp r13d, r15d
jbe 0x140057160
mov r11, qword [rsp + 0x58]
mov eax, dword [rsp + 0x3c]
lea eax, [rax + rax*2]
shr eax, 3
cmp eax, 3
cmova r10d, eax
xor edx, edx
sub esi, r10d
test esi, esi
cmovg edx, esi
lea eax, [r10 + r9]
sub r15d, r10d
mov dword [r11], edx
xor r8d, r8d
test r15d, r15d
cmovg r8d, r15d
mov dword [r11 + 4], r8d
mov ecx, dword [rdi + 0x1c]
cmp eax, ecx
cmovl ecx, eax
lea eax, [r10 + r13]
sub ecx, edx
mov dword [r11 + 8], ecx
mov ecx, dword [rdi + 0x20]
cmp eax, ecx
cmovl ecx, eax
sub ecx, r8d
mov dword [r11 + 0xc], ecx
mov r8d, dword [rdi + 0x20]
imul r8d, dword [rdi + 0x1c]
mov rdx, qword [rdi + 0x30]
nop dword [rax]
movzx ecx, byte [r14]
lea r14, [r14 + 1]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
imul ecx, eax
shr ecx, 8
mov byte [rdx - 1], cl
add r8d, 0xffffffff
jne 0x140057170
jmp 0x1400571c5
mov eax, dword [rsp + 0x3c]
lea rdx, [rdi + 0x18]
shr eax, 3
mov ecx, 3
cmp eax, 3
mov dword [rsp + 0x20], 1
cmovb eax, ecx
xor r8d, r8d
mov r9d, eax
mov rcx, rdi
call fcn.1400821c0
mov ebx, eax
jmp 0x1400571c5
mov ebx, 0xfffffffc
mov eax, dword [rbp - 0x10]
xor r12d, r12d
mov r14, qword [rdi + 8]
mov edi, r12d
mov r15, qword [rsp + 0x150]
mov r13, qword [rsp + 0x1a8]
shr eax, 0x14
and eax, 3
add eax, 1
je 0x140057222
nop dword [rax]
mov eax, edi
lea rsi, [rbp + 8]
shl rax, 4
add rsi, rax
mov rdx, qword [rsi]
test rdx, rdx
je 0x140057211
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov qword [rsi], r12
mov eax, dword [rbp - 0x10]
inc edi
shr eax, 0x14
and eax, 3
inc eax
cmp edi, eax
jb 0x1400571f0
mov eax, ebx
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1400fc4b0
add rsp, 0x158
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret