Function at 0x40a6d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
fldz
push ebx
fst dword [esp + 0xc]
push ebp
xor ebp, ebp
mov dword [esp + 0x18], ebp
fstp dword [esp + 0xc]
fldz
push esi
xor eax, eax
fstp qword [esp + 0x24]
xor esi, esi
push edi
mov word [esp + 0x10], ax
mov dword [esp + 0x1c], ebp
mov dword [0x4276ec], ebp
lea edi, [ebp + 1]
cmp dword [0x423590], ebp
je 0x40a7c3
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
dec dword [esp + 0x10]
mov eax, dword [0x423ecc]
mov cx, word [esp + 0x10]
add dword [0x423ecc], edi
movsx edx, cx
add eax, 0xfb64df6b
cmp eax, edx
je 0x40a764
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x28]
fcomp qword [0x41fad0]
fnstsw ax
test ah, 1
jne 0x40a781
fld qword [0x41fac8]
fstp qword [esp + 0x28]
jmp 0x40a781
mov ecx, dword [0x423f24]
mov edx, 0xa3d92baf
sub edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [0x4243ac]
push ebp
fsub qword [0x41fac0]
push ebp
push esi
push 0x4029d0
push ebp
mov dword [esi*4 + 0x427228], ebp
fstp dword [0x4243ac]
push ebp
call ebx
movzx eax, word [esp + 0x10]
add eax, 0x2c64edc7
add esi, edi
mov word [esp + 0x10], ax
cmp esi, dword [0x423590]
jne 0x40a71b
fld dword [esp + 0x14]
fsubr qword [0x41fab8]
fsub qword [0x4243c0]
fld dword [esp + 0x18]
fcompp
fnstsw ax
fld dword [esp + 0x18]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fadd st(1)
fstp dword [esp + 0x14]
test ah, 1
jne 0x40a81b
mov cx, word [0x423d04]
movsx edx, cx
add edx, 0x24afdc2e
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp dword [esp + 0x14]
dec word [0x423d04]
dec dword [esp + 0x10]
mov ax, word [esp + 0x10]
movsx ecx, ax
mov edx, 0x89c38ea
sub edx, ecx
cmp edx, 0x17bf1f73
jl 0x40a86e
fadd dword [0x423c68]
fstp dword [0x423c68]
fld dword [0x423c68]
mov ax, word [0x424ef8]
movsx ecx, ax
fstp dword [esp + 0x28]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fadd dword [esp + 0x28]
call fcn.0040b240
mov word [0x424ef8], ax
jmp 0x40a870
fstp st(0)
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa
call ebx
fld qword [0x423a90]
fsub qword [0x41fab0]
call fcn.0040b240
mov dword [0x424edc], eax
fld qword [0x423a90]
fsub qword [0x41f340]
mov esi, 0x423594
fstp qword [0x423a90]
jmp 0x40a8b0
mov dx, word [0x424354]
dec word [0x424354]
movsx eax, dx
sub eax, 0x4339aa53
cmp eax, 0xee3a5d97
je 0x40a8d5
mov dword [esp + 0x20], 0x3ede0d12
movzx ecx, word [esi]
mov edx, dword [ecx*4 + 0x427228]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
fld qword [0x423aa0]
fadd qword [0x41faa8]
fstp qword [0x423aa0]
mov ax, word [esp + 0x10]
movsx ecx, ax
add ecx, 0x29a8e493
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
fadd dword [0x423ce8]
fstp dword [0x423ce8]
add dword [esp + 0x10], edi
movzx edx, word [esi]
cmp dword [edx*4 + 0x427228], ebp
je 0x40a99a
lea ebx, [ebx]
mov eax, dword [0x423ad8]
mov ecx, dword [esp + 0x20]
sub eax, 0x57c5af49
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
fld dword [esp + 0x18]
fsubp st(2)
fsubrp st(1)
call fcn.0040b240
mov dword [esp + 0x20], eax
add dword [0x423ad8], edi
push 0xa
call ebx
mov dx, word [esp + 0x10]
movsx eax, dx
add eax, 0x29a8e493
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [0x423ce8]
fstp dword [0x423ce8]
add dword [esp + 0x10], edi
movzx ecx, word [esi]
cmp dword [ecx*4 + 0x427228], ebp
jne 0x40a930
mov dx, word [esp + 0x10]
fld dword [esp + 0x14]
movsx eax, dx
add eax, 0xbe0479f
cmp eax, 0x77637235
jl 0x40a9e4
mov cx, word [esp + 0x10]
fsubr qword [0x41faa0]
movsx edx, cx
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
faddp st(1)
call fcn.0040b240
mov word [esp + 0x10], ax
fld dword [esp + 0x14]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14]
jmp 0x40aa02
fld dword [esp + 0x18]
fsub qword [0x41fa98]
fsubp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [0x42424c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
add esi, 2
fadd dword [0x424f08]
mov cx, word [0x42426c]
movsx edx, cx
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
faddp st(1)
fsubp st(1)
fstp dword [0x42424c]
dec word [0x42426c]
fadd dword [0x424f08]
fstp dword [0x424f08]
add dword [esp + 0x1c], edi
cmp esi, 0x42359c
jne 0x40a8b0
call dword [0x4276ec]
xchg edx, eax
movsd dword es:[edi], dword [esi]
mov esi, 0x30578a82
test al, 5
mov ebx, 0x335ee42e
iretd