Function at 0x44e590
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x481108
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x4ade78]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0x18
mov dword [ebp - 4], 0
call fcn.00460a63
mov edi, eax
add esp, 4
test edi, edi
je 0x44e5f6
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x10], eax
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x14], eax
jmp 0x44e5f8
xor edi, edi
mov eax, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
call fcn.0044e840
mov ecx, dword [0x4b05c8]
test al, al
mov eax, dword [ebp + 0x14]
mov edx, 0xa61cd404
cmove ecx, edx
mov dword [0x4b05c8], ecx
mov dword [edi + 0xc], eax
call fcn.0040ce80
test al, al
jne 0x44e690
movd xmm4, dword [0x4af2c0]
movsd xmm3, qword [0x4919d0]
movsd xmm6, qword [0x4919d8]
movsd xmm5, qword [0x4919c8]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
lea ebx, [ebx]
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x44e67a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x44e660
lea eax, [esi + 4]
lea ecx, [edi + 0x10]
push eax
call fcn.00402970
lea eax, [ebp + 0x18]
lea ecx, [edi + 0x14]
push eax
call fcn.00402970
mov esi, dword [0x4af2c0]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
jne 0x44e72e
test esi, esi
je 0x44e72e
jmp 0x44e6d0
mov ecx, esi
and ecx, 0x80000001
jns 0x44e6df
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x44e6ec
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x44e6f3
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x4af2c0], esi
sub ecx, 0
je 0x44e71d
sub ecx, 2
je 0x44e720
dec ecx
je 0x44e721
jmp 0x44e72a
add esi, 2
inc esi
add esi, 2
mov dword [0x4af2c0], esi
test esi, esi
jne 0x44e6d0
lea eax, [ebp - 0x10]
push eax
push 0
push edi
push 0x44e570
push 0
push 0
mov dword [ebp - 0x10], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
call fcn.0044e820
test al, al
jne 0x44e7be
mov esi, dword [0x4af2c0]
test esi, esi
je 0x44e7be
mov ecx, esi
and ecx, 0x80000001
jns 0x44e76f
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x44e77c
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x44e783
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x4af2c0], esi
sub ecx, 0
je 0x44e7ad
sub ecx, 2
je 0x44e7b0
dec ecx
je 0x44e7b1
jmp 0x44e7ba
add esi, 2
inc esi
add esi, 2
mov dword [0x4af2c0], esi
test esi, esi
jne 0x44e760
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 0x18]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44e7e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14