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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x1008204b
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x1009fc80]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov dword [esp + 0x20], ecx
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x10], eax
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
cmp dword [ecx + 0x10], 2
mov edx, dword [eax + 0x2724]
mov dword [esp + 0x80], edi
mov dword [esp + 0x5c], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
lea ebx, [edi + 0x13]
je 0x1002d050
mov ebx, dword [eax]
mov ecx, dword [eax + 0x2750]
sub ecx, dword [eax + 0x274c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], eax
mov eax, ebx
imul eax, ebx
mov dword [esp + 0x30], ebx
cmp eax, edi
je 0x1002d08f
cmp eax, 0x3ffffff
setg cl
test cl, cl
je 0x1002d08f
call fcn.100313a0
push 0x20
push eax
shl eax, 5
push eax
mov ecx, esi
call fcn.10031af0
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
xorps xmm0, xmm0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
movss dword [esp + 0x70], xmm0
cmp ebx, edi
je 0x1002d106
cmp ecx, edi
je 0x1002d106
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ebx, eax
setg al
test al, al
je 0x1002d0d2
call fcn.100313a0
cmp ecx, edi
je 0x1002d106
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ebx, eax
setg al
test al, al
je 0x1002d0ec
call fcn.100313a0
cmp ecx, edi
je 0x1002d106
mov eax, 0x7fffffff
cdq
idiv ecx
cmp ebx, eax
setg al
test al, al
je 0x1002d106
call fcn.100313a0
push ecx
imul ecx, ebx
push ebx
push ecx
mov ecx, esi
call fcn.10031af0
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
imul eax, ecx
mov ebx, eax
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, eax
add eax, eax
xor ecx, ecx
cmp eax, edi
jle 0x1002d155
xorps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm3, xmm0
movaps xmm2, xmm0
unpcklps xmm3, xmm1
unpcklps xmm0, xmm2
unpcklps xmm0, xmm3
mov edx, dword [esi]
lea edx, [edx + ecx*4]
add ecx, 4
cmp ecx, eax
movaps xmmword [edx], xmm0
jl 0x1002d146
push ebx
push eax
lea eax, [esp + 0x6c]
push esi
push eax
call fcn.10031b60
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
add esp, 0x10
cmp dword [ecx + 0x10], edi
je 0x1002d177
mov eax, 2
mov dword [esp + 0x28], eax
xor eax, 3
mov dword [esp + 0x34], eax
xor ebx, ebx
lea eax, [ebx + 1]
cmp dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
jl 0x1002d1de
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2750]
sub ecx, dword [eax + 0x274c]
mov edi, dword [esp + 0x24]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
sub edi, ebx
shr eax, 0x1f
dec edi
add eax, edx
cmp edi, eax
jb 0x1002d1c2
call fcn.100661d7
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x274c]
lea ecx, [edi + edi*2]
lea eax, [eax + ecx*8]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov dword [esp + ebx*4 + 0x4c], ecx
xor edi, edi
mov ebx, eax
cmp ebx, 4
jl 0x1002d184
mov eax, dword [esp + 0x30]
cmp eax, edi
jle 0x1002d67a
mov edx, dword [esp + 0x10]
movss xmm0, dword [0x100867d4]
add edx, 0x75b8
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], 0x60
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
cmp eax, 2
je 0x1002d24b
cmp eax, 1
jne 0x1002d3d4
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0x1930]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov ebx, dword [ecx + edx*8 + 0x2780]
lea eax, [ecx + edx*8 + 0x2778]
mov edx, dword [esp + 0x18]
push ecx
mov eax, esp
mov dword [esp + 0x30], esp
push ecx
mov dword [eax], edx
call fcn.10039930
mov edx, dword [esp + 0x18]
add esp, 8
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x1f], al
mov eax, esp
mov dword [esp + 0x34], esp
push edx
mov dword [eax], ecx
call fcn.100394d0
mov ecx, dword [esp + 0x34]
add esp, 0xc
cmp dword [esp + 0x3c], ecx
jne 0x1002d35c
cmp ebx, 1
jne 0x1002d2c2
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov ebx, edi
imul ebx, edx
lea ecx, [ecx + ebx*4]
jmp 0x1002d322
cmp ebx, 2
jne 0x1002d2d7
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov ebx, edi
imul ebx, edx
lea ecx, [ecx + ebx*4 + 4]
jmp 0x1002d322
cmp ebx, 3
jne 0x1002d2ec
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov ebx, edi
imul ebx, edx
lea ecx, [ecx + ebx*4 + 8]
jmp 0x1002d322
cmp ebx, 4
jne 0x1002d301
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov ebx, edi
imul ebx, edx
lea ecx, [ecx + ebx*4 + 0xc]
jmp 0x1002d322
cmp ebx, 5
jne 0x1002d316
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov ebx, edi
imul ebx, edx
lea ecx, [ecx + ebx*4 + 0x10]
jmp 0x1002d322
mov ecx, dword [esi + 8]
mov edx, dword [esi]
imul ecx, edi
lea ecx, [edx + ecx*4 + 0x14]
cmp byte [esp + 0x17], 0
movss xmm0, dword [0x100867d4]
movss dword [ecx], xmm0
je 0x1002d346
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x18]
jmp 0x1002d3d0
test al, al
je 0x1002d3d4
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x1c]
jmp 0x1002d3d0
mov ecx, dword [esi + 8]
mov edx, dword [esi]
imul ecx, edi
cmp ebx, 1
jne 0x1002d36f
lea ecx, [edx + ecx*4 + 0x20]
jmp 0x1002d39f
cmp ebx, 2
jne 0x1002d37a
lea ecx, [edx + ecx*4 + 0x24]
jmp 0x1002d39f
cmp ebx, 3
jne 0x1002d385
lea ecx, [edx + ecx*4 + 0x28]
jmp 0x1002d39f
cmp ebx, 4
jne 0x1002d390
lea ecx, [edx + ecx*4 + 0x2c]
jmp 0x1002d39f
cmp ebx, 5
jne 0x1002d39b
lea ecx, [edx + ecx*4 + 0x30]
jmp 0x1002d39f
lea ecx, [edx + ecx*4 + 0x34]
cmp byte [esp + 0x17], 0
movss xmm0, dword [0x100867d4]
movss dword [ecx], xmm0
je 0x1002d3c0
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x38]
jmp 0x1002d3d0
test al, al
je 0x1002d3d4
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x3c]
movss dword [eax], xmm0
mov edx, dword [esp + 0x48]
cmp edx, dword [esp + 0x28]
jne 0x1002d3ee
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x40]
movss dword [eax], xmm0
cmp edx, dword [esp + 0x34]
jne 0x1002d404
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x44]
movss dword [eax], xmm0
cmp dword [esp + 0x3c], 0
jne 0x1002d5ab
cmp dword [esp + 0x18], 1
je 0x1002d45d
cmp dword [esp + 0x18], 2
je 0x1002d45d
mov edx, dword [esp + 0x1c]
cmp dword [edx], 0
jne 0x1002d46d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x2720]
je 0x1002d46d
mov edx, dword [esp + 0x28]
push ecx
mov eax, esp
push ecx
mov ecx, dword [esp + 0x20]
mov dword [eax], edx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
call fcn.10016490
movss xmm0, dword [0x100867d4]
test al, al
jne 0x1002d46d
mov eax, dword [esi + 8]
mov ecx, dword [esi]
imul eax, edi
lea eax, [ecx + eax*4 + 0x48]
movss dword [eax], xmm0
mov ebx, dword [esp + 0x18]
cmp ebx, 1
je 0x1002d4b3
cmp ebx, 2
je 0x1002d4b3
mov edx, dword [esp + 0x1c]
cmp dword [edx], 0
jne 0x1002d4c5
mov eax, dword [esp + 0x10]
cmp ebx, dword [eax + 0x2720]
je 0x1002d4c5
push ecx
mov ecx, dword [esp + 0x38]
mov eax, esp
mov dword [eax], ecx
push ecx
mov ecx, dword [esp + 0x18]
mov eax, esp
mov dword [eax], ebx
call fcn.10016490
test al, al
jne 0x1002d4c5
movss xmm0, dword [0x100867d4]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov edx, edi
imul edx, ecx
lea eax, [eax + edx*4 + 0x4c]
movss dword [eax], xmm0
push ecx
mov ecx, dword [esp + 0x2c]
mov eax, esp
mov dword [eax], ecx
push ecx
mov ecx, dword [esp + 0x18]
mov eax, esp
mov dword [eax], ebx
call fcn.100186c0
cmp eax, 1
jg 0x1002d4fb
mov ecx, dword [esi + 8]
mov eax, dword [esi]
movss xmm0, dword [0x100867d4]
mov edx, edi
imul edx, ecx
lea eax, [eax + edx*4 + 0x50]
movss dword [eax], xmm0
push ecx
mov ecx, dword [esp + 0x38]
mov eax, esp
mov dword [eax], ecx
push ecx
mov ecx, dword [esp + 0x18]
mov eax, esp
mov dword [eax], ebx
call fcn.100186c0
cmp eax, 1
jg 0x1002d531
mov ecx, dword [esi + 8]
mov eax, dword [esi]
movss xmm0, dword [0x100867d4]
mov edx, edi
imul edx, ecx
lea eax, [eax + edx*4 + 0x54]
movss dword [eax], xmm0
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x2c]
mov eax, esp
mov dword [eax], ecx
push ecx
mov eax, esp
mov dword [eax], ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], edx
call fcn.100380c0
test al, al
jne 0x1002d56e
mov ecx, dword [esi + 8]
mov eax, dword [esi]
movss xmm0, dword [0x100867d4]
mov edx, edi
imul edx, ecx
lea eax, [eax + edx*4 + 0x58]
movss dword [eax], xmm0
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x38]
mov eax, esp
mov dword [eax], ecx
push ecx
mov eax, esp
mov dword [eax], ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], edx
call fcn.100380c0
movss xmm0, dword [0x100867d4]
test al, al
jne 0x1002d5ab
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov edx, edi
imul edx, ecx
lea eax, [eax + edx*4 + 0x5c]
movss dword [eax], xmm0
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x4c], edx
jne 0x1002d5c7
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x60]
movss dword [eax], xmm0
cmp dword [esp + 0x50], edx
jne 0x1002d5df
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x64]
movss dword [eax], xmm0
cmp dword [esp + 0x54], edx
jne 0x1002d5f7
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x68]
movss dword [eax], xmm0
cmp dword [esp + 0x58], edx
jne 0x1002d60f
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x6c]
movss dword [eax], xmm0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x2720], 0
je 0x1002d62e
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x70]
movss dword [eax], xmm0
cmp dword [esp + 0x3c], 3
jne 0x1002d647
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov ebx, edi
imul ebx, ecx
lea eax, [eax + ebx*4 + 0x7c]
movss dword [eax], xmm0
add dword [esp + 0x1c], 4
inc edx
inc edi
sub dword [esp + 0x44], 1
mov dword [esp + 0x18], edx
jne 0x1002d233
mov ecx, dword [esp + 0x30]
add dword [esp + 0x40], ecx
add dword [esp + 0x38], 0x17
add dword [esp + 0x24], 0x5c
sub dword [esp + 0x20], 1
jne 0x1002d217
mov eax, esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8