Function at 0x409c90
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x464237
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x48406c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword fs:[0x2c]
xorps xmm0, xmm0
mov edi, dword [ebp + 0xc]
movq qword [ebp - 0x424], xmm0
mov dword [ebp - 0x41c], 0
mov ecx, dword [eax]
mov eax, dword [0x497a40]
cmp eax, dword [ecx + 4]
jle 0x409d28
push 0x497a40
call fcn.0042b23a
add esp, 4
cmp dword [0x497a40], 0xffffffff
jne 0x409d28
mov dword [ebp - 4], 0
call fcn.004053c0
push 0x497a40
mov dword [0x497a80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0042b1f0
add esp, 4
push dword [0x497a80]
lea ecx, [ebp - 0x424]
call fcn.00405c30
mov dword [ebp - 4], 1
cmp byte [esi + 0x2c], 0
mov ebx, dword [ebp - 0x424]
je 0x409d67
mov eax, dword [ebp + 8]
push dword [ebx + eax*8 - 4]
push dword [ebx + eax*8 - 8]
dec eax
push 0
push eax
call fcn.004103a0
mov ecx, eax
call fcn.00410510
mov eax, dword [0x49792c]
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], reloc.OLEAUT32.dll_SafeArrayGetDim
test eax, eax
je 0x409d92
lea ecx, [ebp - 0x418]
push ecx
push 0x150
call eax
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call esi
mov eax, dword [0x49793c]
test eax, eax
je 0x409db3
lea ecx, [ebp - 0x418]
push ecx
push 0x150
call eax
test dword [ebp - 0x414], 0x80000000
jne 0x409d98
mov eax, dword [ebp - 0x420]
push 0
sub eax, ebx
push 0xffffffffffffffff
sar eax, 3
dec eax
push 0
push eax
call fcn.004103a0
mov ecx, eax
call fcn.00410510
mov ecx, dword [ebp - 0x418]
mov eax, ecx
shr eax, 0x15
mov dword [edi], 0
test eax, 0x400
je 0x409dfb
sub eax, 0x800
movsd xmm2, qword [0x47a718]
movsd xmm3, qword [0x47a6f8]
movsd xmm1, qword [0x47a700]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
test eax, eax
js 0x409e34
addsd xmm0, xmm1
jmp 0x409e38
subsd xmm0, xmm1
mov dword [edi + 4], 0
cvttsd2si eax, xmm0
add eax, 0x3e7
mov dword [edi + 8], eax
mov eax, ecx
shr eax, 8
and eax, 0xfff
mov dword [edi + 0xc], 0x8000000
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xfffc19
mov dword [edi + 0x18], 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [edi + 0x1c], 0x7cf
mov dword [edi + 0x20], 1
shr ecx, 0x14
and ecx, 1
addsd xmm0, qword [eax*8 + 0x47a790]
mulsd xmm0, xmm2
mulsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [edi + 0x24], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x28], 0x8000000
mov dword [edi + 0x2c], 0x3e8
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 1
mov dword [edi + 0x38], 0x781
mov dword [edi + 0x3c], 2
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], 0x8000000
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 1
mov dword [edi + 0x54], 2
mov dword [edi + 0x58], 3
mov dword [edi + 0x5c], eax
mov dword [edi + 0x60], 0x8000000
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 1
call fcn.004049d0
inc eax
xor esi, esi
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], 0xffffffff
nop
push dword [edi + esi*4]
lea eax, [ebp - 0x410]
push 0x477598
push eax
call fcn.004031e0
add esp, 0xc
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
inc esi
cmp esi, 0x1e
jl 0x409f40
test ebx, ebx
je 0x409f9d
mov ecx, dword [ebp - 0x41c]
mov eax, ebx
sub ecx, ebx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x409f93
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409fbd
push ecx
push ebx
call fcn.0042b5db
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042b067
mov esp, ebp
pop ebp
ret 0xc
call fcn.00449472
int3