Function at 0x40a860
Capabilities:
Create thread

Disassembly:
sub esp, 0x20
fldz
push ebx
fstp dword [esp + 8]
xor eax, eax
fldz
push ebp
fst qword [esp + 0x20]
xor ecx, ecx
fstp qword [esp + 0x18]
xor ebp, ebp
mov dword [0x4277cc], ebp
mov word [esp + 8], ax
mov word [esp + 0x10], cx
mov dword [esp + 0x14], ebp
fld dword [esp + 0xc]
fsub qword [esp + 0x18]
push esi
xor esi, esi
push edi
fadd dword [esp + 0x14]
lea ebx, [ecx + 1]
fld dword [0x424224]
fucompp
fnstsw ax
fld dword [esp + 0x14]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14]
fld qword [esp + 0x20]
fsub st(1)
fstp qword [esp + 0x20]
fld dword [esp + 0x14]
fadd st(1)
fstp dword [esp + 0x14]
test ah, 0x44
jp 0x40a8e8
mov dx, word [esp + 0x18]
movsx eax, dx
sub eax, 0x17cb147e
mov dword [esp + 0x1c], eax
add dword [esp + 0x18], ebx
cmp dword [0x4234f0], ebp
je 0x40a953
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
fstp st(0)
jmp 0x40a900
mov eax, dword [0x423504]
mov ecx, dword [esp + 0x1c]
add eax, 0x56281691
add ecx, 0x7be1b09
cmp ecx, eax
mov dword [esi*4 + 0x427308], ebp
jl 0x40a931
movzx edx, word [esp + 0x18]
add edx, 0x5bb4a7b4
mov word [esp + 0x18], dx
jmp 0x40a93b
add dword [0x423f4c], 0x7a57868
push ebp
push ebp
push esi
push 0x401fb0
push ebp
push ebp
call edi
add esi, ebx
cmp esi, dword [0x4234f0]
jne 0x40a900
fld1
add dword [0x4237bc], 0x98d42ab9
fld qword [esp + 0x20]
mov ax, word [0x423ab4]
mov dx, word [0x423bb0]
movsx ecx, ax
mov dword [esp + 0x18], ecx
mov ecx, dword [0x42373c]
movsx eax, dx
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
fsubp st(1)
fild dword [esp + 0x18]
mov dword [esp + 0x18], ecx
faddp st(1)
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40a9af
fld dword [esp + 0x14]
fsub qword [0x41faa8]
fstp dword [esp + 0x14]
jmp 0x40a9bd
fld qword [esp + 0x28]
fsub qword [0x41faa0]
fstp qword [esp + 0x28]
add dword [0x424648], 0x1ef87a64
add word [0x423f1c], bx
mov dx, word [0x423f1c]
movsx eax, dx
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd qword [esp + 0x20]
fsub qword [0x41fa98]
fcomp qword [0x41fa90]
fnstsw ax
test ah, 0x44
jp 0x40aa15
mov cx, word [0x423f1c]
movsx edx, cx
sub edx, 0x4505fb
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp qword [0x423030]
mov eax, dword [esp + 0x1c]
sub eax, 0x258cfee4
cmp eax, 0xa18054bf
jne 0x40aa56
fsubr qword [esp + 0x28]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
fadd qword [0x41fa88]
fadd dword [0x4240d0]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
faddp st(1)
call fcn.0040b2b0
mov dword [esp + 0x1c], eax
jmp 0x40aa58
fstp st(0)
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa
call edi
mov esi, 0x4234f4
mov ebx, 0xde623311
lea esp, [esp]
movzx edx, word [esi]
mov eax, dword [edx*4 + 0x427308]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
movzx ecx, word [esi]
cmp dword [ecx*4 + 0x427308], ebp
je 0x40aac9
lea ecx, [ecx]
mov dx, word [esp + 0x10]
mov cx, word [esp + 0x10]
movsx eax, dx
movsx edx, cx
sub eax, edx
add eax, 0x7614ab8a
mov dword [esp + 0x1c], eax
push 0xa
fild dword [esp + 0x20]
fstp dword [esp + 0x18]
call edi
add dword [0x423b54], ebx
movzx eax, word [esi]
cmp dword [eax*4 + 0x427308], ebp
jne 0x40aa90
add esi, 2
cmp esi, 0x4234fc
jne 0x40aa70
call dword [0x4277cc]
cdq
sbb byte [ebx - 0x557b4107], cl
adc eax, 0xbae39688
pop eax
dec ebx
test eax, 0xc412585
lcall 0xbfad, 0x15ded28c
aaa
rol byte [ebx - 0x5b], cl
ret