Function at 0x100087a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f80eb
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x1013306c]
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 edi, dword [ebp + 0xc]
xorps xmm0, xmm0
movq qword [ebp - 0x424], xmm0
mov dword [ebp - 0x41c], 0
call fcn.10003d00
push eax
lea ecx, [ebp - 0x424]
call fcn.100044c0
mov dword [ebp - 4], 0
cmp byte [esi + 0x2c], 0
mov ebx, dword [ebp - 0x424]
je 0x10008827
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.1000e940
mov ecx, eax
call fcn.1000eab0
mov eax, dword [0x10137ad4]
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], reloc.OLEAUT32.dll_SafeArrayGetDim
test eax, eax
je 0x10008852
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 [0x10137ae4]
test eax, eax
je 0x10008873
lea ecx, [ebp - 0x418]
push ecx
push 0x150
call eax
test dword [ebp - 0x414], 0x80000000
jne 0x10008858
mov eax, dword [ebp - 0x420]
push 0
sub eax, ebx
push 0xffffffffffffffff
sar eax, 3
dec eax
push 0
push eax
call fcn.1000e940
mov ecx, eax
call fcn.1000eab0
mov ecx, dword [ebp - 0x418]
mov eax, ecx
shr eax, 0x15
mov dword [edi], 0
test eax, 0x400
je 0x100088bb
sub eax, 0x800
movsd xmm2, qword [0x10123ec0]
movsd xmm3, qword [0x10123ea0]
movsd xmm1, qword [0x10123ea8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
test eax, eax
js 0x100088f4
addsd xmm0, xmm1
jmp 0x100088f8
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 + 0x10123f40]
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.10003290
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 0x1011bcc4
push eax
call fcn.10001a70
add esp, 0xc
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
inc esi
cmp esi, 0x1e
jl 0x10008a00
test ebx, ebx
je 0x10008a5d
mov ecx, dword [ebp - 0x41c]
mov eax, ebx
sub ecx, ebx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x10008a53
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008a7d
push ecx
push ebx
call fcn.100713c7
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.10070d87
mov esp, ebp
pop ebp
ret 0xc
call fcn.100d4798
int3