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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
push ebx
push esi
mov esi, dword [0x1003a830]
mov ebx, esi
push edi
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xc], ebx
mov eax, dword [ebx + 0x199c]
mov byte [eax + 0x7c], 1
mov edi, dword [ebx + 0x199c]
mov dword [ebp - 0x28], edi
cmp byte [edi + 0x7f], 0
jne 0x100256d4
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0x3c], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0x24], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xa0], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x6c], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x70], eax
test dl, dl
je 0x10025453
call fcn.1000d320
mov esi, dword [0x1003a830]
mov ecx, dword [edi + 0x1c4]
xor edx, edx
mov eax, dword [edi + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xa8]
call fcn.100028a0
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [esi + 0x19bc], eax
jne 0x10025484
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10025493
mov byte [esi + 0x19d0], 1
mov eax, dword [ebp - 0xa8]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100254b6
mov dl, byte [ecx]
test dl, dl
je 0x100254b6
cmp dl, 0x23
jne 0x100254b0
cmp byte [ecx + 1], dl
je 0x100254b6
inc ecx
cmp ecx, 0xffffffff
jb 0x100254a0
movss xmm0, dword [0x10036ca4]
movss xmm4, dword [esi + 0x18bc]
movss dword [ebp - 0xa4], xmm0
xorps xmm0, xmm0
cmp eax, ecx
jne 0x100254df
movss dword [ebp - 0xb4], xmm0
jmp 0x1002552c
movss xmm3, dword [0x10036c98]
movaps xmm2, xmm4
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18b8]
lea eax, [ebp - 0x68]
mov dword [esp], 0xbf800000
push eax
call fcn.1001e3f0
movss xmm0, dword [ebp - 0x68]
addss xmm0, dword [str.__33s_]
movss xmm4, dword [ebp - 0x64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xb4], xmm0
xorps xmm0, xmm0
cmp byte [ebp - 0x24], 0
je 0x10025542
movss xmm4, dword [esi + 0x18bc]
mulss xmm4, dword [0x10036c48]
mov esi, dword [esi + 0x199c]
movss xmm5, dword [0x10036bdc]
movss xmm3, dword [esi + 0x170]
comiss xmm0, xmm3
jbe 0x100255c3
movss xmm2, dword [esi + 0xc8]
mov edi, dword [esi + 0x1c0]
movss xmm1, dword [esi + 0x218]
subss xmm2, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test edi, edi
je 0x100255b1
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x3c]
mov edi, dword [ebp - 0x28]
subss xmm1, xmm2
addss xmm1, xmm3
movaps xmm3, xmm5
maxss xmm3, xmm1
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x68]
movss xmm0, dword [ebx + 0x1548]
movaps xmm2, xmm0
addss xmm2, xmm0
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm3
addss xmm2, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.100051f0
movss xmm3, dword [edi + 0xc8]
xorps xmm5, xmm5
movss xmm1, dword [ebp - 0x68]
movaps xmm0, xmm3
movss xmm4, dword [edi + 0xcc]
addss xmm0, xmm1
movss xmm2, dword [ebp - 0xb4]
add esp, 8
comiss xmm2, xmm5
movss dword [ebp - 0x78], xmm1
movss xmm1, dword [ebp - 0x64]
movss dword [ebp - 0x8c], xmm1
addss xmm1, xmm4
movss dword [ebp - 0x88], xmm3
movss dword [ebp - 0x84], xmm4
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0x7c], xmm1
jbe 0x1002565a
addss xmm2, dword [ebx + 0x155c]
jmp 0x1002565d
xorps xmm2, xmm2
cmp byte [ebp - 0x24], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0x58], xmm3
movss dword [ebp - 0x54], xmm4
mov dword [ebp - 0x5c], edi
movss dword [ebp - 0x50], xmm0
movss dword [ebp - 0x4c], xmm1
je 0x10025779
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x88]
push eax
mov edx, esi
lea ecx, [ebp - 0x58]
call fcn.10004d80
add esp, 4
test al, al
jne 0x100256dd
movss xmm0, dword [ebp - 0x50]
lea ecx, [ebp - 0x68]
subss xmm0, dword [ebp - 0x58]
movss xmm1, dword [ebx + 0x1548]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x4c]
subss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x64], xmm0
call fcn.10004c20
call fcn.1000d450
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x80]
lea edx, [ebp - 0x68]
movss xmm1, dword [ebp - 0x88]
movss dword [ebp - 0xd0], xmm0
subss xmm0, xmm1
movss dword [ebp - 0x94], xmm1
movss xmm1, dword [ebp - 0x84]
push ecx
mov ecx, esi
movss dword [ebp - 0x74], xmm1
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, xmm1
movss dword [ebp - 0x64], xmm0
call fcn.10007970
add esp, 4
test al, al
jne 0x10025743
call fcn.10007700
call fcn.1000d450
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1003a830]
movss xmm0, dword [ebp - 0x78]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x199c]
mov dword [ebp - 0x5c], ecx
subss xmm0, dword [ecx + 0x70]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0x78], xmm0
jmp 0x100257e4
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x68]
movss dword [ebp - 0x64], xmm1
movss xmm1, dword [ebx + 0x1548]
movss dword [ebp - 0x68], xmm0
call fcn.10004c20
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x88]
push eax
mov edx, esi
lea ecx, [ebp - 0x58]
call fcn.10004d80
add esp, 4
test al, al
je 0x100256d4
movss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x94], xmm0
mov edx, esi
lea ecx, [ebp - 0x88]
call fcn.10004fb0
mov byte [ebp - 0xe], al
test al, al
je 0x10025802
mov dword [ebx + 0x1d04], 1
lea eax, [ebx + 0x1dc4]
xor ecx, ecx
cmp dword [eax], esi
mov ebx, eax
mov edx, esi
cmovne ebx, ecx
mov ecx, edi
mov dword [ebp - 0x9c], ebx
call fcn.10005120
mov edx, dword [ebp - 0xc]
mov byte [ebp - 0x35], al
test al, al
je 0x1002588b
cmp dword [edx + 0x1bb8], edi
jne 0x1002588b
mov ecx, dword [edx + 0x1bc0]
cmp ecx, dword [edi + 0x164]
jne 0x1002588b
mov byte [ebp - 5], 1
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0xe], 0
je 0x1002585b
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0xd], 1
jne 0x1002585f
mov byte [ebp - 0xd], 0
mov esi, dword [edx + 0x19bc]
mov eax, dword [ebp - 0x30]
cmp esi, eax
je 0x1002589d
cmp dword [edx + 0x1ac0], eax
je 0x10025885
cmp dword [edx + 0x1ab4], eax
jne 0x1002589d
cmp dword [edx + 0x1ad4], 3
jne 0x1002589d
mov byte [ebp - 6], 1
jmp 0x100258a1
mov byte [ebp - 5], 0
test al, al
je 0x10025844
mov byte [ebp - 0x19], 1
mov byte [ebp - 5], 0
jmp 0x10025848
mov byte [ebp - 6], 0
mov eax, dword [ebp - 0x24]
test al, al
je 0x100258e6
test ebx, ebx
je 0x100258e6
test esi, esi
jne 0x100258e6
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov ecx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100028a0
mov ecx, dword [ebp - 0xc]
add esp, 4
cmp dword [ecx + 0x19c0], eax
jne 0x100258e3
mov byte [ebp - 8], 1
jmp 0x100258f6
mov eax, dword [ebp - 0x24]
mov byte [ebp - 8], 0
test al, al
je 0x10025920
mov byte [ebp - 8], 0
test ebx, ebx
je 0x10025920
mov eax, dword [ebp - 0x5c]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1cc]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100028a0
add esp, 4
cmp esi, eax
jne 0x10025920
mov al, 1
jmp 0x10025922
xor al, al
mov edx, dword [ebp - 0x30]
mov cl, byte [ebp - 6]
mov byte [ebp - 7], al
mov byte [ebp - 0x44], 0
cmp esi, edx
je 0x10025947
test byte [ebp + 0x14], 0x10
jne 0x1002593d
test cl, cl
je 0x10025947
cmp byte [ebp - 0x24], 0
mov byte [ebp - 0x2c], 1
je 0x1002594b
mov byte [ebp - 0x2c], 0
cmp byte [ebp - 0x35], 0
mov dword [ebp - 0xac], 0x20
mov dword [ebp - 0x90], 1
jne 0x100259fd
cmp byte [ebp - 0xd], 0
jne 0x100259fd
cmp byte [ebp - 8], 0
jne 0x100259fd
test cl, cl
jne 0x100259fd
mov byte [ebp - 8], cl
test al, al
jne 0x10025a01
mov byte [ebp - 0xf], al
mov esi, edx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x19bc], esi
je 0x10025bdf
cmp byte [ebp - 8], 0
je 0x10025bdf
mov edx, edi
mov ecx, esi
call fcn.10004a50
call fcn.10004b00
mov ecx, edi
call fcn.1000ced0
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x19d8], 2
test eax, 0x440
je 0x100259dc
mov dword [edi + 0x19d8], 0x20002
cmp byte [ebp - 0x24], 0
jne 0x10025be1
test al, al
js 0x10025be1
mov dword [edi + 0x19d4], 0xc
jmp 0x10025be1
mov byte [ebp - 8], 1
mov byte [ebp - 0xf], 1
mov dword [ebp - 0x9c], ebx
cmp esi, edx
je 0x1002598b
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ebx, 0x1dc4
mov dword [ebp - 0x9c], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10025a32
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x10025a71
test edi, edi
je 0x10025a59
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10025a5e
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.10012530
lea eax, [ebx + 0x24]
push esi
push dword [ebp + 8]
mov dword [eax], esi
push dword [ebx + 0x2c]
call fcn.10031640
mov esi, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0x20], 0
cmp esi, 0x21
jge 0x10025aba
test esi, esi
je 0x10025aa2
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10025aa7
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10012620
mov dword [ebx + 0xc], 0x21
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x10025ae1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.10012530
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0xac]
push eax
push ecx
mov dword [ebx + 0x18], 0
mov ecx, dword [ebx + 0x14]
push esi
mov byte [ebx + 0x30], 0
call fcn.10002cd0
mov ecx, dword [ebp - 0x20]
add esp, 0xc
sub ecx, esi
mov edx, eax
mov esi, dword [ebp - 0x30]
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
cmp dword [ebx], esi
jne 0x10025b3e
cmp dword [ebx + 0x3c], edx
mov ecx, edx
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], edx
mov dword [ebx + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], edx
mov dword [ebx + 0x40], ecx
cmovl edx, dword [ebx + 0x44]
mov dword [ebx + 0x44], edx
jmp 0x10025baa
mov ecx, dword [ebp - 0x24]
mov al, cl
xor al, 1
mov dword [ebx], esi
mov dword [ebx + 0x38], 0
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe58], 0
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0x10000
mov dword [ebx + 0x50], 0
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x10025bad
mov ecx, dword [ebp - 0x2c]
cmp byte [ebp - 5], 0
movzx ecx, cl
cmovne ecx, dword [ebp - 0x90]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x24]
test dword [ebp + 0x14], 0x2000
je 0x10025bba
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x10025bd7
cmp byte [ebp - 0x19], cl
jne 0x10025bd3
cmp byte [ebp - 0xd], cl
je 0x10025bd7
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xf8], cl
je 0x10025bd7
mov byte [ebp - 0x2c], 1
mov edi, dword [ebp - 0x28]
jmp 0x1002598d
mov edi, eax
cmp dword [edi + 0x19bc], esi
jne 0x10025bf2
test ebx, ebx
jne 0x10025bf2
call fcn.10004bc0
mov eax, dword [edi + 0x19bc]
cmp eax, esi
jne 0x10025c1f
cmp byte [edi + 0x3d8], 0
je 0x10025c1f
cmp byte [ebp - 0xf], 0
jne 0x10025c1f
mov ecx, dword [ebp - 0x44]
cmp byte [ebp - 8], 0
movzx ecx, cl
cmove ecx, dword [ebp - 0x90]
mov dword [ebp - 0x44], ecx
cmp byte [ebp - 0x3c], 0
je 0x10025ce2
test ebx, ebx
je 0x10025ce2
cmp eax, esi
je 0x10025c3f
cmp byte [ebp - 7], 0
jne 0x10025c3f
xor cl, cl
jmp 0x10025c41
mov cl, 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10025c4d
test cl, cl
jne 0x10025c55
test cl, cl
je 0x10025ce2
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x20], 0
cmp esi, 0x21
jge 0x10025c8d
test esi, esi
je 0x10025c75
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10025c7a
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10012620
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x20]
push eax
push ecx
mov dword [ebx + 0xc], 0x21
mov edx, 0x21
mov ecx, dword [ebx + 0x14]
push edi
call fcn.10002cd0
mov ecx, dword [ebp - 0x20]
mov esi, eax
sub ecx, edi
mov dword [ebx + 4], esi
mov edi, dword [ebp - 0xc]
add esp, 0xc
cmp dword [ebx + 0x3c], esi
mov edx, esi
mov dword [ebx + 8], ecx
mov ecx, esi
cmovl edx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], edx
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [edi + 0x19bc]
cmp ecx, esi
je 0x10025cfa
test ebx, ebx
je 0x10025cf6
cmp byte [ebp - 7], 0
jne 0x10025cfa
xor dl, dl
jmp 0x10025cfc
mov dl, 1
mov byte [ebp - 8], dl
test ebx, ebx
je 0x10025d1d
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10025d1d
test dl, dl
je 0x10025d1d
mov byte [ebp - 3], 1
mov byte [ebp - 4], 0
mov byte [ebp - 1], 0
jmp 0x10025d34
xor dh, dh
mov byte [ebp - 4], 0
mov byte [ebp - 1], dh
mov byte [ebp - 3], dh
test dl, dl
jne 0x10025d34
mov byte [ebp - 3], dl
cmp ecx, esi
jne 0x10025d48
cmp byte [ebp - 0x3c], 0
jne 0x10025d48
test ebx, ebx
je 0x10025d48
cmp byte [ebx + 0x30], 0
mov byte [ebp - 0x35], 1
jne 0x10025d4c
mov byte [ebp - 0x35], 0
cmp byte [ebp - 0xa0], 0
je 0x10025df2
mov esi, dword [edi + 0x18b8]
cmp dword [esi + 0x14], 0x2a
jg 0x10025d6a
mov edi, dword [esi + 0x2c]
jmp 0x10025d89
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10025d80
mov edi, dword [esi + 0x2c]
jmp 0x10025d89
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
add edx, 0x2c38
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [esi + 0x18b8]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov dword [edx + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
call fcn.1000d0c0
mov edi, esi
mov esi, dword [ebp - 0x30]
movss xmm0, dword [0x10036bb0]
mov dword [ebp - 0x40], 0
cmp dword [edi + 0x19bc], esi
jne 0x1002610c
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x34], 0x20
mov dword [ebx + 0xe68], edx
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [edi + 0xe8], 0
mov dword [ebp - 0x40], eax
sete al
mov dword [edi + 0x2f28], 1
cmp byte [ebp - 0x24], 0
mov byte [edi + 0x19cd], al
movss xmm7, dword [edi + 0xe0]
subss xmm7, dword [ebp - 0x94]
subss xmm7, dword [edi + 0x1544]
addss xmm7, dword [ebx + 0x38]
je 0x10025e91
mov eax, dword [ebp - 0x5c]
movss xmm2, dword [edi + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edi + 0x1548]
jmp 0x10025e9d
movss xmm2, dword [edi + 0x18bc]
mulss xmm2, xmm0
cmp byte [ebp - 0x2c], 0
mov al, byte [edi + 0xad]
mov byte [ebp - 5], al
jne 0x1002601c
mov cl, byte [ebp - 0xe]
test cl, cl
je 0x10025ec7
test al, al
jne 0x10025f32
cmp byte [edi + 0x3dd], al
jne 0x1002601c
cmp byte [edi + 0x3d8], 0
je 0x10025f89
cmp byte [ebx + 0xe65], 0
jne 0x10025f89
test cl, cl
je 0x1002603a
cmp byte [ebx + 0x4c], 0
je 0x10025f09
push 0
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.10023830
movss xmm2, dword [ebp - 0xc0]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10023b60
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10026037
cmp byte [edi + 0x3dd], 0
je 0x10025ec7
push 0x1000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x3000d
call fcn.10023f90
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10026037
cmp byte [edi + 0xe8], 0
je 0x1002603a
cmp byte [ebx + 0xe65], 0
jne 0x10026043
movss xmm0, dword [edi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10025fc8
movss xmm0, dword [edi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1002603a
cmp byte [ebx + 0x4c], 0
je 0x10025fe8
push 0
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.10023830
movss xmm2, dword [ebp - 0xc0]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10025ff6
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10023b60
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x10026037
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
mov al, byte [ebp - 5]
cmp byte [ebx + 0xe65], 0
je 0x10026053
cmp byte [edi + 0xe8], 0
jne 0x10026053
mov byte [ebx + 0xe65], 0
cmp dword [edi + 0x1500], 0
jle 0x1002610c
cmp byte [edi + 0xf8], 0
je 0x10026072
cmp byte [edi + 0xfa], 0
je 0x100260dc
test al, al
je 0x1002607f
cmp byte [edi + 0xfb], 0
jne 0x100260dc
cmp byte [ebp - 0x3c], 0
jne 0x100260dc
cmp byte [ebp - 6], 0
jne 0x100260dc
xor esi, esi
nop dword [eax]
mov eax, dword [edi + 0x1508]
lea ecx, [ebp - 0x20]
sub esp, 8
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x20], eax
call fcn.10025210
add esp, 8
test al, al
je 0x100260d0
push dword [ebp - 0x20]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi + 0x1500]
jl 0x10026090
mov ecx, dword [edi + 0x1504]
test ecx, ecx
jns 0x10026102
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x1500]
call fcn.10012620
mov dword [edi + 0x1500], 0
mov edx, dword [ebp - 0x30]
mov byte [ebp - 2], 0
cmp dword [edi + 0x19bc], edx
jne 0x10026c0e
cmp byte [edi + 0x19cc], 0
jne 0x10026c0e
cmp byte [ebp - 0x44], 0
jne 0x10026c0e
mov cl, byte [edi + 0xf9]
xor esi, esi
mov dl, byte [edi + 0xad]
test cl, cl
mov eax, 0x20000
mov byte [ebp - 0x10], dl
cmovne esi, eax
test dl, dl
je 0x100261a2
cmp byte [edi + 0xfb], 0
je 0x1002616e
cmp byte [edi + 0xf8], 0
jne 0x1002616e
mov eax, 1
jmp 0x10026170
xor eax, eax
test eax, eax
jne 0x100261b4
xor ah, ah
mov byte [ebp - 5], ah
test dl, dl
je 0x100261c5
cmp byte [edi + 0xfb], 0
je 0x100261c5
test cl, cl
je 0x100261c5
cmp byte [edi + 0xf8], 0
jne 0x100261c5
cmp byte [edi + 0xfa], 0
jne 0x100261c5
mov byte [ebp - 0xf], 1
jmp 0x100261cd
cmp byte [edi + 0xf8], 0
je 0x10026174
cmp byte [edi + 0xfb], 0
jne 0x10026174
cmp byte [edi + 0xfa], 0
jne 0x10026174
test cl, cl
jne 0x10026174
mov ah, 1
jmp 0x10026176
mov byte [ebp - 0xf], 0
test dl, dl
je 0x10026232
cmp byte [edi + 0xfb], 0
mov dl, byte [edi + 0xfa]
mov byte [ebp - 0xd], dl
je 0x1002623c
cmp byte [edi + 0xf8], 0
jne 0x1002623c
test dl, dl
jne 0x1002623c
mov cl, byte [edi + 0xf8]
mov byte [ebp - 7], 1
cmp byte [edi + 0xf9], 0
mov byte [ebp - 6], 0
je 0x1002628e
mov byte [ebp - 6], 0
test cl, cl
jne 0x1002628e
mov byte [ebp - 6], cl
cmp byte [edi + 0xfa], cl
jne 0x1002628e
mov byte [ebp - 6], cl
cmp byte [edi + 0xfb], cl
jne 0x1002628e
mov byte [ebp - 0xe], 1
mov byte [ebp - 6], cl
jmp 0x10026292
mov dl, byte [edi + 0xf8]
mov byte [ebp - 0xf], 0
mov cl, byte [edi + 0xf8]
mov al, dl
mov byte [ebp - 0xd], al
mov byte [ebp - 7], 0
test cl, cl
je 0x100261f6
cmp byte [edi + 0xf9], 0
mov byte [ebp - 0xd], al
mov byte [ebp - 7], 0
jne 0x100261f6
cmp byte [edi + 0xfa], 0
mov byte [ebp - 0xd], al
mov byte [ebp - 7], 0
jne 0x100261f6
cmp byte [edi + 0xfb], 0
mov byte [ebp - 0xd], al
mov byte [ebp - 7], 0
jne 0x100261f6
mov byte [ebp - 6], 1
mov byte [ebp - 0xd], al
mov byte [ebp - 7], 0
mov byte [ebp - 0xe], 0
mov edi, dword [0x1003a830]
test ah, ah
je 0x100262ac
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x100262ac
call fcn.100073d0
test al, al
jne 0x100262c2
cmp byte [ebp - 0xe], 0
je 0x100262e5
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x100262e5
call fcn.100073d0
test al, al
je 0x100262e5
cmp byte [ebp - 0x3c], 0
jne 0x100262e5
cmp byte [ebp - 0xa0], 0
jne 0x100262e5
cmp byte [ebp - 0x24], 0
je 0x100262df
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x100262e5
mov byte [ebp - 0x19], 1
jmp 0x100262e9
mov byte [ebp - 0x19], 0
cmp byte [ebp - 5], 0
je 0x100262ff
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x100262ff
call fcn.100073d0
test al, al
jne 0x10026315
cmp byte [ebp - 6], 0
je 0x10026332
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x10026332
call fcn.100073d0
test al, al
je 0x10026332
cmp byte [ebp - 0xa0], 0
jne 0x10026332
cmp byte [ebp - 0x24], 0
je 0x1002632c
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10026332
mov byte [ebp - 6], 1
jmp 0x10026336
mov byte [ebp - 6], 0
cmp byte [ebp - 5], 0
je 0x1002634c
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x1002634c
call fcn.100073d0
test al, al
jne 0x10026362
cmp byte [ebp - 0xe], 0
je 0x1002636c
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x1002636c
call fcn.100073d0
test al, al
je 0x1002636c
cmp byte [ebp - 0x3c], 0
mov byte [ebp - 0x11], 1
je 0x10026370
mov byte [ebp - 0x11], 0
mov al, byte [ebp - 5]
test al, al
je 0x1002639f
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x1002639f
call fcn.100073d0
test al, al
je 0x1002639c
cmp byte [ebp - 0x3c], 0
jne 0x1002639c
cmp byte [ebp - 0x6c], 0
je 0x1002639c
mov byte [ebp - 0xe], 1
jmp 0x100263a7
mov al, byte [ebp - 5]
mov byte [ebp - 0xe], 0
test al, al
je 0x100263ba
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x100263ba
call fcn.100073d0
test al, al
jne 0x100263d3
cmp byte [ebp - 0xf], 0
je 0x100263e3
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x100263e3
call fcn.100073d0
test al, al
je 0x100263e3
cmp byte [ebp - 0x3c], 0
jne 0x100263e3
cmp byte [ebp - 0x6c], 0
mov byte [ebp - 0xf], 1
jne 0x100263e7
mov byte [ebp - 0xf], 0
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x10026437
call fcn.100073d0
test al, al
je 0x10026437
cmp byte [ebp - 7], 0
je 0x10026414
mov eax, 0x10004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10023f90
jmp 0x10026bf7
cmp byte [ebp - 0xd], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10023f90
jmp 0x10026bf7
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x10026487
call fcn.100073d0
test al, al
je 0x10026487
cmp byte [ebp - 7], 0
je 0x10026464
mov eax, 0x10005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10023f90
jmp 0x10026bf7
cmp byte [ebp - 0xd], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10023f90
jmp 0x10026bf7
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1002651b
call fcn.100073d0
test al, al
je 0x1002651b
cmp byte [ebp - 0x24], 0
je 0x1002651b
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0xf8], 0
je 0x100264ea
mov edx, dword [ebp - 0x5c]
movss xmm1, dword [edx + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [edi + 0x18bc]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, dword [0x10036b6c]
subss xmm1, xmm0
movss dword [edx + 0x5c], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x10026c0e
movzx eax, byte [ebp - 7]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10026c0e
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x100265be
call fcn.100073d0
test al, al
je 0x100265be
cmp byte [ebp - 0x24], 0
je 0x100265be
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xf8], 0
je 0x100265a1
mov eax, dword [edi + 0x199c]
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x5c]
movaps xmm2, xmm3
addss xmm2, dword [edi + 0x18bc]
addss xmm3, dword [ecx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x5c], xmm2
movss dword [ecx + 0xe4], xmm3
jmp 0x10026c0e
movzx eax, byte [ebp - 7]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.10023f90
jmp 0x10026bf7
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x1002660c
call fcn.100073d0
test al, al
je 0x1002660c
mov eax, esi
or eax, 0x10006
or esi, 0x10004
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0xf8], 0
cmovne esi, eax
push esi
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10026c0e
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x1002662b
call fcn.100073d0
test al, al
je 0x1002662b
mov eax, esi
or eax, 0x10007
or esi, 0x10005
jmp 0x100265db
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x10026657
call fcn.100073d0
test al, al
je 0x10026657
cmp byte [ebp - 0x3c], 0
jne 0x10026657
or esi, 0x10008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10023f90
jmp 0x10026bf7
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x1002670a
call fcn.100073d0
test al, al
je 0x1002670a
cmp byte [ebp - 0x3c], 0
jne 0x1002670a
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x100266aa
cmp byte [ebp - 0xd], 0
je 0x100266b8
push 0x3000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [ebp - 0xc]
or esi, 0x10009
jmp 0x100265e8
cmp byte [ebp - 0x10], 0
je 0x100266aa
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0xfb], 0
je 0x100266ad
cmp byte [edi + 0xfa], 0
jne 0x100266ad
cmp byte [edi + 0xf8], 0
jne 0x100266ad
push 0x30004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
or esi, 0x10009
jmp 0x100265e8
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x1002677c
call fcn.100073d0
test al, al
je 0x1002677c
mov edx, dword [ebp + 0x14]
mov eax, edx
mov edi, dword [ebp - 0xc]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x24], 0
je 0x1002673b
mov cl, byte [edi + 0xf8]
test al, al
je 0x10026749
test cl, cl
jne 0x1002674d
mov dh, 1
mov byte [ebp - 0x44], 1
mov byte [ebp - 1], dh
jmp 0x10026c11
test cl, cl
jne 0x1002673b
cmp byte [ebp - 0x3c], 0
jne 0x10026c0e
sub esp, 8
mov dword [ebp - 0x20], 0xa
lea ecx, [ebp - 0x20]
call fcn.10025210
add esp, 8
test al, al
je 0x10026c0e
push dword [ebp - 0x20]
jmp 0x100265e9
test dword [ebp + 0x14], 0x400
je 0x100267eb
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x100267eb
call fcn.100073d0
test al, al
je 0x100267eb
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xf8], 0
jne 0x100267eb
cmp byte [eax + 0xf9], 0
jne 0x100267eb
cmp byte [eax + 0xfa], 0
jne 0x100267eb
cmp byte [ebp - 0x3c], 0
jne 0x100267eb
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x20]
sub esp, 8
mov dword [ebp - 0x20], 9
call fcn.10025210
add esp, 8
test al, al
je 0x10026c0b
push dword [ebp - 0x20]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10023f90
jmp 0x10026bf7
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x1002680b
call fcn.100073d0
test al, al
je 0x1002680b
mov edi, dword [ebp - 0xc]
mov cl, 1
mov dh, byte [ebp - 1]
mov byte [ebp - 0x44], cl
jmp 0x10026c14
mov al, byte [ebp - 0xe]
test al, al
jne 0x10026bd8
cmp byte [ebp - 0xf], al
jne 0x10026bd8
cmp byte [ebp - 5], al
je 0x1002684d
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x1002684d
call fcn.100073d0
test al, al
je 0x1002684d
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x10026c04
mov al, byte [ebp - 0x19]
test al, al
jne 0x10026a69
cmp byte [ebp - 6], al
jne 0x10026a69
cmp byte [ebp - 0x11], al
je 0x10026c0b
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x10026891
push dword [edi + 0xd0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10026c0b
mov edi, dword [0x1003a830]
jmp 0x10026896
mov esi, 0x100324b6
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100268a0
sub ecx, edx
test edi, edi
je 0x100268b3
inc dword [edi + 0x370]
lea eax, [ecx*2 + 2]
push eax
call dword [0x10032234]
add esp, 4
mov ecx, eax
xor edi, edi
mov dword [ebp - 0x2c], ecx
cmp byte [esi], 0
je 0x1002691d
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.10002b40
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10026914
cmp eax, 0x10000
jae 0x1002690f
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x18]
sub esp, 8
call fcn.10025210
add esp, 8
test al, al
je 0x1002690f
mov ax, word [ebp - 0x18]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100268d2
mov ebx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x10026a47
mov ecx, dword [ebx + 0x44]
lea esi, [ebx + 0x3c]
mov eax, dword [esi + 4]
mov edx, dword [ebx + 4]
mov dword [ebp - 0x20], edx
cmp eax, ecx
je 0x10026971
mov dword [ebp - 0x18], eax
cmp eax, edx
jle 0x1002694b
mov dword [esi + 4], edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
cmp ecx, edx
jle 0x1002695f
mov ecx, edx
mov dword [esi + 8], edx
mov dword [ebp - 0x34], ecx
jmp 0x10026962
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x18], edx
jne 0x10026971
mov eax, dword [ebp - 0x18]
mov ecx, edx
mov dword [esi], eax
mov edx, dword [esi]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x20]
cmp dword [esi], edx
jle 0x10026982
mov dword [esi], edx
mov dword [ebp - 0x28], edx
mov edx, dword [ebx + 4]
cmp eax, ecx
je 0x100269c1
mov dword [ebp - 0x18], eax
cmp eax, edx
jle 0x10026996
mov dword [esi + 4], edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
cmp ecx, edx
jle 0x100269a6
mov dword [esi + 8], edx
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x34]
mov esi, ecx
cmp dword [ebp - 0x18], esi
lea esi, [ebx + 0x3c]
jne 0x100269c1
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edx
jle 0x100269c8
mov dword [esi], edx
cmp eax, ecx
je 0x100269fd
mov edx, esi
jge 0x100269e3
sub ecx, eax
push ecx
push eax
mov ecx, ebx
call fcn.10023e50
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x100269f4
sub eax, ecx
push eax
push ecx
mov ecx, ebx
call fcn.10023e50
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 8
mov byte [esi + 0xf], 0
mov edx, dword [esi]
mov ecx, ebx
push edi
push dword [ebp - 0x2c]
call fcn.10023a10
add esp, 8
test al, al
je 0x10026a29
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.10024ee0
add esp, 8
mov byte [esi + 0xf], 0
add dword [esi], edi
jmp 0x10026a3d
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x10026a3d
dec eax
mov word [esi + 0xe16], ax
mov ecx, dword [ebp - 0x2c]
mov byte [ebx + 0xe64], 1
test ecx, ecx
je 0x10026a5a
mov eax, dword [0x1003a830]
test eax, eax
je 0x10026a5a
dec dword [eax + 0x370]
push ecx
call dword [0x1003223c]
add esp, 4
jmp 0x10026c0b
mov edi, dword [ebp - 0xc]
cmp dword [edi + 0xcc], 0
je 0x10026b38
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x10026a8d
mov ecx, edi
cmovge edi, eax
cmovl ecx, eax
jmp 0x10026a92
mov edi, dword [ebx + 4]
xor ecx, ecx
mov al, byte [ebp - 3]
mov byte [ebp - 3], al
mov al, byte [ebp - 4]
mov byte [ebp - 4], al
mov al, byte [ebp - 1]
mov byte [ebp - 1], al
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x20], ecx
lea edx, [eax + edi*2]
lea ecx, [eax + ecx*2]
call fcn.10002e70
mov ecx, dword [0x1003a830]
inc eax
mov dword [ebp - 0x60], eax
test ecx, ecx
je 0x10026ac9
inc dword [ecx + 0x370]
push eax
call dword [0x10032234]
mov esi, dword [ebx + 0x14]
add esp, 4
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x20]
lea ecx, [esi + edi*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x98]
push ecx
mov ecx, esi
call fcn.10002d40
mov eax, dword [0x1003a830]
add esp, 8
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x10026b1a
push esi
push dword [eax + 0xd0]
call ecx
mov eax, dword [0x1003a830]
add esp, 8
test esi, esi
je 0x10026b28
test eax, eax
je 0x10026b28
dec dword [eax + 0x370]
push esi
call dword [0x1003223c]
mov al, byte [ebp - 0x19]
add esp, 4
mov edi, dword [ebp - 0xc]
test al, al
je 0x10026c0e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10026b5c
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x10026c0e
mov edx, dword [ebx + 4]
cmp eax, edx
jle 0x10026b7d
mov dword [ebx + 0x40], edx
mov eax, edx
cmp ecx, edx
jle 0x10026b86
mov dword [ebx + 0x44], edx
mov ecx, edx
cmp eax, ecx
jne 0x10026b8d
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x3c], edx
jle 0x10026b95
mov dword [ebx + 0x3c], edx
cmp eax, ecx
je 0x10026bd2
lea edx, [ebx + 0x3c]
jge 0x10026bbb
sub ecx, eax
push ecx
push eax
mov ecx, ebx
call fcn.10023e50
mov eax, dword [ebx + 0x40]
add esp, 8
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x10026c0e
sub eax, ecx
push eax
push ecx
mov ecx, ebx
call fcn.10023e50
mov eax, dword [ebx + 0x44]
add esp, 8
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x10026c0e
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x1000a
push eax
call fcn.10023f90
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
mov edi, dword [ebp - 0xc]
mov dh, byte [ebp - 1]
mov cl, byte [ebp - 2]
mov esi, dword [ebp - 0x30]
cmp dword [edi + 0x19bc], esi
jne 0x10027196
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], eax
test cl, cl
je 0x10026c88
cmp byte [ebp - 0x3c], al
jne 0x10026c73
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10026c60
test dl, dl
je 0x10026c5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10026c60
add eax, 2
add ecx, 2
test dl, dl
jne 0x10026c40
xor eax, eax
jmp 0x10026c65
sbb eax, eax
or eax, 1
test eax, eax
je 0x10026c73
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
test dh, dh
je 0x10027097
test al, 0x20
je 0x10027097
jmp 0x10026c8b
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0x3c], 0
jne 0x10026ce9
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
mov edi, dword [ebx + 0x1c]
lea esi, [eax*4 + 1]
lea eax, [ebx + 0x18]
cmp esi, edi
jle 0x10026cd2
test edi, edi
je 0x10026cba
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10026cbf
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.10012530
lea eax, [ebx + 0x18]
mov dword [eax], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.10002d40
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x10027050
xor esi, esi
test al, 0x40
mov eax, dword [0x1003a830]
lea edi, [esi + 0x15]
je 0x10026d21
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10026d21
call fcn.100073d0
test al, al
je 0x10026d1c
mov eax, dword [ebp + 0x14]
lea esi, [edi + 0x2b]
xor edi, edi
jmp 0x10026d76
mov eax, dword [0x1003a830]
test byte [ebp + 0x14], 0x80
je 0x10026d66
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10026d49
call fcn.100073d0
test al, al
je 0x10026d44
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7d]
jmp 0x10026d76
mov eax, dword [0x1003a830]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10026d66
call fcn.100073d0
test al, al
je 0x10026d66
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7c]
jmp 0x10026d76
mov eax, dword [ebp + 0x14]
mov ecx, pe_nt_image_headers32
test eax, 0x100
cmovne esi, ecx
test esi, esi
je 0x10027050
mov dword [ebp - 0xfc], eax
xor ecx, ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x100], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0xdf], cx
mov byte [ebp - 0xdd], cl
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 0xe0], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], edi
call fcn.10002e70
mov edx, dword [ebx + 0x40]
mov edi, eax
mov ecx, esi
mov dword [ebp - 0xdc], edi
lea edx, [esi + edx*2]
call fcn.10002e70
mov edx, dword [ebx + 0x44]
mov ecx, esi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xd8], eax
lea edx, [esi + edx*2]
call fcn.10002e70
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x100]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp ecx, edi
je 0x10026eb8
mov eax, dword [ebp - 0xec]
xor edx, edx
mov esi, eax
mov dword [ebp - 0x18], edx
lea edi, [ecx + eax]
mov ah, byte [ebp - 3]
mov ch, byte [ebp - 4]
nop dword [eax]
test edi, edi
je 0x10026e58
cmp esi, edi
jae 0x10026eae
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0x11], al
mov byte [ebp - 0x10], cl
mov byte [ebp - 3], ah
mov byte [ebp - 4], al
je 0x10026eae
push edi
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.10002b40
mov cl, byte [ebp - 0x10]
add esi, eax
mov al, byte [ebp - 0x11]
add esp, 4
mov edx, dword [ebp - 0x60]
mov byte [ebp - 3], cl
mov byte [ebp - 4], al
test edx, edx
je 0x10026eab
cmp edx, 0x10000
mov edx, dword [ebp - 0x18]
jae 0x10026e9f
inc edx
mov dword [ebp - 0x18], edx
mov ah, cl
mov ch, al
mov byte [ebp - 3], ah
mov byte [ebp - 4], ch
jmp 0x10026e50
mov edx, dword [ebp - 0x18]
mov dword [ebx + 0x3c], edx
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x98]
je 0x10026f41
mov ecx, dword [ebp - 0xec]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x18], edx
lea edi, [eax + ecx]
mov ah, byte [ebp - 3]
mov ch, byte [ebp - 4]
test edi, edi
je 0x10026ee8
cmp esi, edi
jae 0x10026f3e
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0x11], al
mov byte [ebp - 0x10], cl
mov byte [ebp - 3], ah
mov byte [ebp - 4], al
je 0x10026f3e
push edi
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.10002b40
mov cl, byte [ebp - 0x10]
add esi, eax
mov al, byte [ebp - 0x11]
add esp, 4
mov edx, dword [ebp - 0x60]
mov byte [ebp - 3], cl
mov byte [ebp - 4], al
test edx, edx
je 0x10026f3b
cmp edx, 0x10000
mov edx, dword [ebp - 0x18]
jae 0x10026f2f
inc edx
mov dword [ebp - 0x18], edx
mov ah, cl
mov ch, al
mov byte [ebp - 3], ah
mov byte [ebp - 4], ch
jmp 0x10026ee0
mov edx, dword [ebp - 0x18]
mov dword [ebx + 0x40], edx
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x20]
je 0x10026fc7
mov ecx, dword [ebp - 0xec]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x18], edx
lea edi, [eax + ecx]
mov ah, byte [ebp - 3]
mov ch, byte [ebp - 4]
test edi, edi
je 0x10026f6e
cmp esi, edi
jae 0x10026fc4
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0x11], al
mov byte [ebp - 0x10], cl
mov byte [ebp - 3], ah
mov byte [ebp - 4], al
je 0x10026fc4
push edi
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.10002b40
mov cl, byte [ebp - 0x10]
add esi, eax
mov al, byte [ebp - 0x11]
add esp, 4
mov edx, dword [ebp - 0x60]
mov byte [ebp - 3], cl
mov byte [ebp - 4], al
test edx, edx
je 0x10026fc1
cmp edx, 0x10000
mov edx, dword [ebp - 0x18]
jae 0x10026fb5
inc edx
mov dword [ebp - 0x18], edx
mov ah, cl
mov ch, al
mov byte [ebp - 3], ah
mov byte [ebp - 4], ch
jmp 0x10026f66
mov edx, dword [ebp - 0x18]
mov dword [ebx + 0x44], edx
cmp byte [ebp - 0xe0], 0
je 0x1002704d
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x40]
cmp esi, ecx
jle 0x10027020
cmp byte [ebp - 0x70], 0
je 0x10027020
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x1002701e
test edi, edi
je 0x10027006
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1002700b
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10012620
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov edx, dword [ebx + 0xc]
push 0
push ecx
push dword [ebp - 0xec]
mov ecx, dword [ebx + 0x14]
call fcn.10002cd0
mov dword [ebx + 4], eax
add esp, 0xc
mov eax, dword [ebp - 0xe8]
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0x3c], 0
jne 0x10027094
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027080
test dl, dl
je 0x1002707c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027080
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027060
xor eax, eax
jmp 0x10027085
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0xc]
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x10027097
mov ecx, dword [ebx + 8]
jmp 0x1002709d
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
test esi, esi
je 0x10027175
cmp dword [ebp - 0x40], ecx
je 0x1002713e
cmp byte [ebp - 0x70], 0
je 0x1002713e
mov dword [ebp - 0x12c], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x11c], eax
lea eax, [ecx + 1]
cmp eax, 0x20
movlpd qword [ebp - 0x124], xmm0
movlpd qword [ebp - 0x110], xmm0
cmovle eax, dword [ebp - 0xac]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x130]
push eax
xor eax, eax
movlpd qword [ebp - 0x108], xmm0
mov dword [ebp - 0x130], 0x40000
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x128], 0
call eax
mov edx, dword [ebp - 0x114]
add esp, 4
mov eax, dword [ebp - 0x11c]
mov dword [ebp + 8], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x118], ecx
cmovl ecx, dword [ebp - 0x118]
jmp 0x10027143
mov edx, 0x20
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp - 0x60], edx
cmp edx, 1
jb 0x10027171
jbe 0x10027169
lea eax, [edx - 1]
push eax
push esi
push dword [ebp + 8]
call dword [0x100322f4]
mov edx, dword [ebp - 0x60]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [edx + eax - 1], 0
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x30]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0x44], 0
je 0x100271a9
cmp dword [edi + 0x19bc], esi
jne 0x100271a9
call fcn.10004bc0
mov edx, dword [ebp - 0x24]
movss xmm3, dword [0x10036c74]
test dl, dl
jne 0x10027337
push 1
mov edx, esi
lea ecx, [ebp - 0x88]
call fcn.10003fb0
mov eax, dword [0x1003a830]
xorps xmm4, xmm4
movss xmm6, dword [0x10036bdc]
add esp, 4
movups xmm2, xmmword [eax + 0x1628]
comiss xmm4, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0xc4], xmm2
jbe 0x10027205
xorps xmm0, xmm0
jmp 0x1002720c
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm3, dword [0x10036c74]
movss xmm5, dword [0x10036bb0]
movss xmm2, dword [ebp - 0xc0]
comiss xmm4, xmm2
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si edx, xmm0
jbe 0x1002723a
xorps xmm0, xmm0
jmp 0x10027241
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [ebp - 0xbc]
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm4, xmm2
jbe 0x10027264
xorps xmm0, xmm0
jmp 0x1002726b
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm4, xmm1
jbe 0x10027286
xorps xmm0, xmm0
jmp 0x1002728d
movaps xmm0, xmm6
minss xmm0, xmm1
push dword [ebp - 0x7c]
movss xmm2, dword [edi + 0x154c]
push dword [ebp - 0x80]
mulss xmm0, xmm3
push dword [ebp - 0x84]
push dword [ebp - 0x88]
addss xmm0, xmm5
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.10003780
movss xmm5, dword [ebp - 0x94]
add esp, 0x10
movss xmm6, dword [ebp - 0x74]
movaps xmm2, xmm5
movss xmm4, dword [ebp - 0x78]
movaps xmm1, xmm5
movss xmm0, dword [ebp - 0x8c]
addss xmm2, xmm4
addss xmm1, dword [edi + 0x1544]
movss xmm3, dword [0x10036c74]
addss xmm0, xmm6
mov edx, dword [ebp - 0x24]
movaps xmm7, xmm6
addss xmm7, dword [edi + 0x1548]
movss dword [ebp - 0xc4], xmm5
movss dword [ebp - 0xc0], xmm6
movss dword [ebp - 0xac], xmm2
movss dword [ebp - 0xbc], xmm2
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x98], xmm0
jmp 0x100273a3
movss xmm0, dword [ebp - 0x94]
movss xmm1, dword [ebp - 0x74]
movaps xmm4, xmm0
addss xmm4, dword [ebp - 0x78]
movss xmm2, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x5c]
addss xmm2, xmm1
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xc0], xmm1
movaps xmm0, xmm4
movss dword [ebp - 0x60], xmm4
movss xmm1, dword [eax + 0xc8]
movss xmm7, dword [eax + 0xcc]
movss xmm4, dword [ebp - 0x78]
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0x98], xmm2
cmp byte [ebp - 0x35], 0
movss dword [ebp - 0x7c], xmm7
movss dword [ebp - 0x28], xmm7
movss dword [ebp - 0x64], xmm7
xorps xmm7, xmm7
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0x6c], xmm0
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0x90], xmm7
movss dword [ebp - 0x20], xmm7
je 0x100273ec
mov eax, dword [ebx + 0x20]
mov dword [ebp + 8], eax
jmp 0x100273ef
mov eax, dword [ebp + 8]
mov ch, byte [ebp - 8]
mov cl, byte [ebp - 3]
test ch, ch
jne 0x10027741
test cl, cl
jne 0x10027741
test dl, dl
je 0x1002745a
mov dl, byte [eax]
lea ebx, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x10027426
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x10027414
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0x30], ebx
cmp al, 0xa
je 0x10027436
cmp al, 0xd
je 0x10027436
inc ecx
movd xmm7, ecx
movaps xmm0, xmm4
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x90], xmm0
mulss xmm7, dword [edi + 0x18bc]
movss dword [ebp - 0x20], xmm7
xorps xmm7, xmm7
jmp 0x10027492
cmp dword [edi + 0x19bc], esi
jne 0x1002746c
mov ebx, dword [ebx + 8]
mov esi, dword [ebp + 8]
add ebx, eax
jmp 0x10027480
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027471
mov esi, dword [ebp + 8]
sub ecx, edx
lea ebx, [esi + ecx]
mov eax, ebx
mov dword [ebp - 0x30], ebx
sub eax, esi
cmp eax, 0x200000
jge 0x1002768c
mov eax, dword [0x1003a830]
movss xmm5, dword [0x10036bdc]
movups xmm2, xmmword [eax + 0x15b8]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x58], xmm2
jbe 0x100274c3
movaps xmm0, xmm7
jmp 0x100274ca
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm4, dword [0x10036bb0]
movss xmm2, dword [ebp - 0x54]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x100274ed
movaps xmm0, xmm7
jmp 0x100274f4
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x50]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10027514
movaps xmm0, xmm7
jmp 0x1002751b
movaps xmm0, xmm5
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10027536
movaps xmm5, xmm7
jmp 0x1002753a
minss xmm5, xmm1
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0xc4]
mulss xmm5, xmm3
mov esi, dword [eax + 0x26c]
mov eax, dword [ebp - 0xc]
addss xmm5, xmm4
movss xmm2, dword [eax + 0x18bc]
cvttss2si edi, xmm5
shl edi, 0x18
or edi, ecx
mov ecx, dword [eax + 0x18b8]
xor eax, eax
mov dword [ebp - 0x40], ecx
cmp byte [ebp - 0x24], al
cmovne edx, eax
test edi, 0xff000000
je 0x10027648
cmp dword [ebp - 0x30], eax
jne 0x100275a4
mov ecx, dword [ebp + 8]
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027590
mov eax, dword [ebp + 8]
sub ecx, ebx
lea ebx, [eax + ecx]
mov ecx, dword [ebp - 0x40]
jmp 0x100275a7
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x10027648
test ecx, ecx
jne 0x100275bc
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100275cd
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x58], xmm0
test edx, edx
je 0x1002761e
movss xmm0, dword [ebp - 0x58]
maxss xmm0, dword [edx]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x54]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x50]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x4c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x4c], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x58]
mov dword [esp], 0
push ebx
push dword [ebp + 8]
push eax
push edi
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push esi
call fcn.1001e5a0
xorps xmm7, xmm7
mov edi, dword [ebp - 0xc]
cmp byte [ebp - 0x24], 0
je 0x10027686
movss xmm0, dword [ebp - 0x90]
lea ecx, [ebp - 0x80]
addss xmm0, xmm7
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [edi + 0x18bc]
movss dword [ebp - 0x7c], xmm0
call fcn.10022b60
call fcn.10007700
call fcn.1000d450
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xa0]
test al, al
je 0x100276a1
call fcn.1000d1d0
mov eax, dword [ebp - 0xa0]
cmp byte [edi + 0x2d0c], 0
je 0x100276bc
test al, al
jne 0x100276bc
push ebx
mov edx, esi
lea ecx, [ebp - 0x68]
call fcn.10011090
add esp, 4
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, dword [0x10036b6c]
jbe 0x1002770c
movss xmm0, dword [ebp - 0xd0]
xor edx, edx
addss xmm0, dword [edi + 0x155c]
mov ecx, dword [ebp - 0xa8]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x74]
addss xmm0, dword [edi + 0x1548]
movss dword [ebp - 0x64], xmm0
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push 1
call fcn.10002fd0
add esp, 0xc
mov cl, byte [ebp - 4]
test cl, cl
je 0x1002772c
mov eax, dword [0x1003a830]
mov byte [eax + 0x19cf], 1
mov eax, dword [eax + 0x199c]
or dword [eax + 0x10c], 4
test byte [ebp + 0x14], 0x20
pop edi
movzx eax, cl
movzx ecx, byte [ebp - 1]
pop esi
cmovne eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
mov edi, 0xfffffc18
add eax, dword [ebp + 8]
xor edx, edx
mov esi, dword [ebx + 0x14]
xorps xmm5, xmm5
mov dword [ebp - 0x30], eax
xorps xmm3, xmm3
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x2c], edi
test ch, ch
je 0x10027781
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x40], eax
lea edx, [edi + 2]
test cl, cl
je 0x1002779d
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0x2c], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x24]
xor esi, esi
movzx eax, al
add edx, eax
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x18]
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x10027807
mov ebx, dword [ebp - 0x40]
mov esi, eax
nop dword [eax]
cmp si, 0xa
jne 0x100277f0
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp edi, 0xffffffff
jne 0x100277dd
cmp ecx, ebx
jb 0x100277dd
dec edx
mov edi, esi
test edx, edx
jle 0x10027801
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x100277f0
cmp ecx, dword [ebp - 0x70]
jb 0x100277f0
dec edx
mov dword [ebp - 0x2c], esi
test edx, edx
jle 0x10027801
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100277c0
mov esi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x18]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0x34], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
mov ecx, edi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0x2c], eax
cmp edi, edx
jbe 0x1002783e
nop
cmp word [ecx - 2], 0xa
je 0x1002783e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10027830
mov eax, dword [0x1003a830]
movaps xmm4, xmm7
movss dword [ebp - 0x40], xmm4
movaps xmm1, xmm7
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x100278b6
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1002787b
maxss xmm4, xmm1
movaps xmm1, xmm7
jmp 0x1002789d
cmp edx, 0xd
je 0x1002789d
mov edx, eax
cmp edx, dword [esi]
jge 0x10027890
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10027895
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10027865
comiss xmm1, xmm4
mov edx, dword [ebp - 0x18]
movss dword [ebp - 0x40], xmm4
jbe 0x100278b6
movaps xmm4, xmm1
movss dword [ebp - 0x40], xmm4
cmp dword [ebp - 0x2c], 0
movd xmm6, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
cvtdq2ps xmm6, xmm6
movss xmm0, dword [ecx + 0x18bc]
mulss xmm6, xmm0
movss dword [ebp - 0x7c], xmm6
jl 0x10027970
mov edi, dword [ebp - 0x70]
mov ecx, edi
cmp edi, edx
jbe 0x100278f3
cmp word [ecx - 2], 0xa
je 0x100278f3
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x100278e5
mov eax, dword [0x1003a830]
movaps xmm3, xmm7
movaps xmm1, xmm7
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x10027959
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1002792b
maxss xmm3, xmm1
movaps xmm1, xmm7
jmp 0x1002794d
cmp edx, 0xd
je 0x1002794d
mov edx, eax
cmp edx, dword [esi]
jge 0x10027940
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10027945
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10027915
comiss xmm1, xmm3
jbe 0x10027959
movaps xmm3, xmm1
movd xmm5, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
cvtdq2ps xmm5, xmm5
movss xmm0, dword [ecx + 0x18bc]
mulss xmm5, xmm0
mov edx, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x78]
test dl, dl
je 0x1002799b
movd xmm7, dword [ebp - 0x34]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x90], xmm0
movss dword [ebp - 0x20], xmm7
xorps xmm7, xmm7
cmp byte [ebp - 8], 0
je 0x10027a65
cmp byte [ebx + 0xe64], 0
je 0x10027a65
test dword [ebp + 0x14], 0x1000
jne 0x10027a00
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm1
comiss xmm2, xmm4
mulss xmm0, dword [0x10036b9c]
movaps xmm1, xmm4
jbe 0x100279e0
subss xmm1, xmm0
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x100279ee
subss xmm1, dword [ebp - 0x78]
comiss xmm1, xmm2
jb 0x10027a07
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x10027a07
mov dword [ebx + 0x38], 0
test dl, dl
je 0x10027a5e
mov eax, dword [ebp - 0x5c]
movaps xmm1, xmm6
subss xmm1, dword [ecx + 0x18bc]
movss xmm7, dword [eax + 0x5c]
comiss xmm7, xmm1
jbe 0x10027a2c
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10027a3b
movaps xmm0, xmm6
subss xmm0, dword [ebp - 0x8c]
maxss xmm0, xmm7
subss xmm7, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm7, dword [eax + 0xcc]
movss dword [ebp - 0x28], xmm7
movss dword [eax + 0xcc], xmm7
movss dword [ebp - 0x64], xmm7
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 3], 0
movss xmm6, dword [ebx + 0x38]
movss dword [ebp - 0x34], xmm6
je 0x10027da9
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov edi, dword [ebp - 0x18]
movss xmm4, dword [0x10036bdc]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 8], 0
lea esi, [edi + eax*2]
lea edi, [edi + edx*2]
je 0x10027aa5
movaps xmm1, xmm4
jmp 0x10027aad
movss xmm1, dword [0x10036bb4]
mov edx, dword [0x1003a830]
xorps xmm7, xmm7
movups xmm2, xmmword [edx + 0x1858]
mulss xmm1, dword [edx + 0x1510]
comiss xmm7, xmm2
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
movups xmmword [ebp - 0x58], xmm2
mulss xmm1, xmm0
jbe 0x10027ade
xorps xmm0, xmm0
jmp 0x10027ae5
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm4, dword [0x10036c74]
movss xmm2, dword [ebp - 0x54]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, dword [0x10036bb0]
cvttss2si ecx, xmm0
jbe 0x10027b0c
xorps xmm0, xmm0
jmp 0x10027b18
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x50]
mulss xmm0, xmm4
addss xmm0, dword [0x10036bb0]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10027b3c
xorps xmm0, xmm0
jmp 0x10027b48
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm2
movss xmm2, dword [0x10036bb0]
mulss xmm0, xmm4
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10027b6b
xorps xmm0, xmm0
jmp 0x10027b77
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
cmp byte [ebp - 0x24], 0
mov dword [ebp - 0x4c], eax
je 0x10027b9b
movss dword [ebp - 0xa4], xmm7
jmp 0x10027ba3
movss xmm7, dword [0x10036c14]
movss xmm4, dword [ebp - 0x44]
movss dword [ebp - 0x70], xmm7
addss xmm4, xmm3
subss xmm4, xmm6
movss xmm6, dword [ebp - 0x28]
addss xmm6, xmm5
subss xmm6, dword [0x10036b6c]
movss dword [ebp - 0x8c], xmm6
cmp esi, edi
jae 0x10027da1
movss xmm5, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
movaps xmm0, xmm5
addss xmm0, dword [ecx + 0x18bc]
comiss xmm6, xmm0
ja 0x10027d9b
movss xmm0, dword [ebp - 0x74]
comiss xmm0, xmm6
jbe 0x10027c29
cmp esi, edi
jae 0x10027d74
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10027d74
cmp esi, edi
jb 0x10027c10
jmp 0x10027d74
mov eax, dword [0x1003a830]
xorps xmm0, xmm0
mov edx, dword [edx + 0x18b8]
xorps xmm3, xmm3
xorps xmm1, xmm1
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x10027c93
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10027c83
cmp ecx, 0xd
je 0x10027c7d
cmp ecx, dword [edx]
jge 0x10027c70
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10027c75
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x10027c50
jmp 0x10027c8d
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xc]
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x10027ccc
mov eax, dword [ecx + 0x18b8]
cmp dword [eax], 0x20
jle 0x10027cb4
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10027cb9
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10036bb0]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0xa4]
addss xmm1, xmm4
subss xmm2, dword [ecx + 0x18bc]
addss xmm4, dword [0x10036b6c]
movss xmm3, dword [ebp - 0xac]
movaps xmm0, xmm7
movss xmm7, dword [ebp - 0x94]
addss xmm0, xmm6
minss xmm1, xmm3
addss xmm2, xmm6
maxss xmm4, xmm7
minss xmm0, xmm5
movss dword [ebp - 0x50], xmm1
maxss xmm2, dword [ebp - 0x74]
movss dword [ebp - 0x58], xmm4
comiss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x54], xmm2
movss dword [ebp - 0x4c], xmm0
jbe 0x10027d6e
comiss xmm5, xmm2
jbe 0x10027d6e
comiss xmm1, xmm7
jbe 0x10027d6e
comiss xmm3, xmm4
jbe 0x10027d6e
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x50]
push ebx
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x26c]
call fcn.1001bbc0
movss xmm6, dword [ebp - 0x8c]
movss xmm5, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x1003a830]
movss xmm4, dword [ebp - 0x44]
movss xmm7, dword [ebp - 0x70]
addss xmm6, dword [ecx + 0x18bc]
subss xmm4, dword [ebp - 0x34]
movss dword [ebp - 0x8c], xmm6
cmp esi, edi
jb 0x10027be1
mov ebx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x24]
movss xmm6, dword [ebp - 0x34]
test dl, dl
mov edx, dword [ebp - 0x30]
jne 0x10027dc0
mov eax, edx
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x10027fc2
mov eax, dword [0x1003a830]
xorps xmm7, xmm7
movss xmm5, dword [0x10036bdc]
movups xmm1, xmmword [eax + 0x15b8]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1510]
movups xmmword [ebp - 0x58], xmm1
jbe 0x10027df4
xorps xmm0, xmm0
jmp 0x10027dfb
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm3, dword [0x10036c74]
movss xmm4, dword [0x10036bb0]
movss xmm1, dword [ebp - 0x54]
comiss xmm7, xmm1
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x10027e26
xorps xmm0, xmm0
jmp 0x10027e2d
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x50]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm1
jbe 0x10027e4d
xorps xmm0, xmm0
jmp 0x10027e54
movaps xmm0, xmm5
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x10027e6f
xorps xmm0, xmm0
jmp 0x10027e76
movaps xmm0, xmm5
minss xmm0, xmm2
mov eax, dword [ebp - 0x5c]
mulss xmm0, xmm3
mov dword [ebp - 0x4c], 0
mov esi, dword [eax + 0x26c]
mov eax, dword [ebp - 0xc]
addss xmm0, xmm4
movss xmm2, dword [eax + 0x18bc]
cvttss2si edi, xmm0
movss xmm0, dword [ebp - 0x44]
subss xmm0, xmm6
shl edi, 0x18
or edi, ecx
mov ecx, dword [eax + 0x18b8]
cmp byte [ebp - 0x24], 0
mov eax, edx
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x6c], ecx
cmovne edx, dword [ebp - 0x4c]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [ebp - 0x28]
mov dword [ebp - 0xa4], eax
subss xmm0, xmm7
movss dword [ebp - 0xac], xmm0
test edi, 0xff000000
je 0x10027fc5
cmp dword [ebp - 0x30], 0
jne 0x10027f18
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x4c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027f00
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], eax
cmp dword [ebp + 8], eax
je 0x10027fc5
test ecx, ecx
jne 0x10027f2e
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x6c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x10027f3f
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x58], xmm0
test edx, edx
je 0x10027f90
movss xmm0, dword [ebp - 0x58]
maxss xmm0, dword [edx]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x54]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x50]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x4c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x4c], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x58]
mov dword [esp], 0
push dword [ebp - 0xa4]
push dword [ebp + 8]
push eax
push edi
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push esi
call fcn.1001e5a0
xorps xmm7, xmm7
cmp byte [ebp - 8], 0
je 0x10027648
mov edi, dword [ebp - 0xc]
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xae], 0
je 0x10028028
comiss xmm7, xmm0
jae 0x10028028
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x50], xmm0
fld qword [ebp - 0x50]
fld qword [0x10036c00]
call fcn.1003184c
movss xmm0, dword [0x10036bd0]
fstp qword [ebp - 0x50]
movsd xmm1, qword [ebp - 0x50]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10028028
xor al, al
jmp 0x1002802a
mov al, 1
movss xmm2, dword [ebp - 0x28]
xorps xmm7, xmm7
movss xmm4, dword [ebp - 0x44]
movss xmm6, dword [0x10036bb0]
movss xmm5, dword [0x10036bdc]
addss xmm2, dword [ebp - 0x7c]
addss xmm4, dword [ebp - 0x40]
subss xmm2, xmm7
subss xmm4, dword [ebp - 0x34]
movss dword [ebp - 0x28], xmm2
movaps xmm0, xmm2
movss dword [ebp - 0x44], xmm4
movaps xmm1, xmm4
movss dword [ebp - 0xc4], xmm4
movaps xmm3, xmm2
addss xmm1, xmm5
subss xmm0, dword [edi + 0x18bc]
subss xmm3, dword [0x10036bf4]
movss dword [ebp - 0xbc], xmm1
addss xmm0, xmm6
movss dword [ebp - 0xb8], xmm3
movss dword [ebp - 0xc0], xmm0
test al, al
je 0x100281f2
comiss xmm3, dword [ebp - 0x74]
jbe 0x100281f2
movss xmm5, dword [ebp - 0x98]
comiss xmm5, xmm0
jbe 0x100281ea
comiss xmm1, dword [ebp - 0x94]
jbe 0x100281ea
movss xmm0, dword [ebp - 0x60]
comiss xmm0, xmm4
jbe 0x100281ea
mov eax, dword [0x1003a830]
movups xmm2, xmmword [eax + 0x15b8]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x88], xmm2
jbe 0x1002810f
xorps xmm0, xmm0
jmp 0x1002811b
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm2
movss xmm5, dword [0x10036c74]
movss xmm2, dword [ebp - 0x84]
comiss xmm7, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x10028141
xorps xmm0, xmm0
jmp 0x1002814d
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x80]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x1002816d
xorps xmm0, xmm0
jmp 0x10028179
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10028194
xorps xmm0, xmm0
jmp 0x100281a0
movss xmm0, dword [0x10036bdc]
minss xmm0, xmm1
mulss xmm0, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x80], xmm4
addss xmm0, xmm6
movss dword [ebp - 0x7c], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x26c]
call fcn.1001baa0
movss xmm2, dword [ebp - 0x28]
xorps xmm7, xmm7
movss xmm4, dword [ebp - 0x44]
movss xmm5, dword [0x10036bdc]
cmp byte [ebp - 0x3c], 0
jne 0x1002764b
subss xmm2, dword [edi + 0x18bc]
subss xmm4, xmm5
movss dword [edi + 0x2cd4], xmm2
movss dword [edi + 0x2cd0], xmm4
jmp 0x1002764b