Function at 0x40a410
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
push ebx
push ebp
push esi
push edi
fldz
xor eax, eax
mov word [esp + 0x20], ax
xor ecx, ecx
mov dword [esp + 0x18], ecx
fstp qword [esp + 0x28]
fldz
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x24]
mov dword [esp + 0x14], ecx
movzx edx, word [0x426008]
movsx eax, dx
mov edx, dword [esp + 0x14]
sub eax, edx
movzx edx, word [0x425f40]
mov dword [0x42792c], ecx
lea eax, [eax + edx - 0x7fb22a1a]
or ebx, 0xffffffff
mov word [0x426008], ax
add dword [esp + 0x14], ebx
mov ebp, 1
add word [0x425f40], bp
xor esi, esi
cmp dword [0x4236e8], ecx
je 0x40a4c2
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x40a490
add dword [esp + 0x14], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
imul edx, eax
push ecx
push esi
push 0x402890
push ecx
push ecx
mov dword [esp + 0x34], edx
mov dword [esi*4 + 0x427468], ecx
call edi
add esi, ebp
xor ecx, ecx
cmp esi, dword [0x4236e8]
jne 0x40a490
add dword [esp + 0x14], ebp
fld1
mov dx, word [esp + 0x20]
movsx eax, dx
mov edx, dword [esp + 0x18]
lea eax, [eax + edx - 0x1c11b151]
mov edx, dword [esp + 0x14]
add dword [esp + 0x20], ebx
add dword [esp + 0x18], ebx
add edx, 0x207049b8
cmp eax, edx
je 0x40a515
fld dword [0x424c70]
fadd qword [0x41fa00]
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
fld dword [0x424c70]
fsub st(1)
fstp dword [0x424c70]
jmp 0x40a51f
fld qword [esp + 0x28]
fstp dword [0x423e84]
add dword [esp + 0x14], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
xor esi, esi
fadd dword [esp + 0x24]
mov cx, word [0x4239a0]
movsx edx, cx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmulp st(1)
call fcn.0040aee0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov word [0x4239a0], ax
mov eax, dword [0x4237b0]
mov ecx, dword [esp + 0x18]
add eax, 0x2538cae5
cmp eax, ecx
jge 0x40a58a
mov edx, dword [esp + 0x14]
add edx, 0x23a280df
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fsub qword [esp + 0x28]
fstp qword [esp + 0x28]
add dword [esp + 0x14], ebx
cmp esi, ebp
je 0x40a5e2
fld qword [0x424d78]
push 0xa
fsub qword [0x41f9f8]
mov esi, ebp
fadd qword [0x41f9f0]
fadd dword [0x42321c]
fstp dword [0x42321c]
fadd qword [0x424d78]
fstp qword [0x424d78]
mov eax, dword [esp + 0x1c]
movzx ecx, word [0x425f10]
sub eax, 0x54bae1f1
imul eax, ecx
mov word [0x425f10], ax
add dword [esp + 0x1c], ebx
call edi
fld1
jmp 0x40a55a
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [0x425b00]
call fcn.0040aee0
mov dword [esp + 0x1c], eax
mov eax, dword [0x423efc]
add eax, dword [esp + 0x1c]
add dword [0x423efc], ebp
cmp eax, 0xab0b44c4
je 0x40a632
mov cx, word [0x425e78]
mov edx, dword [0x423744]
movsx eax, cx
lea eax, [edx + eax + 0x244a9337]
mov word [0x425e78], ax
jmp 0x40a644
fld dword [0x424c70]
fsub qword [0x41f9e8]
fstp dword [0x424c70]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fld dword [0x4236fc]
fsub qword [0x41f9e0]
fsubp st(1)
call fcn.0040aee0
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esp + 0x14], eax
fadd dword [0x4236fc]
mov esi, 0x4236ec
fstp dword [0x4236fc]
mov edi, edi
movzx edx, word [esi]
mov eax, dword [edx*4 + 0x427468]
push eax
call ebx
movzx ecx, word [esi]
cmp dword [ecx*4 + 0x427468], 0
je 0x40a6b1
lea ebx, [ebx]
push 0xa
call edi
movzx edx, word [esi]
cmp dword [edx*4 + 0x427468], 0
jne 0x40a6a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
add esi, 2
fld dword [0x4236fc]
fsub qword [0x41f9e0]
fsubp st(1)
call fcn.0040aee0
mov dword [esp + 0x14], eax
fld dword [0x4236fc]
fadd qword [0x41f360]
fstp dword [0x4236fc]
cmp esi, 0x4236f4
jne 0x40a680
fld dword [0x423144]
fadd dword [0x4237b4]
fstp dword [0x4237b4]
call dword [0x42792c]
pop eax
lcall 0x98af, 0x673fe381
fld dword [0x7ca17c61]
call 0xac5edd82
imul edi, dword [ebp + 0xa], 0xe
in eax, dx
test eax, 0x892e5f53
in eax, dx
test dword [edi + 0x46], 0xeb7f23da
or byte [ecx - 0x19], 0x92
push ebp
jl 0x40a760
hlt
das
push ecx
pop ecx
pop ebx
dec edi
xor al, 0x54
jne 0x40a7e8
push ss
movsb byte es:[edi], byte [esi]
invalid
inc ecx
invalid