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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x18009b200]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rsi, rcx
cmp qword [0x18009c7f0], 0
je 0x18005768a
mov rcx, qword [0x18009b680]
call fcn.180005d90
test al, al
jne 0x18005768a
mov rcx, qword [0x18009b680]
call fcn.1800161e0
test al, al
jne 0x18005768a
mov rcx, qword [0x18009c800]
call fcn.180007020
test al, al
je 0x18005768a
mov rcx, qword [0x18009c808]
call fcn.180007020
test al, al
je 0x180056c25
mov rcx, qword [0x18009c810]
call fcn.180007020
test al, al
je 0x18005768a
mov rcx, qword [0x18009c7f0]
mov rcx, qword [rcx + 0x88]
call fcn.180007020
test al, al
je 0x18005768a
mov rax, qword [0x18009c7f0]
mov r14d, dword [rax + 0x3c]
cmp r14d, 0xffffffff
je 0x18005768a
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006060
test eax, eax
jne 0x18005768a
mov rdi, qword [0x18009c7f0]
cmp byte [rdi + 0x20], al
je 0x180056cb1
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
mov rcx, rax
call fcn.180005b30
mov rcx, rax
call fcn.180005ae0
mov ebx, eax
mov rdi, qword [0x18009c7f0]
mov rcx, qword [rdi + 8]
call fcn.180068340
cmp ebx, eax
jne 0x18005768a
cmp byte [rdi + 0x21], 0
je 0x180056ccf
mov rcx, qword [0x18009b680]
call fcn.180005ee0
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x18005768a
mov rcx, rsi
call fcn.180005d80
mov rbx, qword [0x18009c7f0]
test al, al
jne 0x180056ceb
cmp byte [rbx + 0x29], al
je 0x18005768a
mov eax, dword [rbx + 0x44]
cmp eax, 2
jne 0x1800573e0
mov eax, dword [rbx + 0x40]
cmp eax, 2
jne 0x180057298
cmp qword [rbx + 0x58], 0
je 0x18005768a
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
xor r12d, r12d
mov qword [rbp + 7], r12
lea rcx, [rbx + 0x48]
mov dword [rsp + 0x30], 3
lea rdx, [rsp + 0x30]
call fcn.180026c10
test al, al
je 0x180056dc3
call fcn.180006e60
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, rdi
je 0x180056dbc
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180056db3
mov byte [rsp + 0x20], 0
lea r9, [0x18009db18]
mov r8b, 1
mov rax, qword [0x18009c7f0]
movss xmm1, dword [rax + 0x2c]
call fcn.180006410
test al, al
je 0x180056db3
mov rcx, qword [rbx]
call fcn.180005dd0
mov rcx, rax
call fcn.1800094b0
test al, al
je 0x180056db3
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x180056da7
mov rax, qword [rbx]
mov qword [rdx], rax
add qword [rbp - 1], 8
jmp 0x180056db3
mov r8, rbx
lea rcx, [rbp - 9]
call fcn.180012f20
add rbx, 8
cmp rbx, rdi
jne 0x180056d50
mov rbx, qword [0x18009c7f0]
lea rcx, [rbx + 0x48]
mov dword [rsp + 0x30], 1
lea rdx, [rsp + 0x30]
call fcn.180026c10
movss xmm7, dword [0x18008e69c]
test al, al
je 0x180056f2c
call fcn.180006e90
mov r15, qword [rax + 8]
mov rsi, qword [rax]
cmp rsi, r15
je 0x180056e85
nop
mov rcx, qword [rsi]
call fcn.180005dd0
mov rdi, rax
mov rcx, qword [0x18009b680]
call fcn.180005dd0
mov rbx, rax
mov rcx, qword [0x18009c7f0]
movaps xmm1, xmm7
movss xmm0, dword [rcx + 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
mov rdx, rbx
mov rcx, rdi
call fcn.180003a20
comiss xmm6, xmm0
jb 0x180056e78
mov rcx, qword [rsi]
call fcn.180005dd0
mov rcx, rax
call fcn.1800094b0
test al, al
je 0x180056e78
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x180056e6c
mov rax, qword [rsi]
mov qword [rdx], rax
add qword [rbp - 1], 8
jmp 0x180056e78
mov r8, rsi
lea rcx, [rbp - 9]
call fcn.180012f20
add rsi, 8
cmp rsi, r15
jne 0x180056e00
call fcn.180006ea0
mov r15, qword [rax + 8]
mov rsi, qword [rax]
cmp rsi, r15
je 0x180056f25
nop word [rax + rax]
mov rcx, qword [rsi]
call fcn.180005dd0
mov rdi, rax
mov rcx, qword [0x18009b680]
call fcn.180005dd0
mov rbx, rax
mov rcx, qword [0x18009c7f0]
movaps xmm1, xmm7
movss xmm0, dword [rcx + 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
mov rdx, rbx
mov rcx, rdi
call fcn.180003a20
comiss xmm6, xmm0
jb 0x180056f18
mov rcx, qword [rsi]
call fcn.180005dd0
mov rcx, rax
call fcn.1800094b0
test al, al
je 0x180056f18
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x180056f0c
mov rax, qword [rsi]
mov qword [rdx], rax
add qword [rbp - 1], 8
jmp 0x180056f18
mov r8, rsi
lea rcx, [rbp - 9]
call fcn.180012f20
add rsi, 8
cmp rsi, r15
jne 0x180056ea0
mov rbx, qword [0x18009c7f0]
lea rcx, [rbx + 0x48]
mov dword [rsp + 0x30], 2
lea rdx, [rsp + 0x30]
call fcn.180026c10
test al, al
je 0x180056fd3
call fcn.180006e70
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, rdi
je 0x180056fcc
nop dword [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180056fc3
mov byte [rsp + 0x20], 0
lea r9, [0x18009db18]
xor r8d, r8d
mov rax, qword [0x18009c7f0]
movss xmm1, dword [rax + 0x2c]
call fcn.180006410
test al, al
je 0x180056fc3
mov rcx, qword [rbx]
call fcn.180005dd0
mov rcx, rax
call fcn.1800094b0
test al, al
je 0x180056fc3
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x180056fb7
mov rax, qword [rbx]
mov qword [rdx], rax
add qword [rbp - 1], 8
jmp 0x180056fc3
mov r8, rbx
lea rcx, [rbp - 9]
call fcn.180012f20
add rbx, 8
cmp rbx, rdi
jne 0x180056f60
mov rbx, qword [0x18009c7f0]
lea rcx, [rbx + 0x48]
mov dword [rsp + 0x30], r12d
lea rdx, [rsp + 0x30]
call fcn.180026c10
test al, al
je 0x180057088
call fcn.180006e80
mov r15, qword [rax + 8]
mov rsi, qword [rax]
cmp rsi, r15
je 0x180057088
mov rcx, qword [rsi]
call fcn.180005dd0
mov rdi, rax
mov rcx, qword [0x18009b680]
call fcn.180005dd0
mov rbx, rax
mov rcx, qword [0x18009c7f0]
movaps xmm1, xmm7
movss xmm0, dword [rcx + 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
mov rdx, rbx
mov rcx, rdi
call fcn.180003a20
comiss xmm6, xmm0
jb 0x18005707b
mov rcx, qword [rsi]
call fcn.180005dd0
mov rcx, rax
call fcn.1800094b0
test al, al
je 0x18005707b
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x18005706f
mov rax, qword [rsi]
mov qword [rdx], rax
add qword [rbp - 1], 8
jmp 0x18005707b
mov r8, rsi
lea rcx, [rbp - 9]
call fcn.180012f20
add rsi, 8
cmp rsi, r15
jne 0x180057003
mov rcx, qword [rbp - 9]
mov rax, qword [rbp - 1]
cmp rcx, rax
je 0x180057252
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x41], rcx
mov qword [rbp - 0x39], rax
mov byte [rbp - 0x30], 1
mov qword [rbp - 0x29], 0xffffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r12
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x79], rax
mov byte [rbp - 0x70], 1
mov qword [rbp - 0x69], 0xffffffffffffffff
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x61]
call fcn.180026ca0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rbp - 0x59]
cmp rcx, 0xffffffffffffffff
jne 0x180057180
mov rax, qword [rbp - 0x61]
cmp rax, rdx
je 0x180057110
mov rdx, rax
mov qword [rbp - 0x59], rax
mov rax, qword [rsp + 0x48]
cmp rax, qword [rbp - 0x79]
je 0x180057155
mov r8, rax
mov qword [rsp + 0x40], rax
add rax, 8
mov qword [rsp + 0x48], rax
cmp rdx, qword [rbp - 0x51]
je 0x180057146
mov rax, qword [r8]
mov qword [rdx], rax
mov rdx, qword [rbp - 0x59]
add rdx, 8
mov qword [rbp - 0x59], rdx
jmp 0x180057110
lea rcx, [rbp - 0x61]
call fcn.180012f20
mov rdx, qword [rbp - 0x59]
jmp 0x180057110
mov rcx, qword [rbp - 0x61]
mov r8, rdx
sub r8, rcx
cmp r8, 8
jb 0x1800571b1
sar r8, 3
lea r9, [rsp + 0x40]
call fcn.1800543c0
mov qword [rbp - 0x69], r12
mov r8, r12
mov r9, qword [rbp - 0x61]
jmp 0x1800571ad
mov r9, qword [rbp - 0x61]
sub rdx, r9
sar rdx, 3
cmp rcx, rdx
jae 0x180057198
lea rax, [rcx + 1]
mov qword [rbp - 0x69], rax
lea r8, [rcx + 1]
cmovae r8, rcx
lea rax, [rcx + 1]
cmovae rax, rcx
cmp rax, rdx
jae 0x1800571b1
mov r12, qword [r9 + r8*8]
lea rcx, [rsp + 0x40]
call fcn.18001ff20
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x180057205
mov rax, qword [rbp - 0x11]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180057200
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180057200
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180080770
test r12, r12
je 0x18005724e
mov byte [rsp + 0x20], 0
lea r9, [0x18009db18]
xor r8d, r8d
mov rax, qword [0x18009c7f0]
movss xmm1, dword [rax + 0x2c]
mov rcx, r12
call fcn.180006410
test al, al
je 0x18005724e
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
xor r8d, r8d
mov rdx, r12
mov rcx, rax
call fcn.180005bd0
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x18005768a
mov rdx, qword [rbp + 7]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005728e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005728e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180080770
jmp 0x18005768a
cmp eax, 3
je 0x1800573ef
cmp eax, 1
je 0x180057665
test eax, eax
jne 0x18005768a
xorps xmm0, xmm0
xor r12d, r12d
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r12
cmp byte [rbx + 0x24], r12b
je 0x180057356
movsd xmm1, qword [0x18009db18]
movsd qword [rsp + 0x30], xmm1
mov eax, dword [0x18009db20]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea edx, [r12 + 2]
movss xmm0, dword [rbx + 0x2c]
call fcn.180012b60
mov rdi, rax
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x180057611
mov rdx, qword [rbp + 7]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180057600
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180057600
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movsd xmm0, qword [0x18009db18]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x18009db20]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea edx, [r9 + 2]
movss xmm0, dword [rbx + 0x2c]
call fcn.180012b60
mov rdi, rax
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x180057611
mov rdx, qword [rbp + 7]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180057600
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180057600
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp eax, 8
jne 0x18005740d
cmp dword [rbx + 0x40], 3
jne 0x18005768a
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
xor edx, edx
mov rcx, rax
call fcn.180005b50
jmp 0x18005768a
test eax, eax
jne 0x180057421
mov eax, dword [rbx + 0x40]
cmp eax, 3
je 0x1800573ef
cmp eax, 1
jmp 0x180057663
cmp eax, 1
jne 0x180057459
cmp dword [rbx + 0x40], eax
jne 0x18005768a
cmp byte [rbx + 0x24], 0
je 0x180057665
mov rcx, qword [rbx + 0x18]
call fcn.180067af0
mov edx, eax
mov rcx, rsi
call fcn.180006200
test al, al
je 0x18005768a
jmp 0x180057665
cmp eax, 5
je 0x1800573e5
cmp eax, 3
jne 0x1800574ab
cmp dword [rbx + 0x40], eax
jne 0x18005768a
cmp byte [rbx + 0x24], 0
je 0x18005748d
mov rcx, qword [rbx + 0x18]
call fcn.180067af0
mov edx, eax
mov rcx, rsi
call fcn.180006200
test al, al
je 0x18005768a
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
xor edx, edx
mov rcx, rax
call fcn.180005b50
jmp 0x18005768a
cmp eax, 9
jne 0x18005768a
mov eax, dword [rbx + 0x40]
cmp eax, 3
jne 0x1800574d6
mov rcx, qword [rbx + 0x18]
call fcn.180067af0
mov edx, eax
mov rcx, rsi
call fcn.180006200
test al, al
jmp 0x1800573e9
test eax, eax
jne 0x18005768a
xorps xmm0, xmm0
xor r12d, r12d
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r12
cmp byte [rbx + 0x24], r12b
je 0x180057582
movsd xmm0, qword [0x18009db18]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x18009db20]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea edx, [r12 + 2]
movss xmm0, dword [rbx + 0x2c]
call fcn.180012b60
mov rdi, rax
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x180057611
mov rdx, qword [rbp + 7]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180057600
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180057600
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movsd xmm0, qword [0x18009db18]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x18009db20]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea edx, [r9 + 2]
movss xmm0, dword [rbx + 0x2c]
call fcn.180012b60
mov rdi, rax
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x180057611
mov rdx, qword [rbp + 7]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180057600
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180057600
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180080770
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r12
test rdi, rdi
je 0x180057665
mov byte [rsp + 0x20], 0
lea r9, [0x18009db18]
mov r8b, 1
movss xmm1, dword [0x18008e6dc]
mov rcx, rdi
call fcn.180006410
test al, al
je 0x180057665
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
mov rbx, rax
mov rcx, rdi
call fcn.180005dd0
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.180005c50
test al, al
jne 0x18005768a
mov edx, r14d
mov rcx, qword [0x18009b680]
call fcn.180006050
mov rbx, rax
call fcn.180006f30
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.180005c50
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.180080b80
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret