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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x1008800c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [0x10088d30]
mov ebx, esi
push edi
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x144], ecx
mov eax, dword [ebx + 0x199c]
mov dword [ebp - 0x11c], ebx
mov byte [eax + 0x78], 1
mov edi, dword [ebx + 0x199c]
mov dword [ebp - 0xe4], edi
cmp byte [edi + 0x7b], 0
jne 0x10027005
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
not al
shr ecx, 0x14
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0xf8], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x134], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x118], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x114], eax
test cl, cl
je 0x10026c67
call fcn.1000c590
mov esi, dword [0x10088d30]
mov ecx, dword [edi + 0x1bc]
xor edx, edx
mov eax, dword [edi + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x144]
call fcn.10002870
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [esi + 0x19bc], eax
jne 0x10026c9b
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10026caa
mov byte [esi + 0x19cf], 1
mov edx, dword [ebp - 0x144]
mov eax, edx
cmp edx, 0xffffffff
jae 0x10026ccd
mov cl, byte [eax]
test cl, cl
je 0x10026ccd
cmp cl, 0x23
jne 0x10026cc7
cmp byte [eax + 1], cl
je 0x10026ccd
inc eax
cmp eax, 0xffffffff
jb 0x10026cb7
movss xmm2, dword [esi + 0x18bc]
movss xmm0, dword [0x10085664]
mov edi, dword [esi + 0x18b8]
movss dword [ebp - 0x44], xmm2
movss dword [ebp - 0x138], xmm0
cmp edx, eax
jne 0x10026d01
xorps xmm6, xmm6
movss dword [ebp - 0x140], xmm6
jmp 0x10026d62
movss xmm3, dword [0x10085640]
push ecx
push eax
push edx
push ecx
lea eax, [ebp - 0x128]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.1001e290
movss xmm1, dword [ebp - 0x128]
xorps xmm6, xmm6
comiss xmm1, xmm6
jbe 0x10026d3f
movss xmm0, dword [ebp - 0x44]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x10085444]
movss xmm2, dword [ebp - 0x124]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x140], xmm0
cmp byte [ebp - 0xe0], 0
je 0x10026d7b
movss xmm2, dword [esi + 0x18bc]
mulss xmm2, dword [0x100854e4]
mov edi, dword [esi + 0x199c]
movss xmm3, dword [edi + 0x168]
comiss xmm6, xmm3
jbe 0x10026dff
movss xmm4, dword [edi + 0xc4]
movss xmm1, dword [edi + 0x210]
mov ecx, dword [edi + 0x1b8]
subss xmm4, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ecx, ecx
je 0x10026deb
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [edi + 0x1b8]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [edi + 0x3c]
subss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [0x10085448]
maxss xmm3, xmm1
movss xmm5, dword [ebx + 0x1550]
xorps xmm1, xmm1
cvttss2si eax, xmm3
movaps xmm3, xmm5
addss xmm3, xmm5
movd xmm4, eax
mov eax, dword [ebp + 0xc]
addss xmm3, xmm2
xorps xmm2, xmm2
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x120], xmm7
movss dword [ebp - 0x130], xmm0
ja 0x10026e49
comiss xmm6, xmm0
jbe 0x10026eb2
movss xmm1, dword [edi + 0x210]
movss xmm2, dword [edi + 0x214]
mov ecx, dword [edi + 0x1b8]
subss xmm1, dword [edi + 0xc]
subss xmm2, dword [edi + 0x10]
test ecx, ecx
je 0x10026ea6
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [edi + 0x1b8]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [edi + 0x3c]
mov eax, edi
addss xmm1, dword [eax + 0xc]
addss xmm2, dword [eax + 0x10]
comiss xmm6, xmm7
movss xmm0, dword [0x100854c4]
jb 0x10026ef0
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x10026ed5
movaps xmm7, xmm4
movss dword [ebp - 0x120], xmm7
jmp 0x10026ef0
subss xmm1, dword [edi + 0xc4]
maxss xmm1, xmm0
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [ebp - 0x120], xmm1
movss xmm1, dword [ebp - 0x130]
comiss xmm6, xmm1
jb 0x10026f28
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x10026f10
movss dword [ebp - 0x130], xmm3
jmp 0x10026f28
subss xmm2, dword [edi + 0xc8]
maxss xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0x130], xmm2
mov esi, dword [ebp - 0xe4]
movss xmm2, dword [ebp - 0x140]
comiss xmm2, xmm6
movss xmm3, dword [esi + 0xc4]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm3
movaps xmm1, xmm4
movss dword [ebp - 0x54], xmm3
addss xmm1, dword [ebp - 0x130]
addss xmm0, xmm7
movss dword [ebp - 0x50], xmm4
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x4c], xmm0
jbe 0x10026f7b
addss xmm2, dword [ebx + 0x1564]
jmp 0x10026f7e
xorps xmm2, xmm2
cmp byte [ebp - 0xe0], 0
addss xmm0, xmm2
addss xmm1, xmm6
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm4
mov dword [ebp - 0x108], esi
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x1c], xmm1
je 0x10027057
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x28]
call fcn.10004ae0
movss xmm0, dword [ebp - 0x4c]
lea edx, [ebp - 0x128]
subss xmm0, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xd8]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x124], xmm0
call fcn.10007890
add esp, 4
test al, al
jne 0x10027018
call fcn.100076d0
call fcn.1000c6d0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1005cdd4
mov esp, ebp
pop ebp
ret
mov edi, dword [0x10088d30]
movss xmm0, dword [ebp - 0x120]
mov eax, dword [edi + 0x199c]
mov byte [eax + 0x78], 1
mov ecx, dword [edi + 0x199c]
mov dword [ebp - 0x108], ecx
subss xmm0, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0x120], xmm0
jmp 0x100270a0
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x128]
movss dword [ebp - 0x124], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x128], xmm0
call fcn.100049c0
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x28]
call fcn.10004ae0
add esp, 4
test al, al
je 0x10027005
mov edi, dword [0x10088d30]
mov edx, dword [ebp - 0xd8]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0xc0], edi
call fcn.10004c80
mov byte [ebp - 0xb8], al
test al, al
je 0x100270c8
mov dword [ebx + 0x1c58], 1
cmp byte [ebp - 0x134], 0
je 0x1002724e
mov edx, dword [ebx + 0x18b8]
cmp dword [edx + 0x28], 0x2a
jg 0x100270e6
mov eax, dword [edx + 0x34]
jmp 0x10027105
mov eax, dword [edx + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100270fc
mov eax, dword [edx + 0x34]
jmp 0x10027105
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x18]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xd4], eax
lea esi, [ebx + 0x2b84]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x18b8]
mov dword [ebp - 0x44], esi
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebx + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0x34], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
movss xmm0, dword [edi + 0x98]
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x18b8], esi
mulss xmm0, dword [esi]
mulss xmm0, dword [esi + 4]
movss dword [edi + 0x18c0], xmm0
test eax, eax
je 0x1002719e
movss xmm0, dword [eax + 0x268]
mulss xmm0, dword [edi + 0x18c0]
jmp 0x100271a1
xorps xmm0, xmm0
movss dword [edi + 0x18bc], xmm0
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18c8], eax
lea eax, [ebp - 0x44]
mov dword [edi + 0x18c4], ecx
lea ecx, [edi + 0x1a18]
push eax
mov dword [edi + 0x18cc], esi
movss dword [edi + 0x18d0], xmm0
call fcn.10011fb0
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x199c]
mov eax, dword [eax + 0x270]
mov edi, dword [eax + 0x4c]
lea esi, [eax + 0x48]
mov ecx, dword [esi]
mov dword [ebp - 0xfc], eax
cmp ecx, edi
jne 0x10027226
inc ecx
test edi, edi
je 0x10027212
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10027217
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10011e60
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x44]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xfc]
inc dword [esi]
call fcn.1001a060
mov edi, dword [0x10088d30]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], edi
test dword [ebp + 0x10], 0x440
mov ecx, esi
mov edx, dword [ebp - 0xd8]
sete al
movzx eax, al
push eax
call fcn.10004df0
add esp, 4
mov byte [ebp - 0xe5], al
test al, al
je 0x10027307
mov ecx, dword [esi + 0x324]
cmp ecx, dword [esi + 0x32c]
jne 0x10027307
mov byte [ebp - 0xb7], 1
mov byte [ebp - 0xc9], 0
cmp byte [ebp - 0xb8], 0
je 0x100272af
cmp byte [ebx + 0x3f8], 0
mov byte [ebp - 0xba], 1
jne 0x100272b6
mov byte [ebp - 0xba], 0
cmp byte [ebp - 0xe0], 0
je 0x10027329
cmp dword [ebx + 0x19bc], 0
jne 0x10027329
mov eax, dword [ebp - 0xd8]
cmp dword [ebx + 0x1d14], eax
jne 0x10027329
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10002870
add esp, 4
cmp dword [ebx + 0x19c0], eax
jne 0x10027329
mov cl, 1
jmp 0x1002732b
mov byte [ebp - 0xb7], 0
test al, al
je 0x1002728f
mov byte [ebp - 0xc9], 1
mov byte [ebp - 0xb7], 0
jmp 0x10027296
xor cl, cl
mov eax, dword [ebx + 0x19bc]
mov edx, dword [ebp - 0xd8]
cmp eax, edx
je 0x1002735e
cmp dword [ebx + 0x1abc], edx
je 0x10027354
cmp dword [ebx + 0x1ab0], edx
jne 0x1002735e
cmp dword [ebx + 0x1acc], 3
jne 0x1002735e
mov dl, 1
mov byte [ebp - 0xc1], dl
jmp 0x1002736e
xor dl, dl
mov byte [ebp - 0xc1], dl
cmp eax, dword [ebp - 0xd8]
je 0x10027388
test byte [ebp + 0x10], 0x10
jne 0x10027378
test dl, dl
je 0x10027388
cmp byte [ebp - 0xe0], 0
mov byte [ebp - 0xec], 1
je 0x1002738f
mov byte [ebp - 0xec], 0
cmp byte [ebp - 0xe5], 0
jne 0x100273c7
cmp byte [ebp - 0xba], 0
jne 0x100273c7
test cl, cl
jne 0x100273c7
test dl, dl
jne 0x100273c7
mov byte [ebp - 0xb9], dl
cmp byte [ebx + 0x3f8], dl
je 0x100276ce
mov byte [ebp - 0xb9], 1
jmp 0x100276ce
mov ecx, dword [ebp - 0xd8]
cmp eax, ecx
je 0x10027690
mov esi, dword [ebp - 0xf0]
mov eax, dword [ebx + 0x1d40]
mov dword [ebp - 0xfc], eax
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100273f0
mov edx, dword [ebp + 8]
sub esi, ecx
mov eax, dword [ebx + 0x1d1c]
inc edx
mov dword [ebp - 0xd0], edx
cmp edx, eax
jle 0x1002744f
lea edi, [ebx + 0x1d18]
test eax, eax
je 0x10027429
cdq
sub eax, edx
mov edx, dword [ebp - 0xd0]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x1002742e
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10012370
mov edi, dword [0x10088d30]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], edi
mov dword [ebx + 0x1d18], edx
inc esi
mov eax, dword [ebx + 0x1d28]
cmp esi, eax
jle 0x1002749c
test eax, eax
je 0x10027476
cdq
sub eax, edx
lea edx, [ebx + 0x1d24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10027481
mov ecx, 8
lea edx, [ebx + 0x1d24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012200
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
mov dword [ebx + 0x1d24], esi
push esi
mov esi, dword [ebp - 0xf0]
push esi
push dword [ebx + 0x1d2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0x1d20]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov eax, esi
dec ecx
mov dword [ebp - 0xd0], edx
mov esi, edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1002752a
mov ebx, eax
cmp byte [ebx], 0
je 0x10027518
push 0
mov edx, ebx
lea ecx, [ebp - 0x44]
call fcn.10002c10
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x10027512
cmp eax, 0x10000
jae 0x100274ff
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xd0]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x100274d5
jmp 0x10027518
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xf0]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov ecx, dword [ebp - 0xd8]
sar esi, 1
mov dword [ebx + 0x1d40], esi
mov dword [ebx + 0x1d3c], eax
mov dword [ebx + 0x2b70], 0xbe99999a
cmp dword [ebx + 0x1d14], ecx
jne 0x100275ad
cmp dword [ebp - 0xfc], esi
jne 0x100275ad
mov eax, dword [ebx + 0x1d4c]
mov ecx, esi
mov edx, dword [ebp - 0xe0]
cmp eax, esi
cmovl ecx, eax
mov eax, dword [ebx + 0x1d50]
cmp eax, esi
mov dword [ebx + 0x1d4c], ecx
mov ecx, esi
cmovl ecx, eax
mov eax, dword [ebx + 0x1d54]
cmp eax, esi
mov dword [ebx + 0x1d50], ecx
mov ecx, dword [ebp - 0xd8]
cmovl esi, eax
mov dword [ebx + 0x1d54], esi
jmp 0x1002763e
mov edx, dword [ebp - 0xe0]
mov al, dl
mov dword [ebx + 0x1d14], ecx
xor al, 1
mov dword [ebx + 0x1d48], 0
mov dword [ebx + 0x2b62], 0x630000
mov dword [ebx + 0x2b68], 0
mov dword [ebx + 0x2b6c], 0x3e7
mov dword [ebx + 0x1d50], 0
mov dword [ebx + 0x1d54], 0
mov dword [ebx + 0x1d4c], 0
mov dword [ebx + 0x1d58], 0x10000
mov dword [ebx + 0x1d60], 0
mov byte [ebx + 0x1d5c], al
test dl, dl
jne 0x1002763e
mov eax, dword [ebp - 0xec]
mov esi, 1
cmp byte [ebp - 0xb7], dl
movzx eax, al
cmovne eax, esi
mov dword [ebp - 0xec], eax
test dword [ebp + 0x10], 0x2000
je 0x1002764e
mov byte [ebx + 0x1d58], 1
test dl, dl
jne 0x1002768a
cmp byte [ebp - 0xc9], dl
jne 0x1002766a
cmp byte [ebp - 0xba], dl
je 0x1002768a
cmp byte [ebx + 0xfc], dl
je 0x1002768a
mov edx, dword [ebp - 0xe4]
mov byte [ebp - 0xec], 1
call fcn.10004840
call fcn.10004900
mov ecx, edx
call fcn.1000bea0
jmp 0x100276b3
mov esi, dword [ebp - 0xe4]
mov edx, esi
call fcn.10004840
call fcn.10004900
mov ecx, esi
call fcn.1000bea0
cmp byte [ebp - 0xe0], 0
mov byte [ebp - 0xb9], 0
jne 0x100276ce
test byte [ebp + 0x10], 0x80
mov byte [ebp - 0xb9], 0
jne 0x100276ce
or dword [ebx + 0x19d4], 0xc
mov byte [ebp - 0xb9], 0
xor cl, cl
mov byte [ebp - 0xe5], 0
mov byte [ebp - 0xb5], cl
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x100], 0
cmp dword [ebx + 0x19bc], ecx
jne 0x10027bb0
cmp byte [ebp - 0xf8], 0
jne 0x10027829
cmp byte [ebx + 0x19cc], 0
jne 0x10027829
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 0x1d1c]
inc esi
cmp esi, eax
jle 0x1002775d
test eax, eax
je 0x10027737
cdq
sub eax, edx
lea edx, [ebx + 0x1d18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10027742
mov ecx, 8
lea edx, [ebx + 0x1d18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012370
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xf0]
mov dword [ebx + 0x1d18], esi
mov edx, dword [ebx + 0x1d20]
mov esi, edx
mov dword [ebp - 0xd0], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100277d7
mov ebx, eax
cmp byte [ebx], 0
je 0x100277c5
push 0
mov edx, ebx
lea ecx, [ebp - 0x44]
call fcn.10002c10
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x100277bf
cmp eax, 0x10000
jae 0x100277ad
mov word [esi], ax
add esi, 2
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp + 8]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x10027783
jmp 0x100277c5
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xf0]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [ebx + 0x1d3c], eax
mov ecx, esi
mov eax, dword [ebx + 0x1d4c]
cmp eax, esi
mov dword [ebx + 0x1d40], esi
cmovl ecx, eax
mov eax, dword [ebx + 0x1d50]
cmp eax, esi
mov dword [ebx + 0x1d4c], ecx
mov ecx, esi
cmovl ecx, eax
mov eax, dword [ebx + 0x1d54]
cmp eax, esi
mov dword [ebx + 0x1d50], ecx
cmovl esi, eax
mov dword [ebx + 0x1d54], esi
mov eax, dword [ebx + 0x1d3c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x1d44], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x2b78], eax
mov dword [ebx + 0x2b7c], 0
mov dword [ebx + 0x2b80], 0
cmp byte [ebx + 0xec], 0
mov dword [ebx + 0x2e60], 1
sete al
cmp byte [ebp - 0xe0], 0
mov byte [ebx + 0x19cd], al
movss xmm7, dword [ebx + 0xe4]
subss xmm7, dword [ebp - 0x54]
subss xmm7, dword [ebx + 0x154c]
addss xmm7, dword [ebx + 0x1d48]
je 0x100278bb
mov eax, dword [ebp - 0x108]
movss xmm2, dword [ebx + 0xe8]
subss xmm2, dword [eax + 0xc8]
subss xmm2, dword [ebx + 0x1550]
jmp 0x100278cb
movss xmm2, dword [ebx + 0x18bc]
mulss xmm2, dword [0x10085410]
cmp byte [ebp - 0xec], 0
mov cl, byte [ebx + 0xbd]
mov byte [ebp - 0xb7], cl
jne 0x10027a9e
mov dl, byte [ebp - 0xb8]
test dl, dl
je 0x10027904
mov al, byte [ebx + 0x3fd]
test cl, cl
jne 0x10027981
test al, al
jne 0x10027a9e
cmp byte [ebx + 0x3f8], 0
mov al, byte [ebx + 0x2b75]
je 0x100279f4
test al, al
jne 0x100279f4
test dl, dl
je 0x10027ac8
lea esi, [ebx + 0x1d14]
cmp byte [ebx + 0x1d5c], al
je 0x10027949
push 0
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.10025300
movss xmm2, dword [ebp - 0x34]
add esp, 4
movaps xmm1, xmm7
mov ecx, esi
call fcn.10025610
mov cl, byte [ebp - 0xb7]
mov dword [ebx + 0x1d4c], eax
mov dword [ebx + 0x1d50], eax
mov dword [ebx + 0x1d54], eax
mov byte [ebx + 0x1d5b], 0
mov dword [ebx + 0x2b70], 0xbe99999a
jmp 0x10027ac8
test al, al
je 0x10027904
push 0x1000c
lea edx, [ebx + 0x1d4c]
lea ecx, [ebx + 0x1d14]
call fcn.10025a10
add esp, 4
mov byte [ebx + 0x2b74], 1
lea edx, [ebx + 0x1d4c]
mov dword [ebx + 0x2b70], 0xbe99999a
lea ecx, [ebx + 0x1d14]
push 0x3000d
call fcn.10025a10
mov edi, dword [0x10088d30]
add esp, 4
mov cl, byte [ebp - 0xb7]
mov byte [ebx + 0x2b74], 1
mov dword [ebx + 0x2b70], 0xbe99999a
mov dword [ebp - 0xc0], edi
jmp 0x10027ac8
cmp byte [ebx + 0xec], 0
je 0x10027ac8
test al, al
jne 0x10027ac8
movss xmm0, dword [ebx + 0x398]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10027a32
movss xmm0, dword [ebx + 0x39c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10027ac8
cmp byte [ebx + 0x1d5c], 0
lea esi, [ebx + 0x1d14]
je 0x10027a55
push 0
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.10025300
movss xmm2, dword [ebp - 0x34]
add esp, 4
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
jne 0x10027a6f
mov eax, dword [ebx + 0x1d4c]
mov dword [ebx + 0x1d50], eax
movaps xmm1, xmm7
mov ecx, esi
call fcn.10025610
mov cl, byte [ebp - 0xb7]
mov dword [ebx + 0x1d54], eax
mov dword [ebx + 0x1d4c], eax
mov dword [ebx + 0x2b70], 0xbe99999a
mov byte [ebx + 0x2b74], 1
jmp 0x10027ac8
mov eax, dword [ebx + 0x1d40]
mov dword [ebx + 0x1d50], 0
mov dword [ebx + 0x1d54], eax
mov dword [ebx + 0x1d4c], eax
mov byte [ebx + 0x1d5b], 0
mov byte [ebx + 0x2b75], 1
cmp byte [ebx + 0x2b75], 0
je 0x10027ae1
cmp byte [ebx + 0xec], 0
jne 0x10027ae1
mov byte [ebx + 0x2b75], 0
cmp word [ebx + 0x300], 0
lea esi, [ebx + 0x300]
je 0x10027bb0
cmp byte [ebx + 0xfc], 0
je 0x10027b0b
cmp byte [ebx + 0xfe], 0
je 0x10027b96
test cl, cl
je 0x10027b18
cmp byte [ebx + 0xff], 0
jne 0x10027b96
cmp byte [ebp - 0xf8], 0
je 0x10027b96
cmp byte [ebp - 0xc1], 0
jne 0x10027b96
xor edi, edi
nop dword [eax]
movzx eax, word [esi]
test ax, ax
je 0x10027b8a
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xd0]
sub esp, 8
mov dword [ebp - 0xd0], eax
call fcn.100269f0
add esp, 8
test al, al
je 0x10027b81
push dword [ebp - 0xd0]
lea edx, [ebx + 0x1d4c]
lea ecx, [ebx + 0x1d14]
call fcn.10025a10
add esp, 4
mov byte [ebx + 0x2b74], 1
mov dword [ebx + 0x2b70], 0xbe99999a
inc edi
add esi, 2
cmp edi, 0x11
jl 0x10027b30
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
xorps xmm0, xmm0
movups xmmword [ebx + 0x300], xmm0
movups xmmword [ebx + 0x310], xmm0
mov word [ebx + 0x320], 0
mov eax, dword [ebp - 0xd8]
xor cl, cl
mov byte [ebp - 0xb6], cl
cmp dword [ebx + 0x19bc], eax
jne 0x10027f4e
cmp byte [ebx + 0x19cc], cl
jne 0x10027f4e
cmp byte [ebp - 0xb9], cl
jne 0x10027f4e
mov ah, byte [ebx + 0xfd]
xor esi, esi
mov dh, byte [ebx + 0xbd]
test ah, ah
mov al, byte [ebx + 0xfc]
mov ecx, 0x20000
cmovne esi, ecx
mov byte [ebp - 0xf1], ah
mov byte [ebp - 0x129], dh
test dh, dh
je 0x10027c60
cmp byte [ebx + 0xff], 0
je 0x10027c24
test al, al
jne 0x10027c24
mov ecx, 1
jmp 0x10027c26
xor ecx, ecx
test ecx, ecx
jne 0x10027c6d
xor dl, dl
mov byte [ebp - 0xba], dl
mov cl, al
test dh, dh
je 0x10027c7e
cmp byte [ebx + 0xff], 0
je 0x10027c7e
test ah, ah
je 0x10027c7e
mov cl, byte [ebx + 0xfc]
test cl, cl
jne 0x10027c7e
cmp byte [ebx + 0xfe], cl
jne 0x10027c7e
mov byte [ebp - 0xc9], 1
jmp 0x10027c8d
test al, al
je 0x10027c2a
cmp byte [ebx + 0xff], 0
jne 0x10027c2a
cmp byte [ebx + 0xfe], 0
jne 0x10027c2a
test ah, ah
jne 0x10027c2a
mov dl, 1
jmp 0x10027c2c
mov byte [ebp - 0xc9], 0
test dh, dh
je 0x10027d54
cmp byte [ebx + 0xff], 0
mov al, byte [ebx + 0xfe]
mov byte [ebp - 0xc1], al
je 0x10027d61
test cl, cl
jne 0x10027d61
test al, al
jne 0x10027d61
mov byte [ebp - 0xd9], 1
xor dh, dh
cmp byte [ebx + 0xfd], dh
je 0x10027ce2
test cl, cl
jne 0x10027ce2
cmp byte [ebx + 0xfe], cl
jne 0x10027ce2
mov byte [ebp - 0xb8], 1
cmp byte [ebx + 0xff], cl
je 0x10027ce9
mov byte [ebp - 0xb8], 0
test dl, dl
je 0x10027cff
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x10027cff
mov dl, 1
call fcn.10007360
test al, al
jne 0x10027d22
cmp byte [ebp - 0xb8], 0
je 0x10027d97
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x10027d97
mov dl, 1
call fcn.10007360
test al, al
je 0x10027d97
cmp byte [ebp - 0xf8], 0
je 0x10027d97
cmp byte [ebp - 0x134], 0
jne 0x10027d97
cmp byte [ebp - 0xe0], 0
je 0x10027d4b
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
je 0x10027d97
mov byte [ebp - 0xb7], 1
jmp 0x10027d9e
mov byte [ebp - 0xc1], cl
mov byte [ebp - 0xc9], 0
mov byte [ebp - 0xd9], 0
test cl, cl
je 0x10027cbd
test ah, ah
jne 0x10027cbd
cmp byte [ebx + 0xfe], ah
jne 0x10027cbd
cmp byte [ebx + 0xff], ah
jne 0x10027cbd
mov dh, 1
jmp 0x10027ce2
mov byte [ebp - 0xb7], 0
cmp byte [ebp - 0xba], 0
je 0x10027db9
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x10027db9
mov dl, 1
call fcn.10007360
test al, al
jne 0x10027dcf
test dh, dh
je 0x10027df8
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x10027df8
mov dl, 1
call fcn.10007360
test al, al
je 0x10027df8
cmp byte [ebp - 0x134], 0
jne 0x10027df8
cmp byte [ebp - 0xe0], 0
je 0x10027def
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
je 0x10027df8
mov byte [ebp - 0x109], 1
jmp 0x10027dff
mov byte [ebp - 0x109], 0
mov dh, byte [ebp - 0xba]
test dh, dh
je 0x10027e1b
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x10027e1b
mov dl, 1
call fcn.10007360
test al, al
jne 0x10027e36
cmp byte [ebp - 0xb8], 0
je 0x10027e46
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x10027e46
mov dl, 1
call fcn.10007360
test al, al
je 0x10027e46
cmp byte [ebp - 0xf8], 0
mov byte [ebp - 0x10a], 1
jne 0x10027e4d
mov byte [ebp - 0x10a], 0
test dh, dh
je 0x10027e80
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x10027e80
mov dl, 1
call fcn.10007360
test al, al
je 0x10027e80
cmp byte [ebp - 0xf8], 0
je 0x10027e80
cmp byte [ebp - 0x118], 0
je 0x10027e80
mov byte [ebp - 0xb8], dl
jmp 0x10027e8b
mov byte [ebp - 0xb8], 0
test dh, dh
je 0x10027ea0
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x10027ea0
mov dl, 1
call fcn.10007360
test al, al
jne 0x10027ebe
cmp byte [ebp - 0xc9], 0
je 0x10027ed4
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x10027ed4
mov dl, 1
call fcn.10007360
test al, al
je 0x10027ed4
cmp byte [ebp - 0xf8], 0
je 0x10027ed4
cmp byte [ebp - 0x118], 0
je 0x10027ed4
mov dh, 1
jmp 0x10027ed6
xor dh, dh
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x10027fcb
mov dl, 1
call fcn.10007360
test al, al
je 0x10027fcb
cmp byte [ebp - 0xd9], 0
je 0x10027f00
mov eax, 0x10004
jmp 0x10027f14
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [ebp - 0xc1], 0
cmovne eax, ecx
or eax, esi
push eax
lea edx, [ebx + 0x1d4c]
lea ecx, [ebx + 0x1d14]
call fcn.10025a10
mov dword [ebx + 0x2b70], 0xbe99999a
mov byte [ebx + 0x2b74], 1
add esp, 4
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
mov cl, byte [ebp - 0xb6]
mov dh, byte [ebp - 0xb5]
mov eax, dword [ebx + 0x19bc]
cmp eax, dword [ebp - 0xd8]
jne 0x10028c24
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], eax
test cl, cl
je 0x1002879e
cmp byte [ebp - 0xf8], al
je 0x100286ca
mov esi, dword [ebx + 0x1d2c]
mov ecx, esi
mov eax, dword [ebp - 0xf0]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100286ae
test dl, dl
je 0x10027fc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100286ae
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027fa0
xor eax, eax
jmp 0x100286b3
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x10027ffd
mov dl, 1
call fcn.10007360
test al, al
je 0x10027ffd
cmp byte [ebp - 0xd9], 0
je 0x10027ff0
mov eax, 0x10005
jmp 0x10027f14
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x10027f0a
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1002806f
mov dl, 1
call fcn.10007360
test al, al
je 0x1002806f
cmp byte [ebp - 0xe0], 0
je 0x1002806f
cmp byte [ebx + 0xfc], 0
je 0x1002805c
mov edx, dword [ebp - 0x108]
xorps xmm2, xmm2
movss xmm1, dword [edx + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [ebx + 0x18bc]
addss xmm1, dword [edx + 0xe0]
maxss xmm0, xmm2
subss xmm1, xmm0
movss dword [edx + 0x58], xmm0
movss dword [edx + 0xe0], xmm1
jmp 0x10027f48
movzx eax, byte [ebp - 0xd9]
lea eax, [eax*4 + 0x10002]
jmp 0x10027f14
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x10028102
mov dl, 1
call fcn.10007360
test al, al
je 0x10028102
cmp byte [ebp - 0xe0], 0
je 0x10028102
cmp byte [ebx + 0xfc], 0
je 0x100280ef
mov eax, dword [edi + 0x199c]
mov ecx, dword [ebp - 0x108]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [ebx + 0x18bc]
addss xmm3, dword [ecx + 0xe0]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x58], xmm2
movss dword [ecx + 0xe0], xmm3
jmp 0x10027f48
movzx eax, byte [ebp - 0xd9]
lea eax, [eax*4 + 0x10003]
jmp 0x10027f14
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x10028131
mov dl, 1
call fcn.10007360
test al, al
je 0x10028131
mov eax, esi
or esi, 0x10004
or eax, 0x10006
cmp byte [ebx + 0xfc], 0
cmovne esi, eax
push esi
jmp 0x10027f17
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x10028160
mov dl, 1
call fcn.10007360
test al, al
je 0x10028160
mov eax, esi
or esi, 0x10005
or eax, 0x10007
cmp byte [ebx + 0xfc], 0
cmovne esi, eax
push esi
jmp 0x10027f17
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x10028187
mov dl, 1
call fcn.10007360
test al, al
je 0x10028187
cmp byte [ebp - 0xf8], 0
je 0x10028187
or esi, 0x10008
push esi
jmp 0x10027f17
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x10028222
mov dl, 1
call fcn.10007360
test al, al
je 0x10028222
cmp byte [ebp - 0xf8], 0
je 0x10028222
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
jne 0x10028216
cmp byte [ebp - 0xc1], 0
je 0x100281c8
push 0x3000c
jmp 0x100281f1
cmp byte [ebp - 0x129], 0
je 0x10028216
cmp byte [ebx + 0xff], 0
je 0x10028216
cmp byte [ebx + 0xfe], 0
jne 0x10028216
cmp byte [ebx + 0xfc], 0
jne 0x10028216
push 0x30004
lea edx, [ebx + 0x1d4c]
lea ecx, [ebx + 0x1d14]
call fcn.10025a10
mov dword [ebx + 0x2b70], 0xbe99999a
add esp, 4
mov byte [ebx + 0x2b74], 1
or esi, 0x10009
push esi
jmp 0x10027f17
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x100282b2
mov dl, 1
call fcn.10007360
test al, al
je 0x100282b2
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xe0], 0
je 0x10028259
mov cl, byte [ebx + 0xfc]
test al, al
je 0x10028273
test cl, cl
jne 0x10028277
mov cl, byte [ebp - 0xb6]
mov dh, 1
mov byte [ebp - 0xb9], 1
mov byte [ebp - 0xb5], dh
jmp 0x10027f54
test cl, cl
jne 0x10028259
cmp byte [ebp - 0xf8], 0
je 0x10027f48
mov dword [ebp - 0xd0], 0xa
sub esp, 8
lea ecx, [ebp - 0xd0]
call fcn.100269f0
add esp, 8
test al, al
je 0x10027f3c
push dword [ebp - 0xd0]
jmp 0x10027f17
test dword [ebp + 0x10], 0x400
je 0x10028300
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x10028300
mov dl, 1
call fcn.10007360
test al, al
je 0x10028300
cmp byte [ebx + 0xfc], 0
jne 0x10028300
cmp byte [ebp - 0xf1], 0
jne 0x10028300
cmp byte [ebx + 0xfe], 0
jne 0x10028300
cmp byte [ebp - 0xf8], 0
je 0x10028300
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xd0], 9
jmp 0x1002828e
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x1002831f
mov dl, 1
call fcn.10007360
test al, al
je 0x1002831f
mov cl, dl
mov byte [ebp - 0xb9], cl
jmp 0x10027f4e
mov al, byte [ebp - 0xb8]
test al, al
jne 0x1002867a
test dh, dh
jne 0x1002867a
cmp byte [ebp - 0xba], dh
je 0x1002837c
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x1002837c
mov dl, 1
call fcn.10007360
test al, al
je 0x1002837c
mov eax, dword [ebx + 0x1d40]
mov dword [ebx + 0x1d50], 0
mov dword [ebx + 0x1d54], eax
mov dword [ebx + 0x1d4c], eax
mov byte [ebx + 0x1d5b], dh
mov byte [ebx + 0x2b74], dl
jmp 0x10027f48
mov al, byte [ebp - 0xb7]
test al, al
jne 0x10028526
cmp byte [ebp - 0x109], al
jne 0x10028526
cmp byte [ebp - 0x10a], al
je 0x10027f48
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x100283c9
push dword [edi + 0xd4]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10027f3c
mov edi, dword [0x10088d30]
jmp 0x100283ce
mov esi, 0x10084746
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100283d3
sub ecx, edx
test edi, edi
je 0x100283e6
inc dword [edi + 0x394]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0xc8], eax
xor edi, edi
cmp byte [esi], 0
je 0x10028460
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10002c10
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10028454
cmp eax, 0x10000
jae 0x1002844f
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xd4]
sub esp, 8
call fcn.100269f0
add esp, 8
test al, al
je 0x1002844f
mov ax, word [ebp - 0xd4]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10028406
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x10028506
mov edx, dword [ebx + 0x1d54]
lea esi, [ebx + 0x1d4c]
mov ecx, dword [esi + 4]
mov eax, dword [ebx + 0x1d40]
cmp ecx, edx
je 0x1002849f
cmp ecx, eax
jle 0x10028490
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x10028499
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1002849f
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x100284a5
mov dword [esi], eax
mov edx, esi
lea ecx, [ebx + 0x1d14]
call fcn.10025980
mov edx, dword [esi]
lea ecx, [ebx + 0x1d14]
push edi
push dword [ebp - 0xc8]
call fcn.100254e0
add esp, 8
test al, al
je 0x100284e5
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.100266d0
add esp, 8
mov byte [esi + 0xf], 0
add dword [esi], edi
jmp 0x100284f9
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x100284f9
dec eax
mov word [esi + 0xe16], ax
mov eax, dword [ebp - 0xc8]
mov byte [ebx + 0x2b74], 1
test eax, eax
je 0x1002851a
mov ecx, dword [0x10088d30]
test ecx, ecx
je 0x1002851a
dec dword [ecx + 0x394]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x10027f39
cmp dword [ebx + 0xd0], 0
je 0x1002860b
mov esi, dword [ebx + 0x1d54]
mov eax, dword [ebx + 0x1d50]
cmp eax, esi
je 0x1002854d
mov ecx, esi
cmovl esi, eax
cmovge ecx, eax
jmp 0x10028555
mov ecx, dword [ebx + 0x1d40]
xor esi, esi
mov eax, dword [ebx + 0x1d34]
mov dword [ebp - 0x118], ecx
sub ecx, esi
lea edx, [ecx*4 + 1]
mov dword [ebp - 0xd0], edx
cmp edx, eax
jle 0x100285b6
lea edi, [ebx + 0x1d30]
test eax, eax
je 0x10028590
cdq
sub eax, edx
mov edx, dword [ebp - 0xd0]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x10028595
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10012200
mov edi, dword [0x10088d30]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0x118]
mov dword [ebx + 0x1d30], edx
mov ecx, dword [ebx + 0x1d20]
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + esi*2]
mov ecx, dword [ebx + 0x1d38]
push eax
call fcn.10002db0
mov eax, dword [edi + 0xd0]
add esp, 8
test eax, eax
je 0x10028605
push dword [ebx + 0x1d38]
push dword [edi + 0xd4]
call eax
mov edi, dword [0x10088d30]
add esp, 8
mov dword [ebp - 0xc0], edi
mov al, byte [ebp - 0xb7]
test al, al
je 0x10027f48
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
jne 0x10028644
mov eax, dword [ebx + 0x1d40]
mov dword [ebx + 0x1d50], 0
mov dword [ebx + 0x1d54], eax
mov dword [ebx + 0x1d4c], eax
mov byte [ebx + 0x1d5b], 0
mov byte [ebx + 0x2b74], 1
mov eax, dword [ebx + 0x1d50]
cmp eax, dword [ebx + 0x1d54]
je 0x10027f48
lea edx, [ebx + 0x1d4c]
lea ecx, [ebx + 0x1d14]
call fcn.10025980
mov byte [ebx + 0x1d5b], 0
jmp 0x10027f3c
movzx eax, al
lea edx, [ebx + 0x1d4c]
xor eax, 1
lea ecx, [ebx + 0x1d14]
add eax, 0x1000a
push eax
call fcn.10025a10
mov eax, dword [ebx + 0x1d4c]
mov dword [ebx + 0x1d54], eax
mov dword [ebx + 0x1d50], eax
jmp 0x10027f28
sbb eax, eax
or eax, 1
test eax, eax
je 0x100286ca
mov eax, dword [ebx + 0x1d24]
dec eax
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0x10]
test dh, dh
je 0x100286d9
test al, 0x20
jne 0x100287a1
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xec]
test esi, esi
je 0x10028c00
cmp dword [ebp - 0x100], ecx
je 0x10028bbb
cmp byte [ebp - 0x114], 0
je 0x10028bbb
mov dword [ebp - 0xb0], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xa0], eax
lea eax, [ecx + 1]
cmp dword [ebp + 8], eax
movlpd qword [ebp - 0xa8], xmm0
cmovge eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
movlpd qword [ebp - 0x94], xmm0
movlpd qword [ebp - 0x8c], xmm0
mov dword [ebp - 0xb4], 0x40000
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xac], 0
call eax
mov esi, dword [ebp - 0x98]
add esp, 4
mov edx, dword [ebp - 0xa0]
mov edi, dword [0x10088d30]
mov dword [ebp - 0xf0], edx
lea ecx, [esi - 1]
mov dword [ebp - 0xc0], edi
cmp dword [ebp - 0x9c], ecx
cmovl ecx, dword [ebp - 0x9c]
jmp 0x10028bc4
mov eax, dword [ebp + 0x10]
cmp byte [ebp - 0xf8], 0
je 0x1002881e
mov eax, dword [ebx + 0x1d18]
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x1d34]
cmp esi, eax
jle 0x100287fd
test eax, eax
je 0x100287d7
cdq
sub eax, edx
lea edx, [ebx + 0x1d30]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100287e2
mov ecx, 8
lea edx, [ebx + 0x1d30]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012200
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
mov dword [ebx + 0x1d30], esi
mov edx, esi
mov ecx, dword [ebx + 0x1d38]
push 0
push dword [ebx + 0x1d20]
call fcn.10002db0
mov eax, dword [ebp + 0x10]
add esp, 8
test eax, 0x1c0
je 0x10028b5e
mov esi, 0x15
test al, 0x40
je 0x1002884e
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x1002884e
mov dl, 1
call fcn.10007360
test al, al
je 0x1002884b
lea eax, [esi + 0x2b]
xor esi, esi
jmp 0x100288a0
mov eax, dword [ebp + 0x10]
test al, al
jns 0x10028890
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x10028871
mov dl, 1
call fcn.10007360
test al, al
je 0x1002886e
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x100288a0
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x10028890
mov dl, 1
call fcn.10007360
test al, al
je 0x1002888d
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x100288a0
mov eax, dword [ebp + 0x10]
test eax, 0x100
je 0x10028b5e
mov eax, 0x100
mov dword [ebp - 0x84], eax
xor ecx, ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0x1d38]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x1d3c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x1d44]
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0x1d20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x1d4c]
mov word [ebp - 0x63], cx
mov byte [ebp - 0x61], cl
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 0x64], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x78], 0
call fcn.10002ee0
mov ecx, dword [ebx + 0x1d50]
mov edi, eax
mov dword [ebp - 0x60], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10002ee0
mov ecx, dword [ebx + 0x1d54]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x5c], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10002ee0
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x84]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x104], eax
cmp ecx, edi
je 0x100289a5
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x10028960
cmp esi, edi
jae 0x10028992
cmp byte [esi], 0
je 0x10028992
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10002c10
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x1002898c
cmp eax, 0x10000
mov eax, dword [ebp - 0xc8]
jae 0x10028958
inc eax
jmp 0x10028952
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x1d4c], eax
mov eax, dword [ebp - 0x104]
mov byte [ebx + 0x2b74], 1
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0xfc]
je 0x10028a06
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc8], eax
nop dword [eax]
test edi, edi
je 0x100289c8
cmp esi, edi
jae 0x100289fa
cmp byte [esi], 0
je 0x100289fa
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10002c10
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x100289f4
cmp eax, 0x10000
mov eax, dword [ebp - 0xc8]
jae 0x100289c0
inc eax
jmp 0x100289b7
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x1d50], eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0xd0]
je 0x10028a60
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc8], eax
nop
test edi, edi
je 0x10028a28
cmp esi, edi
jae 0x10028a5a
cmp byte [esi], 0
je 0x10028a5a
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10002c10
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x10028a54
cmp eax, 0x10000
mov eax, dword [ebp - 0xc8]
jae 0x10028a20
inc eax
jmp 0x10028a18
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x1d54], eax
cmp byte [ebp - 0x64], 0
je 0x10028b4f
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x100]
cmp ecx, edx
jle 0x10028ad1
cmp byte [ebp - 0x114], 0
je 0x10028ad1
mov esi, dword [ebx + 0x1d18]
lea eax, [ebx + 0x1d18]
mov edi, dword [eax + 4]
sub esi, edx
add esi, ecx
cmp esi, edi
jle 0x10028acf
test edi, edi
je 0x10028aa8
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10028aad
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x1d18]
push eax
call fcn.10012370
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x104], eax
lea eax, [ebx + 0x1d18]
mov dword [eax], esi
mov ecx, dword [ebx + 0x1d20]
mov esi, ecx
mov edi, dword [ebx + 0x1d18]
dec edi
mov dword [ebp - 0xfc], ecx
lea edi, [ecx + edi*2]
cmp ecx, edi
jae 0x10028b2d
mov ebx, dword [ebp - 0x104]
cmp byte [ebx], 0
je 0x10028b21
push 0
mov edx, ebx
lea ecx, [ebp - 0x44]
call fcn.10002c10
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x10028b21
cmp eax, 0x10000
jae 0x10028b1d
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x10028af3
mov ebx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xfc]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x6c]
sar esi, 1
mov dword [ebx + 0x1d40], esi
mov dword [ebx + 0x1d3c], eax
mov dword [ebx + 0x2b70], 0xbe99999a
mov edi, dword [0x10088d30]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc0], edi
cmp byte [ebp - 0xf8], 0
je 0x100286d9
mov esi, dword [ebx + 0x1d38]
mov eax, esi
mov ecx, dword [ebp - 0xf0]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028ba0
test dl, dl
je 0x10028b9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028ba0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028b80
xor eax, eax
jmp 0x10028ba5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x10]
je 0x100286d9
mov ecx, dword [ebx + 0x1d3c]
jmp 0x100286e5
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp + 8]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x10028bf9
push esi
push dword [ebx + 0x1d38]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp - 0xf0]
add esp, 0xc
mov edi, dword [0x10088d30]
mov dword [ebp - 0xc0], edi
mov byte [eax + esi - 1], 0
mov byte [ebp - 0xe5], 1
mov dword [ebx + 0x2b78], 0
mov dword [ebx + 0x2b7c], 0
mov dword [ebx + 0x2b80], 0
mov eax, dword [ebx + 0x19bc]
cmp byte [ebp - 0xb9], 0
mov edx, eax
je 0x10028c88
cmp eax, dword [ebp - 0xd8]
jne 0x10028ca9
mov ecx, dword [edi + 0x19bc]
test ecx, ecx
setne al
mov byte [edi + 0x19cc], al
test ecx, ecx
je 0x10028c5d
mov dword [edi + 0x19c8], 0
mov byte [edi + 0x19ce], 0
mov dword [edi + 0x19bc], 0
mov dword [edi + 0x19d4], 0
mov byte [edi + 0x19cd], 0
mov dword [edi + 0x19e0], 0
mov edx, dword [ebx + 0x19bc]
mov eax, dword [ebp - 0xd8]
cmp edx, eax
jne 0x10028caf
cmp byte [ebp - 0xf8], 0
je 0x10028caf
mov ecx, dword [ebx + 0x1d38]
mov dword [ebp - 0xf0], ecx
jmp 0x10028caf
mov eax, dword [ebp - 0xd8]
cmp byte [ebp - 0xe0], 0
jne 0x10028d66
push 1
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.10003c40
movss xmm1, dword [0x10085448]
add esp, 4
mov ecx, 7
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.10003170
movss xmm2, dword [ebx + 0x1554]
mov dl, 1
mov ecx, eax
call fcn.100038a0
movss xmm0, dword [ebp - 0x54]
add esp, 0x10
movss xmm1, dword [ebp - 0x120]
movss xmm2, dword [ebp - 0x50]
movaps xmm6, xmm1
mov edi, dword [0x10088d30]
addss xmm6, xmm0
mov edx, dword [ebx + 0x19bc]
movaps xmm5, xmm2
addss xmm5, dword [ebp - 0x130]
movss dword [ebp - 0x18], xmm0
addss xmm0, dword [ebx + 0x154c]
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x10], xmm6
movss dword [ebp - 0xc], xmm5
mov dword [ebp - 0xc0], edi
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebx + 0x1550]
movss dword [ebp - 0x1c], xmm0
jmp 0x10028db3
movss xmm5, dword [ebp - 0x50]
movss xmm1, dword [ebp - 0x120]
movss xmm0, dword [ebp - 0x54]
movaps xmm6, xmm1
mov ecx, dword [ebp - 0x108]
addss xmm6, xmm0
movss dword [ebp - 0x14], xmm5
addss xmm5, dword [ebp - 0x130]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x10], xmm6
movss dword [ebp - 0xc], xmm5
mov eax, dword [ecx + 0xc4]
mov ecx, dword [ecx + 0xc8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov esi, dword [ebp - 0xd8]
lea eax, [ebp - 0x20]
movss xmm0, dword [eax]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [eax + 4]
mov dword [ebp - 0x110], eax
lea eax, [ebx + 0x1d14]
movss dword [ebp - 0x100], xmm0
movss dword [ebp - 0x124], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xec], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0xe4], xmm5
movss dword [ebp - 0x118], xmm0
movss dword [ebp - 0xd0], xmm0
cmp dword [eax], esi
jne 0x10028e4f
cmp byte [ebp - 0xe0], 0
je 0x10028e4f
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10002870
mov edx, dword [ebx + 0x19bc]
add esp, 4
cmp edx, eax
jne 0x10028e4f
mov al, 1
jmp 0x10028e51
xor al, al
cmp edx, esi
je 0x10028f3c
test al, al
jne 0x10028f3c
mov esi, dword [ebp - 0xf0]
cmp byte [ebp - 0xe0], al
je 0x10028ecb
mov al, byte [esi]
lea edx, [esi + 1]
xor ecx, ecx
mov byte [ebp - 0xf1], al
test al, al
je 0x10028e9a
mov bl, al
cmp bl, 0xa
lea eax, [ecx + 1]
mov bl, byte [edx]
cmovne eax, ecx
inc edx
mov ecx, eax
test bl, bl
jne 0x10028e82
mov ebx, dword [ebp - 0x11c]
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x10028ea7
cmp al, 0xd
je 0x10028ea7
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x18bc]
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x118], xmm0
jmp 0x10028ee8
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028ed0
sub ecx, edx
lea edx, [esi + ecx]
cmp ecx, 0x200000
jge 0x10029a3e
movss xmm1, dword [0x10085448]
lea eax, [ebp - 0x18]
xor ecx, ecx
cmp byte [ebp - 0xe0], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push edx
push esi
call fcn.10003170
movss xmm2, dword [ebx + 0x18bc]
push eax
lea eax, [ebp - 0x128]
push eax
mov eax, dword [ebp - 0x108]
push dword [ebx + 0x18b8]
mov ecx, dword [eax + 0x270]
call fcn.1001c190
mov edi, dword [0x10088d30]
jmp 0x10029990
mov ecx, dword [ebx + 0x1d20]
or esi, 0xffffffff
mov eax, dword [ebx + 0x1d4c]
xorps xmm7, xmm7
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [ebx + 0x2b70]
mov edx, dword [ebx + 0x1d50]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x114], eax
mov ecx, 1
mov eax, dword [ebx + 0x1d54]
movss dword [ebx + 0x2b70], xmm0
movss dword [ebp - 0x44], xmm6
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd8], 0xfffffc19
cmp edx, eax
je 0x10028fbd
mov ecx, dword [ebp - 0x104]
cmovl eax, edx
mov dword [ebp - 0xd8], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0xc8], eax
mov edi, dword [ebp - 0x104]
mov edx, edi
mov eax, dword [ebp - 0xe0]
movzx eax, al
add ecx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0xc0]
je 0x10029059
mov esi, edx
or ebx, 0xffffffff
xor edi, edi
movzx esi, word [esi]
nop word [eax + eax]
cmp si, 0xa
jne 0x10029027
inc edi
cmp ebx, 0xffffffff
jne 0x1002900b
cmp edx, dword [ebp - 0x114]
jb 0x1002900b
dec ecx
mov ebx, edi
test ecx, ecx
jle 0x10029035
cmp dword [ebp - 0xd8], 0xffffffff
jne 0x10029027
cmp edx, dword [ebp - 0xc8]
jb 0x10029027
dec ecx
mov dword [ebp - 0xd8], edi
test ecx, ecx
jle 0x10029035
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x10028ff0
mov dword [ebp - 0xfc], ebx
mov ebx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x104]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0xd4], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0xd8]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xd8], ecx
mov ecx, esi
cmp esi, edx
jbe 0x100290a2
cmp word [ecx - 2], 0xa
lea eax, [ecx - 2]
je 0x100290a2
mov ecx, eax
cmp ecx, edx
ja 0x10029092
mov edx, dword [edi + 0x18b8]
movaps xmm2, xmm6
movss xmm3, dword [edi + 0x18bc]
movaps xmm5, xmm6
divss xmm3, dword [edx]
cmp ecx, esi
jae 0x1002910a
mov edi, dword [ebp - 0x114]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x100290da
maxss xmm2, xmm5
movaps xmm5, xmm6
jmp 0x10029100
cmp esi, 0xd
je 0x10029100
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x100290f0
mov eax, dword [edx + 0x24]
movss xmm1, dword [eax + esi*4]
jmp 0x100290f5
movss xmm1, dword [edx + 0x38]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm5, xmm0
cmp ecx, edi
jb 0x100290c4
mov edi, dword [ebp - 0xc0]
cmp dword [ebp - 0xd8], 0
maxss xmm5, xmm2
movd xmm0, dword [ebp - 0xfc]
movss xmm4, dword [ebx + 0x18bc]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x148], xmm5
mulss xmm0, xmm4
movss dword [ebp - 0x114], xmm0
jl 0x100291d6
mov eax, dword [ebp - 0xc8]
mov ecx, eax
mov esi, dword [ebp - 0x104]
cmp eax, esi
jbe 0x10029168
cmp word [ecx - 2], 0xa
je 0x10029162
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10029154
mov eax, dword [ebp - 0xc8]
movaps xmm2, xmm6
movaps xmm7, xmm6
cmp ecx, eax
jae 0x100291be
mov edi, dword [ebp - 0xc8]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1002918e
maxss xmm2, xmm7
movaps xmm7, xmm6
jmp 0x100291b4
cmp esi, 0xd
je 0x100291b4
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x100291a4
mov eax, dword [edx + 0x24]
movss xmm1, dword [eax + esi*4]
jmp 0x100291a9
movss xmm1, dword [edx + 0x38]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm7, xmm0
cmp ecx, edi
jb 0x10029178
mov edi, dword [ebp - 0xc0]
movd xmm0, dword [ebp - 0xd8]
maxss xmm7, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x44], xmm0
mov ecx, dword [ebp - 0xe0]
movss xmm3, dword [ebp - 0x120]
test cl, cl
je 0x1002920a
movd xmm0, dword [ebp - 0xd4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x118], xmm0
cmp byte [ebx + 0x2b74], 0
je 0x100292f2
test dword [ebp + 0x10], 0x1000
jne 0x1002926a
movss xmm2, dword [ebx + 0x1d48]
movaps xmm0, xmm3
comiss xmm2, xmm5
mulss xmm0, dword [0x100853f8]
movaps xmm1, xmm5
jbe 0x10029248
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x10029255
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10029274
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1d48], xmm0
jmp 0x10029274
mov dword [ebx + 0x1d48], 0
test cl, cl
je 0x100292f2
movss xmm0, dword [ebp - 0x114]
mov eax, dword [ebp - 0x108]
movaps xmm1, xmm0
subss xmm1, xmm4
movss xmm6, dword [eax + 0x58]
comiss xmm6, xmm1
jbe 0x100292a0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x100292ac
subss xmm0, dword [ebp - 0x130]
maxss xmm0, xmm6
subss xmm6, xmm0
movss dword [eax + 0x58], xmm0
addss xmm6, dword [eax + 0xc8]
movss dword [eax + 0xc8], xmm6
movss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x100], xmm6
movss dword [ebp - 0x124], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0xec], xmm0
movss xmm4, dword [ebx + 0x1d48]
mov ecx, dword [ebx + 0x1d54]
mov edx, dword [ebx + 0x1d50]
mov byte [ebx + 0x2b74], 0
movss dword [ebp - 0xc8], xmm4
cmp edx, ecx
je 0x100295c0
mov esi, dword [ebp - 0x104]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0xe0], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x104]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xd4], eax
je 0x10029358
movss dword [ebp - 0x138], xmm6
movss dword [ebp - 0xfc], xmm6
jmp 0x10029368
movss xmm0, dword [0x1008547c]
movss dword [ebp - 0xfc], xmm0
movss xmm1, dword [0x10085448]
mov ecx, 0x2a
call fcn.10003170
movss xmm5, dword [ebp - 0x100]
xorps xmm2, xmm2
mov ecx, dword [ebp - 0x110]
movaps xmm6, xmm5
addss xmm6, dword [ebp - 0x44]
mov dword [ebp - 0x11c], eax
movss xmm4, dword [ecx]
mov ecx, dword [ebp - 0xd4]
addss xmm4, xmm7
subss xmm6, xmm2
subss xmm4, dword [ebp - 0xc8]
movss dword [ebp - 0x44], xmm6
cmp esi, ecx
jae 0x10029612
movss xmm7, dword [ebx + 0x18bc]
movss xmm5, dword [ebp - 0xe4]
movaps xmm1, xmm7
mov eax, dword [ebp - 0x110]
nop dword [eax]
movaps xmm0, xmm5
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x100295b8
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm6
jbe 0x1002941a
cmp esi, ecx
jae 0x1002958d
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x10029587
cmp esi, ecx
jb 0x10029402
jmp 0x100295b8
mov edx, dword [edi + 0x18b8]
movaps xmm5, xmm2
movss xmm3, dword [edi + 0x18bc]
movaps xmm1, xmm2
divss xmm3, dword [edx]
cmp esi, ecx
jae 0x10029486
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10029473
cmp ecx, 0xd
je 0x10029467
cmp ecx, dword [edx + 0x1c]
jge 0x10029457
mov eax, dword [edx + 0x24]
movss xmm2, dword [eax + ecx*4]
jmp 0x1002945c
movss xmm2, dword [edx + 0x38]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xd4]
cmp esi, ecx
jb 0x10029436
jmp 0x10029483
mov ecx, dword [ebp - 0xd4]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm2, xmm2
maxss xmm1, xmm5
comiss xmm2, xmm1
jb 0x100294c0
mov eax, dword [ebx + 0x18b8]
cmp dword [eax + 0x1c], 0x20
jle 0x100294a8
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x100294ad
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10085410]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0xfc]
addss xmm1, xmm4
movss xmm5, dword [ebp - 0xe4]
addss xmm4, xmm2
movss xmm2, dword [ebp - 0x138]
addss xmm0, xmm6
movss xmm3, dword [ebp - 0xec]
subss xmm2, xmm7
minss xmm1, xmm3
maxss xmm4, dword [ebp - 0x18]
minss xmm0, xmm5
addss xmm2, xmm6
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x38], xmm4
comiss xmm0, dword [ebp - 0x14]
maxss xmm2, dword [ebp - 0x14]
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x34], xmm2
jbe 0x10029584
comiss xmm5, xmm2
jbe 0x10029584
comiss xmm1, dword [ebp - 0x18]
jbe 0x10029584
comiss xmm3, xmm4
jbe 0x10029584
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x30]
push dword [ebp - 0x11c]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x270]
call fcn.1001bcd0
movss xmm5, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x10]
mov edi, dword [0x10088d30]
movss xmm6, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xd4]
movss dword [ebp - 0xe4], xmm5
movss dword [ebp - 0xec], xmm0
xorps xmm2, xmm2
mov eax, dword [ebp - 0x110]
movss xmm7, dword [ebx + 0x18bc]
movss xmm4, dword [eax]
movaps xmm0, xmm7
addss xmm6, xmm0
movaps xmm1, xmm7
subss xmm4, dword [ebp - 0xc8]
movss dword [ebp - 0x44], xmm6
cmp esi, ecx
jb 0x100293e0
movss xmm4, dword [ebp - 0xc8]
movss xmm5, dword [ebp - 0x100]
cmp byte [ebp - 0xe0], 0
mov edx, dword [ebx + 0x1d3c]
movss xmm2, dword [0x10085608]
jne 0x100295eb
cmp edx, 0x200000
jge 0x10029745
movups xmm1, xmmword [edi + 0x15b8]
xorps xmm6, xmm6
comiss xmm6, xmm1
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xff
mulss xmm3, dword [edi + 0x1518]
movups xmmword [ebp - 0x38], xmm1
jbe 0x1002961c
xorps xmm0, xmm0
jmp 0x10029628
movss xmm4, dword [ebp - 0xc8]
jmp 0x100295c8
movss xmm0, dword [0x10085448]
minss xmm0, xmm1
movss xmm7, dword [0x10085410]
movss xmm1, dword [ebp - 0x34]
comiss xmm6, xmm1
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002964b
xorps xmm0, xmm0
jmp 0x10029657
movss xmm0, dword [0x10085448]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x30]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm1
jbe 0x10029677
xorps xmm0, xmm0
jmp 0x10029683
movss xmm0, dword [0x10085448]
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm3
jbe 0x1002969e
xorps xmm1, xmm1
jmp 0x100296aa
movss xmm1, dword [0x10085448]
minss xmm1, xmm3
xor edi, edi
mov esi, dword [ebp - 0x110]
cmp byte [ebp - 0xe0], 0
lea eax, [ebp - 0x18]
mulss xmm1, xmm2
subss xmm5, xmm6
cmovne eax, edi
movss xmm2, dword [ebx + 0x18bc]
push eax
movss xmm0, dword [esi]
addss xmm1, xmm7
push ecx
mov dword [esp], edi
subss xmm0, xmm4
mov edi, dword [ebp - 0xf0]
movss dword [ebp - 0x138], xmm5
lea eax, [edx + edi]
movss dword [ebp - 0x13c], xmm0
push eax
cvttss2si eax, xmm1
push edi
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0x108]
push dword [ebx + 0x18b8]
mov ecx, dword [eax + 0x270]
call fcn.1001c190
movss xmm0, dword [ebp - 0xc]
mov edi, dword [0x10088d30]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0xec], xmm0
jmp 0x1002974b
mov esi, dword [ebp - 0x110]
cmp byte [ebx + 0xbe], 0
je 0x100297a3
movss xmm0, dword [ebx + 0x2b70]
xorps xmm2, xmm2
comiss xmm2, xmm0
jae 0x100297a3
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x13c], xmm0
fld qword [ebp - 0x13c]
fld qword [0x10085470]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1008542c]
fstp qword [ebp - 0x13c]
movsd xmm1, qword [ebp - 0x13c]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100297a3
xor al, al
jmp 0x100297a5
mov al, 1
movss xmm2, dword [ebp - 0x100]
xorps xmm6, xmm6
movss xmm5, dword [esi]
movss xmm7, dword [0x10085410]
movss xmm3, dword [0x10085448]
addss xmm2, dword [ebp - 0x114]
addss xmm5, dword [ebp - 0x148]
subss xmm2, xmm6
subss xmm5, dword [ebp - 0xc8]
movss dword [ebp - 0x100], xmm2
movaps xmm0, xmm2
movss dword [ebp - 0x148], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x38], xmm5
movaps xmm4, xmm2
addss xmm1, xmm3
subss xmm0, dword [ebx + 0x18bc]
subss xmm4, dword [0x10085454]
movss dword [ebp - 0x30], xmm1
addss xmm0, xmm7
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x34], xmm0
test al, al
je 0x1002996b
comiss xmm4, dword [ebp - 0x14]
jbe 0x1002996b
movss xmm2, dword [ebp - 0xe4]
comiss xmm2, xmm0
jbe 0x10029963
comiss xmm1, dword [ebp - 0x18]
jbe 0x10029963
movss xmm0, dword [ebp - 0xec]
comiss xmm0, xmm5
jbe 0x10029963
movups xmm1, xmmword [edi + 0x15b8]
comiss xmm6, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [edi + 0x1518]
movups xmmword [ebp - 0x28], xmm1
jbe 0x10029887
xorps xmm0, xmm0
jmp 0x1002988e
movaps xmm0, xmm3
minss xmm0, xmm1
movss xmm1, dword [0x10085608]
movss xmm3, dword [ebp - 0x24]
comiss xmm6, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x100298b1
xorps xmm0, xmm0
jmp 0x100298bd
movss xmm0, dword [0x10085448]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x20]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x100298dd
xorps xmm0, xmm0
jmp 0x100298e9
movss xmm0, dword [0x10085448]
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm2
jbe 0x10029904
xorps xmm0, xmm0
jmp 0x10029910
movss xmm0, dword [0x10085448]
minss xmm0, xmm2
mulss xmm0, xmm1
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x20], xmm5
addss xmm0, xmm7
movss dword [ebp - 0x1c], xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x270]
call fcn.1001baa0
mov edi, dword [0x10088d30]
movss xmm5, dword [ebp - 0x148]
movss xmm3, dword [0x10085448]
movss xmm2, dword [ebp - 0x100]
cmp byte [ebp - 0xf8], 0
je 0x10029990
subss xmm2, dword [ebx + 0x18bc]
subss xmm5, xmm3
movss dword [ebx + 0x2c1c], xmm2
movss dword [ebx + 0x2c18], xmm5
cmp byte [ebp - 0xe0], 0
je 0x10029a3e
mov eax, dword [edi + 0x199c]
movss xmm2, dword [ebx + 0x18bc]
mov byte [eax + 0x78], 1
mov eax, dword [edi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10029a2e
movss xmm4, dword [ebp - 0x118]
lea ecx, [ebp - 0x20]
movss xmm3, dword [ebp - 0xd0]
xorps xmm5, xmm5
movss xmm1, dword [eax + 0xc4]
addss xmm4, xmm5
movss xmm0, dword [eax + 0xc8]
addss xmm3, xmm2
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm0
addss xmm4, xmm1
addss xmm3, xmm0
movss dword [ebp - 0x30], xmm4
subss xmm4, xmm1
movss dword [ebp - 0x2c], xmm3
xorps xmm1, xmm1
subss xmm3, xmm0
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x1c], xmm3
call fcn.100049c0
push 0
xor edx, edx
lea ecx, [ebp - 0x38]
call fcn.10004ae0
add esp, 4
call fcn.100076d0
call fcn.1000c6d0
mov edi, dword [0x10088d30]
mov eax, dword [ebp - 0x134]
test al, al
je 0x10029b09
mov eax, dword [edi + 0x199c]
mov esi, edi
mov ecx, dword [eax + 0x270]
dec dword [ecx + 0x48]
call fcn.1001a060
mov edx, dword [edi + 0x1a18]
sub edx, 1
mov dword [edi + 0x1a18], edx
mov edi, dword [0x10088d30]
jne 0x10029a90
mov edx, dword [edi + 0xa0]
test edx, edx
jne 0x10029a9a
mov eax, dword [edi + 0x94]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
jmp 0x10029a9a
mov eax, dword [esi + 0x1a20]
mov edx, dword [eax + edx*4 - 4]
movss xmm0, dword [edi + 0x98]
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x18b8], edx
mulss xmm0, dword [edx]
mulss xmm0, dword [edx + 4]
movss dword [edi + 0x18c0], xmm0
test eax, eax
je 0x10029ad5
movss xmm0, dword [eax + 0x268]
mulss xmm0, dword [edi + 0x18c0]
jmp 0x10029ad8
xorps xmm0, xmm0
movss dword [edi + 0x18bc], xmm0
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18c8], eax
mov eax, dword [ebp - 0x134]
mov dword [edi + 0x18c4], ecx
mov dword [edi + 0x18cc], edx
movss dword [edi + 0x18d0], xmm0
cmp byte [ebx + 0x2c54], 0
je 0x10029b32
test al, al
jne 0x10029b32
mov edx, dword [ebp - 0xf0]
lea ecx, [ebp - 0x128]
push 0
call fcn.10010fd0
mov edi, dword [0x10088d30]
add esp, 4
movss xmm0, dword [ebp - 0x140]
comiss xmm0, dword [0x100853a0]
jbe 0x10029b91
movss xmm0, dword [ebp - 0x4c]
xor edx, edx
addss xmm0, dword [ebx + 0x1564]
mov ecx, dword [ebp - 0x144]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [ebx + 0x1550]
movss dword [ebp - 0x124], xmm0
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push 1
call fcn.10003400
mov edi, dword [0x10088d30]
add esp, 0xc
mov cl, byte [ebp - 0xe5]
test cl, cl
je 0x10029baf
mov eax, dword [edi + 0x199c]
mov byte [edi + 0x19ce], 1
or dword [eax + 0x10c], 4
test byte [ebp + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0xb5]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1005cdd4
mov esp, ebp
pop ebp
ret