Function at 0x40aa10
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
fldz
push ebx
fstp qword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
push ebp
xor eax, eax
mov word [esp + 0xc], ax
xor ecx, ecx
push esi
mov word [esp + 0x10], cx
xor esi, esi
mov edx, 0xffff86d9
mov dword [esp + 0x1c], ebx
mov dword [0x4278cc], ebx
push edi
mov word [0x425af4], dx
cmp dword [0x424d48], ebx
je 0x40aaa5
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fsub dword [0x424850]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
fisub dword [esp + 0x24]
call fcn.0040b5f0
push ebx
push ebx
push esi
push 0x4023d0
push ebx
push ebx
mov word [esp + 0x2c], ax
mov dword [esi*4 + 0x427408], ebx
call edi
inc esi
cmp esi, dword [0x424d48]
jne 0x40aa61
or ecx, 0xffffffff
add dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov eax, 0x33523d12
sub eax, edx
add eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dx, word [0x4241b0]
movsx eax, dx
sub eax, 0x4ec0693e
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fsub qword [0x425f98]
fcomp qword [0x41fa20]
fnstsw ax
fld qword [0x425f98]
fadd qword [0x41f348]
fstp qword [0x425f98]
test ah, 0x44
jnp 0x40ab23
mov edx, dword [0x4241e8]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [0x424024]
fadd qword [0x423cf8]
fstp qword [0x423cf8]
add dword [0x4241e8], ecx
jmp 0x40ab38
mov ax, word [0x42405c]
mov ecx, dword [0x423d28]
cwde
sub eax, ecx
mov word [0x42405c], ax
fld dword [0x41fa18]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa
fstp dword [0x423d44]
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_SetEvent]
mov esi, 0x424d4c
lea esp, [esp]
movzx edx, word [esi]
mov eax, dword [edx*4 + 0x427408]
push eax
call ebp
movzx ecx, word [esi]
cmp dword [ecx*4 + 0x427408], ebx
je 0x40ab90
lea esp, [esp]
push 0xa
call edi
movzx edx, word [esi]
cmp dword [edx*4 + 0x427408], ebx
jne 0x40ab80
mov eax, dword [0x424ef0]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd dword [0x423e0c]
mov cx, word [0x4245e0]
mov eax, dword [esp + 0x20]
movsx edx, cx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fsubp st(2)
fadd qword [esp + 0x28]
fucompp
fnstsw ax
fld dword [0x423e0c]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x423e0c]
test ah, 0x44
jnp 0x40abf9
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
call fcn.0040b5f0
mov dword [esp + 0x18], eax
jmp 0x40abfb
fstp st(0)
mov cx, word [0x42405c]
mov edx, dword [esp + 0x18]
movsx eax, cx
mov ecx, dword [esp + 0x18]
sub eax, edx
lea edx, [eax + ecx + 0x25a857be]
mov dword [esp + 0x18], edx
dec dword [esp + 0x14]
mov ax, word [esp + 0x14]
movsx ecx, ax
mov eax, dword [esp + 0x1c]
mov edx, 0x698cc33b
sub edx, ecx
imul edx, eax
add esi, 2
mov dword [esp + 0x1c], edx
cmp esi, 0x424d54
jne 0x40ab60
call dword [0x4278cc]
test eax, 0x22cfc240
add byte [esi + 0x711e5a0e], cl
mov bh, 0x22
mov esi, 0xe0598360
push 0x6c0c9099
adc al, 0xde
fsubp st(6)
shl ch, cl
fisubr word [edi + 0xf718bb1]
add byte [edx + 0x5858dfed], bl
sal dword [edi - 0x7cea060c], cl
mov byte [0x999e6ba], al
jne 0x40acc3
adc al, 0xdc
fmul qword [edx - 0x2e]
sub dword ss:[ebx], eax
mov cl, 0xc3
adc dword [0x82423900], esi
pop eax
inc esp
ret
dec ebx
loop 0x40ac8c
cli
xor dword [esi], 0xffffffa2
and eax, 0x4a09ccf5
xor byte [eax - 0x24], 0x7d
adc ch, cl
out 0x2e, al
insd dword es:[edi], dx
ret
jge 0x40ac95
jecxz 0x40acd1
out 0xb0, al
das
push ss
stosd dword es:[edi], eax
add byte [ecx], dl
mov dl, 0x8d
pop eax
add dword [ecx - 0x62], 0x9760e874
invalid