Function at 0x100995e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1c4
mov eax, dword [0x92febc]
push ebx
mov ebx, dword [0x92feb4]
push esi
push edi
mov dword [esp + 0x6c], ebx
lea eax, [ebx + eax*8]
mov dword [esp + 0x10c], eax
cmp ebx, eax
je 0x10099ec4
mov edi, 0x7869c0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp ecx, eax
je 0x10099eb0
nop dword [eax]
cmp dword [ecx], 0x4039c0
je 0x10099644
add ecx, 8
cmp ecx, eax
jne 0x10099630
jmp 0x10099eb0
mov esi, dword [ecx + 4]
mov dword [esp + 0xf0], esi
test esi, esi
je 0x10099eb0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa0]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x70]
push eax
lea ecx, [esp + 0x160]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
call edi
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x110]
push edx
mov eax, dword [ecx]
call dword [eax + 0x64]
movss xmm1, dword [esp + 0x110]
lea edx, [esp + 0x24]
movss xmm3, dword [0x101c7e10]
xor ecx, ecx
movss xmm2, dword [esp + 0x118]
xorps xmm1, xmm3
movss xmm0, dword [esp + 0x114]
unpcklps xmm2, xmm1
movss xmm1, dword [esp + 0x120]
movq qword [esp + 0x110], xmm2
xorps xmm1, xmm3
movss xmm2, dword [esp + 0x128]
movss dword [esp + 0x174], xmm0
movss xmm0, dword [esp + 0x124]
mov eax, dword [esp + 0x174]
unpcklps xmm2, xmm1
movss xmm1, dword [esp + 0x130]
movss dword [esp + 0x180], xmm0
xorps xmm1, xmm3
movss xmm0, dword [esp + 0x134]
movq qword [esp + 0x120], xmm2
movss xmm2, dword [esp + 0x138]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x180]
movss dword [esp + 0x18c], xmm0
movaps xmm0, xmmword [0x101c7aa0]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x18c]
unpcklps xmm2, xmm1
movq qword [esp + 0x130], xmm2
mov dword [esp + 0x138], eax
movups xmmword [esp + 0x140], xmm0
nop
mov eax, dword [esp + ecx*4 + 0x110]
lea edx, [edx + 0x10]
mov dword [edx - 0x14], eax
mov eax, dword [esp + ecx*4 + 0x120]
mov dword [edx - 0x10], eax
mov eax, dword [esp + ecx*4 + 0x130]
mov dword [edx - 0xc], eax
mov eax, dword [esp + ecx*4 + 0x140]
inc ecx
mov dword [edx - 8], eax
cmp ecx, 4
jl 0x100997a0
movaps xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x160]
movaps xmmword [esp + 0x110], xmm0
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x120], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmmword [esp + 0x130], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x140], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x190], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x1a0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0x1b0], xmm0
movups xmm0, xmmword [eax + 0x30]
mov eax, dword [ebx + 4]
movups xmmword [esp + 0x1c0], xmm0
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp ecx, eax
je 0x10099eb0
nop
cmp dword [ecx], 0x620c50
je 0x10099864
add ecx, 8
cmp ecx, eax
jne 0x10099850
jmp 0x10099eb0
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x10099eb0
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx + 4]
lea edi, [ecx + 0x10]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x10
add eax, ecx
mov dword [esp + 0x108], eax
cmp edi, eax
je 0x10099eab
lea ebx, [edi + 0xc]
nop word [eax + eax]
movsx eax, word [ebx - 4]
mov edx, 0xfffff000
movzx ecx, word [ebx + 2]
movss xmm6, dword [0x101c72c4]
movd xmm3, eax
movsx eax, word [ebx - 2]
cvtdq2ps xmm3, xmm3
movd xmm4, eax
movsx eax, word [ebx]
cvtdq2ps xmm4, xmm4
movd xmm5, eax
movsx eax, word [ebx + 4]
cvtdq2ps xmm5, xmm5
movd xmm2, eax
movsx eax, word [ebx + 6]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
movsx eax, word [ebx + 8]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov al, cl
and al, 0x40
mulss xmm2, xmm6
movzx eax, al
neg eax
mulss xmm3, xmm6
cvtdq2ps xmm0, xmm0
sbb eax, eax
and eax, 0x32ffffff
test cl, 0x80
cmovne eax, edx
test ecx, 0x400
mulss xmm1, xmm6
mov edx, 0xffff3232
cmovne eax, edx
test ecx, 0x800
mulss xmm0, xmm6
mov edx, 0xff3232ff
cmovne eax, edx
test cl, 1
mulss xmm4, xmm6
movaps xmm7, xmm1
mov ecx, 0
mulss xmm5, xmm6
cmove ecx, eax
mov dword [esp + 0x104], ecx
movaps xmm6, xmm2
mov dword [esp + 0x7c], ecx
addss xmm6, xmm3
mov dword [esp + 0x8c], ecx
subss xmm3, xmm2
mov dword [esp + 0x9c], ecx
addss xmm7, xmm4
mov dword [esp + 0xac], ecx
subss xmm4, xmm1
movss dword [esp + 0x68], xmm6
movaps xmm6, xmm0
addss xmm6, xmm5
movss dword [esp + 0xf8], xmm3
subss xmm5, xmm0
movss dword [esp + 0x18], xmm7
movss xmm0, dword [esp + 0x68]
movaps xmm1, xmm3
xorps xmm1, xmmword [0x101c7e10]
xorps xmm0, xmmword [0x101c7e10]
movss dword [esp + 0x14], xmm6
movss dword [esp + 0xfc], xmm4
movss dword [esp + 0xf4], xmm5
movss dword [esp + 0x70], xmm5
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x80], xmm5
movss dword [esp + 0x84], xmm0
movss dword [esp + 0x88], xmm4
movss dword [esp + 0x90], xmm6
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x98], xmm4
movss dword [esp + 0xa0], xmm6
movss dword [esp + 0xa4], xmm1
movss dword [esp + 0xa8], xmm4
movss dword [esp + 0xb0], xmm5
mov esi, 0x982bdc
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0x10]
movss dword [esp + 0xb4], xmm1
movss dword [esp + 0xb8], xmm7
movss dword [esp + 0xc0], xmm5
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xc8], xmm7
movss dword [esp + 0xd0], xmm6
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xd8], xmm7
movss dword [esp + 0xe0], xmm6
movss dword [esp + 0xe4], xmm1
movss dword [esp + 0xe8], xmm7
mov dword [esp + 0x20], 0x10000
mov dword [esp + 0x24], 0x20001
mov dword [esp + 0x28], 0x30002
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], 0x50004
mov dword [esp + 0x34], 0x60005
mov dword [esp + 0x38], 0x70006
mov dword [esp + 0x3c], 0x40007
mov dword [esp + 0x40], 0x70003
mov dword [esp + 0x44], 0x60002
mov dword [esp + 0x48], 0x40000
mov dword [esp + 0x4c], 0x50001
mov esi, dword [esi]
push ecx
mov dword [esp + 0x14], 0
push 1
mov eax, dword [esi]
push esi
call dword [eax + 0xec]
mov eax, dword [esi]
push 1
push 0x16
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 1
push 0x1b
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 1
push 0xf
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 0x42
push esi
call dword [eax + 0x164]
mov eax, dword [esi]
lea ecx, [esp + 0x190]
push ecx
push 0x100
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
push 0x9847b0
push 2
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
push 0x9847f0
push 3
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
lea ecx, [esp + 0x70]
push 0x10
push ecx
push 0x65
lea ecx, [esp + 0x2c]
push ecx
push 0xc
push 0x18
push 0
push 2
push esi
call dword [eax + 0x150]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10099bd5
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [esp + 0xf0]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 4]
mov ecx, esi
movss xmm0, dword [eax]
movss dword [esp + 0x100], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [eax + 8]
mov eax, dword [esi]
movss dword [esp + 0x14], xmm0
call dword [eax + 4]
movss xmm2, dword [esp + 0xfc]
lea ecx, [esp + 0x1c]
movss xmm1, dword [esp + 0xf8]
movss xmm0, dword [esp + 0x100]
addss xmm2, dword [eax + 4]
addss xmm1, dword [eax]
movss xmm3, dword [esp + 0xf4]
addss xmm3, dword [eax + 8]
mov eax, dword [esp + 0x104]
addss xmm0, dword [esp + 0x68]
xorps xmm1, xmmword [0x101c7e10]
movss xmm4, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
xorps xmm0, xmmword [0x101c7e10]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xec], eax
mov eax, 0x982bdc
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x88], xmm2
movss dword [esp + 0x98], xmm2
movss dword [esp + 0xa8], xmm2
movss xmm2, dword [esp + 0x18]
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x80], xmm3
movss dword [esp + 0x84], xmm0
movss dword [esp + 0x90], xmm4
movss dword [esp + 0x94], xmm0
movss dword [esp + 0xa0], xmm4
movss dword [esp + 0xa4], xmm1
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm1
movss dword [esp + 0xb8], xmm2
movss dword [esp + 0xc0], xmm3
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xc8], xmm2
movss dword [esp + 0xd0], xmm4
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xd8], xmm2
movss dword [esp + 0xe0], xmm4
movss dword [esp + 0xe4], xmm1
movss dword [esp + 0xe8], xmm2
mov dword [esp + 0x20], 0x10000
mov dword [esp + 0x24], 0x20001
mov dword [esp + 0x28], 0x30002
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], 0x50004
mov dword [esp + 0x34], 0x60005
mov dword [esp + 0x38], 0x70006
mov dword [esp + 0x3c], 0x40007
mov dword [esp + 0x40], 0x70003
mov dword [esp + 0x44], 0x60002
mov dword [esp + 0x48], 0x40000
mov dword [esp + 0x4c], 0x50001
mov esi, dword [eax]
push ecx
mov dword [esp + 0x20], 0
push 1
mov eax, dword [esi]
push esi
call dword [eax + 0xec]
mov eax, dword [esi]
push 1
push 0x16
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 1
push 0x1b
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 1
push 0xf
push esi
call dword [eax + 0xe4]
mov eax, dword [esi]
push 0x42
push esi
call dword [eax + 0x164]
mov eax, dword [esi]
lea ecx, [esp + 0x190]
push ecx
push 0x100
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
push 0x9847b0
push 2
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
push 0x9847f0
push 3
push esi
call dword [eax + 0xb0]
mov eax, dword [esi]
lea ecx, [esp + 0x70]
push 0x10
push ecx
push 0x65
lea ecx, [esp + 0x2c]
push ecx
push 0xc
push 0x18
push 0
push 2
push esi
call dword [eax + 0x150]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x10099e94
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
add edi, 0x30
add ebx, 0x30
cmp edi, dword [esp + 0x108]
jne 0x100998a0
mov ebx, dword [esp + 0x6c]
mov edi, 0x7869c0
add ebx, 8
mov dword [esp + 0x6c], ebx
cmp ebx, dword [esp + 0x10c]
jne 0x10099615
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret