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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov ecx, dword [0x10117114]
mov eax, ecx
push ebx
push esi
push edi
mov esi, dword [eax + 0x4a28]
mov dword [ebp - 0x14], eax
cmp byte [esi + 0x1de], 0
jne 0x10066f60
mov ecx, esi
call fcn.10065c20
mov ecx, dword [0x10117114]
cmp byte [esi + 0x1df], 0
mov eax, dword [esi + 0x14c]
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x150]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], eax
je 0x10066f94
mov ecx, esi
call fcn.10067cd0
mov ecx, dword [0x10117114]
test bl, 0x20
je 0x10066fdc
movzx ebx, word [esi + 0x1b4]
cmp bx, 0xffff
je 0x10066fd9
cmp dword [ecx + 0x3e98], 0
jne 0x10066fd9
cmp dword [ecx + 0x3e9c], 0
jne 0x10066fd9
cmp byte [ecx + 0x371f], 0
je 0x10066fd9
mov edx, 0x282
call fcn.10002ba0
cmp byte [eax + 8], 0
jne 0x10066fd9
movsx ecx, bx
call fcn.1006abb0
mov ebx, dword [ebp - 8]
movsx eax, word [esi + 0x4c]
test eax, eax
jne 0x10066fec
lea edx, [esi + 0x168]
jmp 0x10066ffb
mov edx, dword [esi + 0x184]
lea ecx, [eax + eax*2]
add edx, 0xffffffec
lea edx, [edx + ecx*8]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x44]
mov ecx, dword [ecx + 0x48]
mov dword [edi + 0x124], ecx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x120], eax
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
mov dword [edi + 0x11c], ecx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x118], eax
mov eax, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x58]
mov dword [edi + 0x108], eax
mov dword [edi + 0x10c], ecx
movss xmm1, dword [esi + 0x54]
movss dword [ebp - 0x18], xmm1
cmp edi, dword [ebp - 0xc]
je 0x10067053
movss dword [edi + 0x10c], xmm1
jmp 0x10067077
test ebx, 0x20000
jne 0x10067077
movss xmm0, dword [esi + 0xc8]
maxss xmm0, xmm1
movss dword [esi + 0xd8], xmm0
movss dword [esi + 0xc8], xmm0
movss xmm1, dword [esi + 0xc8]
movss xmm0, dword [esi + 0xe8]
movss xmm2, dword [0x101074ec]
maxss xmm0, xmm1
movss dword [esi + 0xe8], xmm0
subss xmm1, dword [esi + 0xc0]
movss dword [edx], xmm1
mov eax, dword [esi + 4]
test eax, 0x1000000
je 0x1006711f
test eax, 0x400
jne 0x100670bb
xorps xmm2, xmm2
mov edx, dword [esi + 0x150]
movzx eax, word [esi + 0x1c6]
movss xmm1, dword [edx + 0x108]
cmp ax, 0xffff
je 0x100670fe
cwde
imul ecx, eax, 0x70
mov eax, dword [esi + 0x10]
movss xmm0, dword [ecx + eax + 0x38]
addss xmm0, dword [esi + 0x94]
addss xmm0, dword [esi + 0x90]
subss xmm0, xmm2
maxss xmm0, xmm1
movaps xmm1, xmm0
cmp word [esi + 0x1ba], 0xffff
je 0x10067117
movss xmm0, dword [esi + 0xb4]
maxss xmm0, xmm1
movaps xmm1, xmm0
movss dword [edx + 0x108], xmm1
test ebx, 0x100000
jne 0x10067157
mov ecx, dword [edi + 0x264]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x10067140
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1006714b
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.10059230
mov eax, dword [edi + 0x264]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [edi + 0x210], eax
movss dword [edi + 0x214], xmm0
movss dword [edi + 0x218], xmm1
movss dword [edi + 0x21c], xmm2
test ebx, 0x780
je 0x100671a8
mov ecx, esi
call fcn.100693f0
mov ebx, dword [esi + 0x160]
mov ecx, ebx
push 0
push dword [edi + 0x264]
call fcn.1005cd90
test dword [esi + 4], 0x100000
jne 0x100671cd
mov ecx, esi
call fcn.10068a60
push dword [edi + 0x264]
mov ecx, ebx
call fcn.1005c8d0
xor ebx, ebx
xorps xmm3, xmm3
xorps xmm5, xmm5
xorps xmm4, xmm4
xorps xmm6, xmm6
cmp dword [esi + 0x40], ebx
jle 0x100672b9
xor edi, edi
mov ecx, ebx
mov edx, 1
and ecx, 0x1f
mov eax, ebx
shl edx, cl
mov ecx, dword [esi + 0x2c]
shr eax, 5
test dword [ecx + eax*4], edx
je 0x100672a9
mov ecx, dword [esi + 0x10]
add ecx, edi
mov edx, dword [ecx]
mov eax, edx
and al, 0x30
cmp al, 0x10
jne 0x10067226
movss xmm1, dword [ecx + 0x10]
jmp 0x10067276
movss xmm1, dword [ecx + 0x40]
movss xmm2, dword [ecx + 0x34]
maxss xmm1, dword [ecx + 0x44]
subss xmm1, xmm2
test edx, 0x2000
jne 0x10067251
movss xmm0, dword [ecx + 0x4c]
subss xmm0, xmm2
maxss xmm0, xmm1
movaps xmm1, xmm0
test dl, 0x10
je 0x1006726e
movss xmm0, dword [ecx + 0x1c]
comiss xmm0, xmm3
jbe 0x1006726e
test byte [esi + 4], 1
je 0x1006726b
test dl, 0x20
je 0x1006726e
movaps xmm1, xmm0
maxss xmm1, dword [esi + 0x8c]
mov eax, edx
movaps xmm0, xmm1
test al, 0x10
je 0x10067285
addss xmm5, xmm0
jmp 0x10067289
addss xmm4, xmm0
and edx, 0x28
cmp dl, 0x28
jne 0x100672a9
movss xmm0, dword [ecx + 0x18]
divss xmm0, dword [esi + 0xac]
divss xmm1, xmm0
maxss xmm1, xmm6
movaps xmm6, xmm1
inc ebx
add edi, 0x70
cmp ebx, dword [esi + 0x40]
jl 0x100671f3
mov edi, dword [ebp - 0x10]
test dword [esi + 4], 0x1000000
maxss xmm4, xmm6
movsx ecx, word [esi + 0x1ae]
xorps xmm0, xmm0
movss xmm2, dword [esi + 0x9c]
addss xmm2, dword [esi + 0x98]
movss xmm1, dword [esi + 0x90]
movss xmm3, dword [esi + 0x94]
lea eax, [ecx - 1]
cvtsi2ss xmm0, eax
mov edx, dword [ebp - 0xc]
addss xmm1, xmm1
mulss xmm2, xmm0
addss xmm3, xmm3
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm2, xmm1
mulss xmm0, xmm3
addss xmm2, xmm0
addss xmm2, xmm5
addss xmm2, xmm4
movss dword [esi + 0xa8], xmm2
jne 0x10067339
cmp edi, edx
je 0x10067339
mov dword [edi + 0x78], 0
jmp 0x100673e6
movzx ecx, word [esi + 0x1bc]
cmp cx, 0xffff
je 0x100673e6
cmp word [esi + 0x1ba], 0xffff
jne 0x100673e6
cmp byte [edi + 0xa8], 0
je 0x100673e6
mov ax, word [esi + 0x4e]
cmp ax, word [esi + 0x4c]
jne 0x100673e6
movss xmm0, dword [esi + 0xec]
addss xmm3, dword [esi + 0x8c]
movsx eax, cx
imul ecx, eax, 0x70
mov eax, dword [esi + 0x10]
movss xmm1, dword [ecx + eax + 0xc]
comiss xmm0, xmm1
jbe 0x1006739e
subss xmm1, dword [edi + 0x14]
subss xmm1, xmm3
jmp 0x100673b0
comiss xmm1, dword [esi + 0xf4]
jbe 0x100673e6
subss xmm1, dword [edi + 0x14]
addss xmm1, xmm3
subss xmm1, dword [edi + 0x54]
mov dword [edi + 0x98], 0
mov dword [edi + 0x90], 0x3f800000
subss xmm1, dword [edi + 0x64]
addss xmm1, dword [edi + 0x78]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x88], xmm0
movzx ecx, word [esi + 0x1ba]
cmp cx, 0xffff
je 0x10067452
mov ax, word [esi + 0x4c]
cmp ax, word [esi + 0x4e]
jne 0x10067452
mov eax, dword [ebp - 0x14]
movss xmm1, dword [esi + 0x94]
addss xmm1, xmm1
movss xmm0, dword [eax + 0xdbc]
subss xmm0, dword [eax + 0x3ec0]
movsx eax, cx
imul ecx, eax, 0x70
mov eax, dword [esi + 0x10]
addss xmm0, dword [0x101075a8]
subss xmm0, dword [ecx + eax + 8]
subss xmm0, dword [esi + 0x98]
subss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xb0], xmm0
cmp word [esi + 0x4c], 0
mov ecx, dword [0x10117114]
jle 0x1006746b
mov eax, dword [ecx + 0x3e60]
dec dword [eax + 0xe4]
mov eax, dword [ecx + 0x3e60]
lea ebx, [esi + 0xbc]
dec dword [eax + 0xe4]
movss xmm0, dword [edx + 0x108]
mov eax, dword [ebp - 4]
movss dword [ebp - 8], xmm0
movss xmm0, dword [edx + 0x10c]
movss dword [ebp - 0x10], xmm0
movups xmm0, xmmword [eax + 0x24]
movups xmmword [edi + 0x1f0], xmm0
movups xmm0, xmmword [eax + 0x34]
movups xmmword [edi + 0x200], xmm0
mov al, byte [esi + 0x1ee]
mov byte [edi + 0xaf], al
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [edx + 0xf4], ecx
mov ecx, dword [ebp - 4]
mov dword [edx + 0xf0], eax
mov eax, dword [ecx + 0x60]
mov dword [edx + 0x1a0], eax
mov eax, dword [ecx + 0x64]
mov dword [edx + 0x1a8], eax
mov eax, dword [ecx + 0x5c]
mov dword [edx + 0x138], eax
cmp edi, edx
je 0x100674f6
call fcn.1000c570
jmp 0x10067533
movss xmm0, dword [ebx + 8]
lea ecx, [ebp - 0x20]
subss xmm0, dword [ebx]
movss xmm1, dword [0x101076e8]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebx + 0xc]
subss xmm0, dword [ebx + 4]
movss dword [ebp - 0x1c], xmm0
call fcn.10014d30
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.10014e90
add esp, 8
mov eax, dword [esi + 4]
xorps xmm3, xmm3
mov ecx, dword [ebp - 4]
test eax, 0x10000
je 0x1006755a
movss xmm0, dword [esi + 0xa8]
addss xmm0, dword [ebx]
movss xmm2, dword [ebp - 8]
maxss xmm2, xmm0
jmp 0x100675d3
movss xmm2, dword [ecx + 8]
comiss xmm3, xmm2
jb 0x100675c6
test eax, 0x1000000
je 0x10067575
movss xmm0, dword [edi + 0xa0]
jmp 0x10067578
xorps xmm0, xmm0
movss xmm1, dword [esi + 0xa8]
addss xmm1, dword [ebx]
mov eax, dword [ebp - 0xc]
addss xmm1, xmm0
movss xmm0, dword [eax + 0x110]
subss xmm1, xmm2
movss xmm2, dword [ebp - 8]
maxss xmm0, xmm1
movss dword [eax + 0x110], xmm0
movss xmm0, dword [esi + 0xa8]
addss xmm0, dword [ebx]
movss xmm1, dword [esi + 0xc4]
minss xmm1, xmm0
maxss xmm2, xmm1
jmp 0x100675d3
movss xmm2, dword [ebp - 8]
maxss xmm2, dword [esi + 0xc4]
mov ebx, dword [ebp - 0xc]
movss dword [ebx + 0x108], xmm2
movss xmm0, dword [ecx + 0xc]
comiss xmm3, xmm0
jb 0x1006762e
test dword [esi + 4], 0x2000000
je 0x100675f9
movss xmm3, dword [edi + 0xa4]
addss xmm3, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x10]
subss xmm3, xmm0
movss xmm0, dword [ebx + 0x114]
maxss xmm0, xmm3
movss dword [ebx + 0x114], xmm0
movss xmm0, dword [esi + 0xc8]
minss xmm0, dword [ebp - 0x18]
maxss xmm1, xmm0
jmp 0x1006763b
movss xmm1, dword [ebp - 0x10]
maxss xmm1, dword [esi + 0xc8]
movss dword [ebx + 0x10c], xmm1
cmp byte [esi + 0x1e5], 0
je 0x10067653
mov ecx, esi
call fcn.1006afb0
mov edx, dword [ebp - 0x14]
mov byte [esi + 0x1e0], 0
mov eax, dword [edx + 0x4a2c]
dec eax
mov dword [edx + 0x4a2c], eax
test eax, eax
jle 0x100676a6
imul ecx, eax, 0x68
mov eax, dword [edx + 0x4a38]
add eax, 0xffffff98
add ecx, eax
je 0x100676a6
imul eax, dword [ecx], 0x1f0
add eax, dword [edx + 0x4a44]
mov dword [edx + 0x4a28], eax
je 0x100676b0
mov dword [eax + 0xc], ecx
add ecx, 0x10
mov eax, dword [edx + 0x4a28]
mov dword [eax + 0x160], ecx
jmp 0x100676b0
mov dword [edx + 0x4a28], 0
mov ecx, dword [edx + 0x4a28]
test ecx, ecx
je 0x100676d5
sub ecx, dword [edx + 0x4a44]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x100676d8
or eax, 0xffffffff
mov dword [ebx + 0x194], eax
mov eax, dword [0x10117114]
cmp dword [eax + 0x4a28], 0
mov ecx, dword [eax + 0x3e60]
jne 0x1006770a
cmp dword [ecx + 0x190], 0
jne 0x1006770a
mov al, 1
mov byte [ecx + 0x150], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov byte [ecx + 0x150], al
pop ebx
mov esp, ebp
pop ebp
ret