Function at 0x180050770
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
movsx eax, byte [0x18006730d]
mov rbp, rcx
movd xmm1, eax
movsx eax, byte [0x18006730f]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
call fcn.180036820
movsx edi, al
call fcn.180036810
movsx ecx, al
imul edi, ecx
call fcn.180036850
movsx esi, al
xor edx, edx
movsx eax, byte [0x18006730c]
movsx ecx, byte [0x18006730b]
lea r14d, [rsi + rdi*8]
add r14d, edi
add eax, r14d
div ecx
movsx ecx, byte [0x18006730e]
cmp eax, ecx
je 0x18005083d
call fcn.180036830
movsx edx, al
movsx eax, byte [0x180067f75]
imul edx, eax
shl edx, 2
call fcn.180036860
movsx ecx, al
sub edx, ecx
call fcn.180036840
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x18006730f]
add ecx, edx
je 0x18005083d
mov r9d, 3
jmp 0x18005089b
movsx eax, byte [0x18006730c]
xor edx, edx
movsx ecx, byte [0x18006730b]
add eax, edi
add eax, esi
div ecx
movsx ecx, byte [0x18006730e]
cmp eax, ecx
je 0x180050896
movsx eax, byte [0x18006730c]
lea ecx, [rdi + rsi]
lea ecx, [rcx + rdi*4]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [0x18006730b]
div ecx
movsx ecx, byte [0x18006730e]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si r9d, xmm0
jmp 0x18005089b
mov r9d, dword [rsp + 0x58]
movsx eax, byte [0x18006730c]
lea edx, [rdi + rdi*4]
movsx ecx, byte [0x18006730b]
add eax, esi
xor ebx, ebx
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x18006730e]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x1800508f5
cmp eax, 1
jne 0x18005091c
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov r9, rbp
mov qword [rsp + 0x28], rbx
lea r8, [0x18004ccc0]
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x18005091c
cmp dword [0x180068030], ebx
je 0x18005091c
call fcn.1800331a0
mov rcx, qword [0x180068028]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x180068028], rbx
mov dword [0x180068030], ebx
movsx eax, byte [0x18006730c]
lea edx, [rdi + rdi*2]
movsx ecx, byte [0x18006730b]
add eax, esi
xorps xmm2, xmm2
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x18006730e]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x18006730d]
movd xmm1, eax
movsx eax, byte [0x18006730f]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x68], xmm1
movsx eax, byte [0x18006730c]
movsx ecx, byte [0x18006730b]
add eax, r14d
div ecx
movsx ecx, byte [0x18006730e]
cmp eax, ecx
je 0x1800509d5
call fcn.180036830
movsx edx, al
movsx eax, byte [0x180067f75]
imul edx, eax
shl edx, 2
call fcn.180036860
movsx ecx, al
sub edx, ecx
call fcn.180036840
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x18006730f]
add ecx, edx
je 0x1800509d5
mov eax, 1
jmp 0x180050a72
call fcn.180036820
movsx r9d, al
call fcn.180036810
movsx ecx, al
imul r9d, ecx
call fcn.180036850
movsx ecx, byte [0x18006730c]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [0x18006730b]
div ecx
movsx ecx, byte [0x18006730e]
cmp eax, ecx
je 0x180050a67
call fcn.180036820
movsx edx, al
call fcn.180036810
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.180036850
movsx ecx, byte [0x18006730c]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [0x18006730b]
div ecx
movsx ecx, byte [0x18006730e]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
jmp 0x180050a6b
mov eax, dword [rsp + 0x58]
cmp ebx, eax
setl bl
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret