Function at 0x40a420
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
fldz
xor eax, eax
mov word [esp], ax
fstp dword [esp + 0xc]
fldz
xor ecx, ecx
fst qword [esp + 0x14]
xor edx, edx
push ebp
mov word [esp + 8], cx
mov word [esp + 0xc], dx
fstp qword [esp + 0x20]
fld dword [esp + 0x10]
push esi
fsub qword [0x41f920]
mov dword [0x42770c], eax
xor esi, esi
push edi
fstp dword [esp + 0x18]
fld1
cmp dword [0x425950], eax
je 0x40a565
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x40a482
fld1
fld qword [esp + 0x20]
mov dword [esi*4 + 0x427248], 0
fcomp qword [0x41f918]
fnstsw ax
fld qword [esp + 0x20]
fadd st(1)
fstp qword [esp + 0x20]
test ah, 1
jne 0x40a536
fadd dword [0x424e7c]
or ecx, 0xffffffff
fstp dword [0x424e7c]
add word [0x424254], cx
fld dword [0x424e7c]
movzx eax, word [0x424254]
movsx edx, ax
movzx eax, word [0x4242d8]
add word [0x4242d8], cx
mov dword [esp + 0x1c], edx
movsx edx, ax
fild dword [esp + 0x1c]
mov eax, 0x9f46d2a4
sub eax, edx
mov dword [esp + 0x1c], eax
faddp st(1)
fild dword [esp + 0x1c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x40a519
mov ecx, dword [0x424e6c]
add ecx, dword [0x4230f0]
mov dword [0x4230f0], ecx
jmp 0x40a538
mov dx, word [0x4231dc]
movsx eax, dx
sub eax, 0x73e100f
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fstp dword [esp + 0x18]
jmp 0x40a538
fstp st(0)
push 0
push 0
push esi
push 0x4021e0
push 0
push 0
call edi
fld dword [esp + 0x18]
fsub qword [0x41f920]
inc esi
fstp dword [esp + 0x18]
cmp esi, dword [0x425950]
jne 0x40a480
jmp 0x40a567
fstp st(0)
fld qword [esp + 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
fsub qword [0x41f910]
push 0xa
fstp qword [esp + 0x2c]
fld qword [0x423248]
fsub qword [0x41f908]
fstp qword [0x423248]
call edi
add dword [0x423278], 0xef6612c4
mov cx, word [esp + 0x10]
movsx edx, cx
add edx, 0x7aa53979
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fsub qword [0x423220]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x40a5cd
mov eax, 0xffff953e
mov word [0x423664], ax
mov ebp, dword [sym.imp.KERNEL32.dll_SetEvent]
mov esi, 0x425954
jmp 0x40a5e0
movzx ecx, word [esi]
mov edx, dword [ecx*4 + 0x427248]
push edx
call ebp
fld dword [0x425ddc]
call fcn.0040aea0
mov word [0x42311c], ax
movzx eax, word [esi]
cmp dword [eax*4 + 0x427248], 0
je 0x40a64e
jmp 0x40a610
mov cx, word [0x4250e0]
movzx edx, word [esp + 0xc]
movsx eax, cx
sub edx, eax
add edx, 0x3b633f66
mov word [esp + 0xc], dx
push 0xa
call edi
fld dword [0x425ddc]
call fcn.0040aea0
mov word [0x42311c], ax
movzx eax, word [esi]
cmp dword [eax*4 + 0x427248], 0
jne 0x40a610
add esi, 2
cmp esi, 0x42595c
jne 0x40a5e0
fld qword [0x425108]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x425108]
mov cx, word [esp + 0x14]
movsx edx, cx
add edx, 0x54e406ab
mov dword [esp + 0x1c], edx
or ecx, 0xffffffff
fild dword [esp + 0x1c]
fadd qword [0x425108]
fld qword [esp + 0x20]
fsub qword [0x41f900]
fucompp
fnstsw ax
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
add dword [esp + 0x14], ecx
test ah, 0x44
jnp 0x40a6c6
mov ax, word [0x423318]
movzx edx, word [esp + 0x14]
cwde
lea eax, [edx + eax + 0x5b81af52]
mov word [0x423318], ax
add dword [esp + 0x14], ecx
call dword [0x42770c]
jg 0x40a679
lcall 0x54f8, 0xa43a6c53
sub esp, dword [edx - 0x57]
hlt