Function at 0x180508630
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, 0x188
movapd xmmword [rsp + 0x170], xmm9
movapd xmmword [rsp + 0x160], xmm8
movapd xmmword [rsp + 0x150], xmm7
movapd xmmword [rsp + 0x140], xmm6
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], r8
movabs rax, 0x2c0000002c
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0xe8], 1
mov word [rsp + 0xf0], 1
lea rcx, [rsp + 0xb0]
call fcn.180507d80
test rax, rax
je 0x180508b5a
mov rcx, qword [rsp + 0x20]
lea r8, [rcx + 0xc]
mov qword [rsp + 0x80], r8
lea r8, [rcx + 0x18]
mov qword [rsp + 0x98], r8
lea r8, [rcx + 0x24]
mov qword [rsp + 0x78], r8
lea r8, [rcx + 0x30]
mov qword [rsp + 0x70], r8
lea r8, [rcx + 0x3c]
mov qword [rsp + 0x68], r8
lea r8, [rcx + 0x34]
mov qword [rsp + 0x60], r8
lea r8, [rcx + 0x38]
mov qword [rsp + 0x58], r8
lea r8, [rcx + 0x28]
mov qword [rsp + 0x50], r8
lea r8, [rcx + 0x2c]
mov qword [rsp + 0x48], r8
lea r8, [rcx + 0x1c]
mov qword [rsp + 0x90], r8
lea r8, [rcx + 0x20]
mov qword [rsp + 0x88], r8
lea r8, [rcx + 0x40]
mov qword [rsp + 0x40], r8
lea r8, [rcx + 0x44]
mov qword [rsp + 0x38], r8
lea r8, [rcx + 0x10]
mov qword [rsp + 0x30], r8
lea rcx, [rcx + 0x14]
mov qword [rsp + 0x28], rcx
movsd xmm7, qword [0x1806d1ad0]
xorpd xmm8, xmm8
movsd xmm9, qword [0x1806d1ad8]
movabs rsi, 0x3a0000003a
lea rdi, [rsp + 0xf8]
lea r12, [rsp + 0xb0]
lea r13, [rsp + 0xa0]
lea r14, [0x1806d1ca8]
jmp 0x1805087f1
movabs rsi, 0x3a0000003a
lea r12, [rsp + 0xb0]
lea r13, [rsp + 0xa0]
nop word cs:[rax + rax]
mov rcx, r12
call fcn.180507d80
test rax, rax
je 0x180508b5a
mov rcx, rax
call fcn.180518030
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rsi
mov byte [rsp + 0x130], 1
mov word [rsp + 0x138], 1
mov rcx, rdi
call fcn.180507d80
test rax, rax
je 0x1805087e0
mov r8, rdx
mov rcx, r13
mov rdx, rax
call fcn.18068b090
cmp byte [rsp + 0xa0], 0
jne 0x1805087e0
movsd xmm6, qword [rsp + 0xa8]
mov rcx, rdi
call fcn.180507d80
test rax, rax
je 0x1805087e0
mov r15, rax
mov rbx, rdx
mov rcx, rdi
call fcn.180507d80
test rax, rax
je 0x1805087e0
call fcn.180670410
mov ebp, eax
mov r13d, edx
movapd xmm0, xmm6
call fcn.18069c4c4
cvttsd2si rax, xmm0
mov rcx, rax
sar rcx, 0x3f
movapd xmm1, xmm0
subsd xmm1, xmm7
cvttsd2si rdx, xmm1
and rdx, rcx
or rdx, rax
ucomisd xmm0, xmm8
mov r8d, 0
cmovae r8, rdx
ucomisd xmm0, xmm9
mov rax, 0xffffffffffffffff
cmova r8, rax
mov ecx, ebp
mov edx, r13d
xor r9d, r9d
call fcn.1806704e0
mov ebp, eax
mov r13d, edx
test rbx, rbx
jne 0x18050891f
mov rax, qword [rsp + 0x20]
mov dword [rax], 1
mov dword [rax + 4], ebp
mov dword [rax + 8], r13d
xor r12d, r12d
xor ecx, ecx
jmp 0x180508944
mov dword [rdx], 1
mov dword [r8], ebp
mov dword [r9], r13d
test al, al
je 0x1805087b9
mov rsi, rcx
cmp rbx, r12
jae 0x18050896c
xor eax, eax
mov rcx, rsi
jmp 0x1805089e8
mov r12, r8
cmp r8, rbx
ja 0x180508b4d
mov r8, rbx
sub r8, r12
lea rax, [r15 + r12]
cmp r8, 0xf
ja 0x1805089a0
cmp rbx, r12
je 0x1805089e0
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0x3b
je 0x1805089b0
inc rdx
cmp r8, rdx
jne 0x180508990
jmp 0x1805089e0
mov cl, 0x3b
mov rdx, rax
call fcn.180688b70
cmp rax, 1
jne 0x1805089cb
lea r8, [rdx + r12]
inc r8
add rdx, r12
cmp rdx, rbx
jae 0x180508960
cmp byte [r15 + rdx], 0x3b
jne 0x180508960
jmp 0x180508b2f
mov r8, rbx
test rax, rax
jne 0x180508b2f
nop word [rax + rax]
xor eax, eax
mov rcx, rsi
mov r12, rbx
mov rdx, rbx
sub rdx, rsi
add rdx, 0xfffffffffffffffb
cmp rdx, 6
ja case.0x180508a03.8
movsxd rdx, dword [r14 + rdx*4]
add rdx, r14
jmp rdx
mov edx, dword [r15 + rsi]
mov r8d, 0x6f727265
xor edx, r8d
movzx r8d, byte [r15 + rsi + 4]
xor r8d, 0x72
or r8d, edx
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
jne case.0x180508a03.8
jmp 0x180508930
mov edx, dword [r15 + rsi]
mov r8d, 0x73736573
xor edx, r8d
mov r8d, dword [r15 + rsi + 3]
mov r9d, 0x6e6f6973
xor r8d, r9d
or r8d, edx
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
jne case.0x180508a03.8
jmp 0x180508930
mov edx, dword [r15 + rsi]
mov r8d, 0x74617473
xor edx, r8d
movzx r8d, word [r15 + rsi + 4]
xor r8d, 0x6473
or r8d, edx
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jne case.0x180508a03.8
jmp 0x180508930
mov rdx, qword [r15 + rsi]
movabs r8, 0x656d686361747461
xor rdx, r8
movzx r8d, word [r15 + rsi + 8]
xor r8, 0x746e
or r8, rdx
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
jne case.0x180508a03.8
jmp 0x180508930
mov rdx, qword [r15 + rsi]
movabs r8, 0x746361736e617274
xor rdx, r8
mov r8, qword [r15 + rsi + 3]
movabs r9, 0x6e6f69746361736e
xor r8, r9
or r8, rdx
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
jne case.0x180508a03.8
jmp 0x180508930
mov al, 1
mov rcx, r8
mov r12, r8
sub rdx, rsi
add rdx, 0xfffffffffffffffb
cmp rdx, 6
jbe 0x1805089fc
jmp case.0x180508a03.8
xor eax, eax
mov rcx, rsi
mov r12, r8
jmp 0x1805089e8
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm9, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret