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

Disassembly:
sub esp, 0x174
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x170], eax
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x94], 0
push edi
mov dword [esp + 0x58], esi
mov dword [esp + 0x9c], 0
mov eax, dword [esi + 4]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x160]
push eax
mov eax, dword [esp + 0x18c]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.100d9290
lea eax, [esp + 0x160]
test eax, eax
je 0x100d9be1
lea eax, [esp + 0x98]
test eax, eax
je 0x100d9be1
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0xac]
call fcn.100da780
test al, al
je 0x100d9be1
lea ecx, [esp + 0xa8]
call fcn.100da390
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xf4]
call fcn.100da290
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x114]
call fcn.100da780
test al, al
je 0x100d9be1
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xac]
call fcn.100da590
movss xmm1, dword [0x10129874]
movss xmm2, dword [0x10124838]
movss xmm0, dword [esp + 0xa8]
mulss xmm0, xmm1
mov ebx, dword [esi + 8]
mov ebp, dword [esi + 0x18]
dec ebx
mov dword [esp + 0x3c], ebx
addss xmm0, xmm2
mov dword [esp + 0x1c], ebp
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xac]
mulss xmm0, xmm1
mov dword [esp + 0x6c], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xb0]
mulss xmm0, xmm1
mov dword [esp + 0x68], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xb4]
mulss xmm0, xmm1
mov dword [esp + 0x88], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xb8]
mulss xmm0, xmm1
mov dword [esp + 0x48], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xbc]
mulss xmm0, xmm1
mov dword [esp + 0x5c], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc0]
mulss xmm0, xmm1
mov dword [esp + 0x7c], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc4]
mulss xmm0, xmm1
mov dword [esp + 0x78], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc8]
mulss xmm0, xmm1
mov dword [esp + 0x70], eax
addss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [esp + 0x94], eax
mov eax, dword [esi + 4]
dec eax
mov dword [esp + 0x50], eax
lea ecx, [eax*4]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x74], ecx
imul ecx, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
push ecx
push 0
push ebp
mov dword [esp + 0x1c], eax
call fcn.100639b0
mov edi, dword [esp + 0x174]
add esp, 0xc
cmp dword [esp + 0x160], edi
mov ecx, edi
mov edx, dword [esp + 0x170]
mov eax, edx
cmovl ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x178]
cmp ecx, edx
cmovl eax, ecx
cmp eax, ebx
jge 0x100d9d53
cmp ecx, edx
mov eax, edx
cmovl eax, ecx
jmp 0x100d9d55
mov eax, ebx
test eax, eax
jns 0x100d9d61
xor ebp, ebp
mov dword [esp + 0x40], ebp
jmp 0x100d9d7f
cmp ecx, edx
mov eax, edx
cmovl eax, ecx
cmp eax, ebx
jge 0x100d9d79
cmp ecx, edx
mov ebp, edx
cmovl ebp, ecx
mov dword [esp + 0x40], ebp
jmp 0x100d9d7f
mov ebp, ebx
mov dword [esp + 0x40], ebx
mov esi, dword [esp + 0x16c]
mov ebx, esi
cmp dword [esp + 0x164], esi
mov ecx, dword [esp + 0x174]
mov eax, ecx
cmovl ebx, dword [esp + 0x164]
cmp ebx, ecx
cmovl eax, ebx
cmp eax, dword [esp + 0x17c]
jge 0x100d9db7
cmp ebx, ecx
mov eax, ecx
cmovl eax, ebx
jmp 0x100d9dbe
mov eax, dword [esp + 0x17c]
test eax, eax
jns 0x100d9dc6
xor ebx, ebx
jmp 0x100d9de8
cmp ebx, ecx
mov eax, ecx
cmovl eax, ebx
cmp eax, dword [esp + 0x17c]
jge 0x100d9de1
cmp ebx, ecx
mov eax, ecx
cmovl eax, ebx
mov ebx, eax
jmp 0x100d9de8
mov ebx, dword [esp + 0x17c]
cmp dword [esp + 0x160], edi
mov eax, edx
cmovg edi, dword [esp + 0x160]
cmp edi, edx
cmovg eax, edi
cmp eax, dword [esp + 0x178]
jle 0x100d9e10
cmp edi, edx
mov eax, edx
cmovg eax, edi
jmp 0x100d9e17
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x20]
jge 0x100d9e2d
mov edx, eax
mov dword [esp + 0x30], eax
jmp 0x100d9e4f
cmp edi, edx
mov eax, edx
cmovg eax, edi
cmp eax, dword [esp + 0x178]
jle 0x100d9e44
cmp edi, edx
cmovg edx, edi
jmp 0x100d9e4b
mov edx, dword [esp + 0x178]
mov dword [esp + 0x30], edx
cmp dword [esp + 0x164], esi
mov eax, ecx
mov edi, dword [esp + 0x17c]
cmovg esi, dword [esp + 0x164]
cmp esi, ecx
cmovg eax, esi
cmp eax, edi
jle 0x100d9e79
cmp esi, ecx
mov eax, ecx
cmovg eax, esi
jmp 0x100d9e7b
mov eax, edi
cmp dword [esp + 0x3c], eax
jge 0x100d9e87
mov ecx, dword [esp + 0x3c]
jmp 0x100d9e9b
cmp esi, ecx
mov eax, ecx
cmovg eax, esi
cmp eax, edi
jle 0x100d9e99
cmp esi, ecx
cmovg ecx, esi
jmp 0x100d9e9b
mov ecx, edi
mov eax, ebx
imul eax, dword [esp + 0x74]
add dword [esp + 0x1c], eax
cmp ebx, ecx
jge 0x100da274
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
movss xmm5, dword [0x10123d54]
imul eax, ebx
imul esi, ebx
imul edi, ebx
sub ecx, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x60], edi
cmp ebp, edx
jge 0x100da249
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x1c]
imul esi, ebp
add edx, 2
imul ebx, ebp
add esi, edi
mov edi, dword [esp + 0x6c]
add esi, dword [esp + 0x7c]
add ebx, eax
add ebx, dword [esp + 0x94]
mov eax, ebp
imul eax, dword [esp + 0x10]
imul edi, ebp
add edx, eax
mov eax, dword [esp + 0x30]
add edi, dword [esp + 0x20]
add edi, dword [esp + 0x88]
sub eax, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], eax
lea ebx, [ebx]
movd xmm0, ebx
movaps xmm1, xmm5
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x54], 0
movd xmm3, edi
divss xmm1, xmm0
movd xmm4, esi
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
mulss xmm3, xmm1
mulss xmm4, xmm1
movss dword [esp + 0x158], xmm3
movss dword [esp + 0x15c], xmm4
fld dword [esp + 0x158]
fistp dword [esp + 0x38]
fld dword [esp + 0x15c]
fistp dword [esp + 0x54]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x100da211
cmp eax, dword [esp + 0x50]
jge 0x100da211
mov ebp, dword [esp + 0x54]
test ebp, ebp
js 0x100da20d
cmp ebp, dword [esp + 0x3c]
jge 0x100da20d
movd xmm0, dword [esp + 0x38]
movaps xmm2, xmm5
cvtdq2ps xmm0, xmm0
mov edx, eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
movss xmm6, dword [0x10129874]
movaps xmm1, xmm5
subss xmm3, xmm0
movss xmm7, dword [0x10124838]
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x10]
mov eax, ecx
mov dword [esp + 0x28], 0
imul edx, dword [esp + 0x10]
subss xmm1, xmm3
subss xmm4, xmm0
imul eax, ebp
movaps xmm0, xmm4
subss xmm2, xmm4
mulss xmm0, xmm3
add edx, eax
mov eax, dword [esp + 0x58]
mulss xmm0, xmm6
add edx, dword [eax + 0x14]
mov eax, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x8c], edx
addss xmm0, xmm7
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add edx, ecx
add eax, edx
mov dword [esp + 0x18], eax
movss dword [esp + 0x158], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm3
mulss xmm0, xmm6
addss xmm0, xmm7
movss dword [esp + 0x90], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm4
mulss xmm1, xmm2
mulss xmm0, xmm6
mulss xmm1, xmm6
addss xmm0, xmm7
addss xmm1, xmm7
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm1
fld dword [esp + 0x158]
fistp dword [esp + 0x15c]
fld dword [esp + 0x90]
fistp dword [esp + 0x24]
fld dword [esp + 0x80]
fistp dword [esp + 0x2c]
fld dword [esp + 0x84]
fistp dword [esp + 0x28]
mov ebp, dword [esp + 0x8c]
movzx eax, byte [edx]
inc edx
imul eax, dword [esp + 0x2c]
mov dword [esp + 0x158], edx
movzx ecx, byte [ebp]
imul ecx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
imul eax, dword [esp + 0x15c]
add ecx, eax
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
movzx eax, byte [eax]
imul eax, dword [esp + 0x24]
add ecx, eax
mov eax, dword [esp + 0x44]
sar ecx, 0x10
mov byte [eax - 2], cl
mov eax, dword [esp + 0x18]
movzx ecx, byte [ebp + 1]
inc eax
imul ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
movzx eax, byte [eax]
imul eax, dword [esp + 0x15c]
add ecx, eax
movzx eax, byte [edx]
imul eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
inc dword [esp + 0x158]
add ecx, eax
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
movzx eax, byte [eax]
imul eax, dword [esp + 0x24]
add ecx, eax
mov eax, dword [esp + 0x18]
inc eax
sar ecx, 0x10
mov byte [edx - 1], cl
movzx ecx, byte [ebp + 2]
imul ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
movzx eax, byte [eax]
imul eax, dword [esp + 0x15c]
add ecx, eax
mov eax, dword [esp + 0x158]
movzx eax, byte [eax]
imul eax, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
imul eax, dword [esp + 0x24]
add ecx, eax
sar ecx, 0x10
cmp dword [esp + 0x10], 4
mov byte [edx], cl
jne 0x100da20d
mov eax, dword [esp + 0x158]
movzx ecx, byte [ebp + 3]
imul ecx, dword [esp + 0x28]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x24]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x15c]
add ecx, eax
sar ecx, 0x10
mov byte [edx + 1], cl
mov ebp, dword [esp + 0x10]
add ebx, dword [esp + 0x78]
add edx, ebp
add edi, dword [esp + 0x6c]
add esi, dword [esp + 0x48]
dec dword [esp + 0x64]
mov dword [esp + 0x44], edx
jne 0x100d9f40
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x74]
add edi, dword [esp + 0x5c]
add esi, dword [esp + 0x68]
add eax, dword [esp + 0x70]
dec ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], ecx
jne 0x100d9ee1
mov ecx, dword [esp + 0x180]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005d006
add esp, 0x174
ret 4