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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x1004e00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [0x1004e688]
mov esi, edi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0xd4], esi
mov eax, dword [esi + 0x19f8]
mov byte [eax + 0x7c], 1
mov ebx, dword [esi + 0x19f8]
mov dword [ebp - 0x120], ebx
cmp byte [ebx + 0x7f], 0
jne 0x10032350
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0xd0], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xc0], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x12c], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0xe8], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x108], eax
test dl, dl
je 0x10032028
call fcn.10018150
mov edi, dword [0x1004e688]
mov ecx, dword [ebx + 0xbc]
xor edx, edx
mov eax, dword [ebx + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x130]
call fcn.1000cb60
mov edx, eax
add esp, 4
mov dword [ebp - 0xbc], edx
cmp dword [edi + 0x1a2c], edx
jne 0x1003205e
mov dword [edi + 0x1a30], edx
cmp dword [edi + 0x1a64], edx
jne 0x1003206d
mov byte [edi + 0x1a68], 1
mov ecx, dword [ebp - 0x130]
mov eax, ecx
cmp ecx, 0xffffffff
jae 0x1003209c
nop word [eax + eax]
mov cl, byte [eax]
test cl, cl
je 0x10032096
cmp cl, 0x23
jne 0x10032090
cmp byte [eax + 1], cl
je 0x10032096
inc eax
cmp eax, 0xffffffff
jb 0x10032080
mov ecx, dword [ebp - 0x130]
movss xmm2, dword [edi + 0x18c8]
cmp ecx, eax
jne 0x100320b5
xorps xmm6, xmm6
movss dword [ebp - 0x140], xmm6
jmp 0x1003210f
movss xmm3, dword [0x1004b474]
push 0
push eax
push ecx
push ecx
mov ecx, dword [edi + 0x18c4]
lea eax, [ebp - 0x118]
mov dword [esp], 0xbf800000
push eax
call fcn.10029770
movss xmm0, dword [ebp - 0x118]
xorps xmm6, xmm6
addss xmm0, dword [0x1004b380]
movss xmm2, dword [ebp - 0x114]
mov edx, dword [ebp - 0xbc]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x140], xmm0
cmp byte [ebp - 0xc0], 0
je 0x10032128
movss xmm2, dword [esi + 0x18c8]
mulss xmm2, dword [0x1004b400]
test byte [edi + 0x1ad0], 1
mov ecx, dword [edi + 0x19f8]
je 0x10032141
movss xmm0, dword [edi + 0x1ad4]
jmp 0x10032149
movss xmm0, dword [ecx + 0x1a8]
comiss xmm6, xmm0
jbe 0x10032181
mov eax, ecx
cmp dword [eax + 0x190], 0
movss xmm1, dword [eax + 0x244]
je 0x10032169
movss xmm1, dword [eax + 0x224]
subss xmm1, dword [ecx + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x1004b384]
maxss xmm0, xmm1
movss xmm5, dword [esi + 0x154c]
xorps xmm1, xmm1
cvttss2si eax, xmm0
movaps xmm3, xmm5
xorps xmm0, xmm0
addss xmm3, xmm5
movd xmm4, eax
mov eax, dword [ebp + 0x10]
addss xmm3, xmm2
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm2, dword [eax + 4]
movss dword [ebp - 0x11c], xmm7
movss dword [ebp - 0x110], xmm2
ja 0x100321cb
comiss xmm6, xmm2
jbe 0x100321ec
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x244]
movss xmm1, dword [ecx + 0x248]
je 0x100321ec
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x1004b3f0]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1003220a
movaps xmm7, xmm4
movss dword [ebp - 0x11c], xmm7
jmp 0x10032233
comiss xmm6, xmm7
jbe 0x10032233
subss xmm0, dword [ecx + 0xc8]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0x11c], xmm7
jb 0x10032233
movaps xmm7, xmm2
movss dword [ebp - 0x11c], xmm2
movss xmm0, dword [ebp - 0x110]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1003224e
movss dword [ebp - 0x110], xmm3
jmp 0x10032274
comiss xmm6, xmm0
jbe 0x10032274
subss xmm1, dword [ecx + 0xcc]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [ebp - 0x110], xmm0
jb 0x10032274
movss dword [ebp - 0x110], xmm2
movss xmm0, dword [ebp - 0x140]
comiss xmm0, xmm6
jbe 0x1003228e
movaps xmm2, xmm0
addss xmm2, dword [esi + 0x1560]
jmp 0x10032291
xorps xmm2, xmm2
cmp byte [ebp - 0xc0], 0
addss xmm2, xmm7
movss xmm4, dword [ebx + 0xcc]
movss xmm3, dword [ebx + 0xc8]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x110]
movaps xmm1, xmm3
movss dword [ebp - 0x4c], xmm3
addss xmm1, xmm7
movss dword [ebp - 0x48], xmm4
addss xmm2, xmm3
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0xc], xmm2
mov dword [ebp - 0x100], ebx
movss dword [ebp - 8], xmm0
je 0x10032544
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.10017fa0
add esp, 4
test al, al
jne 0x10032363
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x118]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [esi + 0x154c]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x114], xmm0
call fcn.10017e20
call fcn.10018280
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100407ae
mov esp, ebp
pop ebp
ret
mov esi, dword [0x1004e688]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 3
movups xmm0, xmmword [esi + 0x15f4]
lea ecx, [esi + 0x1ae4]
movups xmmword [ebp - 0x24], xmm0
call fcn.1001d1a0
mov ebx, dword [ebp - 0xd4]
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x10], 6
movups xmm0, xmmword [ebx + 0x1634]
movups xmmword [esi + 0x15f4], xmm0
mov esi, dword [0x1004e688]
movss xmm0, dword [ebx + 0x1550]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [esi + 0x1538]
lea ecx, [esi + 0x1af0]
movss dword [ebp - 0xc], xmm0
call fcn.1001d0e0
movss xmm0, dword [ebp - 0xcc]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1538], xmm0
mov esi, dword [0x1004e688]
movss xmm0, dword [ebx + 0x1554]
movss dword [ebp - 0xcc], xmm0
push eax
movss xmm0, dword [esi + 0x153c]
lea ecx, [esi + 0x1af0]
mov dword [ebp - 0x10], 7
movss dword [ebp - 0xc], xmm0
call fcn.1001d0e0
movss xmm0, dword [ebp - 0xcc]
lea eax, [ebp - 0x10]
movss dword [esi + 0x153c], xmm0
mov esi, dword [0x1004e688]
push eax
mov dword [ebp - 0x10], 1
movss xmm0, dword [esi + 0x1514]
lea ecx, [esi + 0x1af0]
movss xmm1, dword [esi + 0x1518]
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
call fcn.1001d0e0
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x1548]
mov ecx, dword [ebx + 0x154c]
mov edi, dword [ebp - 0xbc]
mov edx, edi
push 0x10004
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
mov dword [esi + 0x1514], eax
lea eax, [ebp - 0x118]
mov dword [esi + 0x1518], ecx
mov ecx, dword [ebp - 0x130]
push 1
push eax
movss dword [ebp - 0x114], xmm0
call fcn.10012330
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.1000d450
mov esi, dword [0x1004e688]
mov ecx, dword [esi + 0x1ae4]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1aec]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15c4], xmm0
dec dword [esi + 0x1ae4]
test bl, bl
jne 0x1003250f
call fcn.10012570
jmp 0x1003234b
mov esi, dword [ebp - 0xd4]
movss xmm0, dword [ebp - 0x11c]
mov ebx, dword [esi + 0x19f8]
mov dword [ebp - 0x100], ebx
subss xmm0, dword [ebx + 0x70]
mov eax, dword [ebx + 0x138]
or dword [ebx + 0x140], eax
movss dword [ebp - 0x11c], xmm0
jmp 0x10032589
subss xmm2, xmm3
movaps xmm1, xmm5
subss xmm0, xmm4
lea ecx, [ebp - 0x118]
movss dword [ebp - 0x118], xmm2
movss dword [ebp - 0x114], xmm0
call fcn.10017e20
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
lea ecx, [ebp - 0x14]
call fcn.10017fa0
add esp, 4
test al, al
je 0x10032350
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.1000f880
mov byte [ebp - 0xb3], al
test al, al
je 0x100325a7
mov dword [esi + 0x1d84], 1
lea eax, [esi + 0x1e54]
xor ecx, ecx
cmp dword [eax], edi
mov ebx, eax
mov edx, edi
mov dword [ebp - 0xcc], eax
mov edi, dword [ebp - 0x120]
cmovne ebx, ecx
mov ecx, edi
mov dword [ebp - 0x124], ebx
call fcn.1000faf0
mov byte [ebp - 0xd9], al
test al, al
je 0x10032651
cmp dword [esi + 0x1c30], edi
jne 0x10032651
mov ecx, dword [esi + 0x1c38]
cmp ecx, dword [edi + 0x19c]
jne 0x10032651
mov byte [ebp - 0xb2], 1
mov byte [ebp - 0xb7], 0
cmp byte [ebp - 0xb3], 0
je 0x10032618
cmp byte [esi + 0x3d8], 0
mov byte [ebp - 0xb1], 1
jne 0x1003261f
mov byte [ebp - 0xb1], 0
mov edi, dword [esi + 0x1a2c]
mov eax, dword [ebp - 0xbc]
cmp edi, eax
je 0x1003266c
cmp dword [esi + 0x1b38], eax
je 0x10032648
cmp dword [esi + 0x1b2c], eax
jne 0x1003266c
cmp dword [esi + 0x1b4c], 3
jne 0x1003266c
mov byte [ebp - 0xb0], 1
jmp 0x10032673
mov byte [ebp - 0xb2], 0
test al, al
je 0x100325f8
mov byte [ebp - 0xb7], 1
mov byte [ebp - 0xb2], 0
jmp 0x100325ff
mov byte [ebp - 0xb0], 0
mov eax, dword [ebp - 0xc0]
test al, al
je 0x100326c1
test ebx, ebx
je 0x100326c1
test edi, edi
jne 0x100326c1
mov eax, dword [ebp - 0x100]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000cb60
add esp, 4
cmp dword [esi + 0x1a64], eax
jne 0x100326bb
mov byte [ebp - 0xaf], 1
jmp 0x100326d7
mov eax, dword [ebp - 0xc0]
mov byte [ebp - 0xaf], 0
test al, al
je 0x10032704
mov byte [ebp - 0xaf], 0
test ebx, ebx
je 0x10032704
mov eax, dword [ebp - 0x100]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000cb60
add esp, 4
cmp edi, eax
jne 0x10032704
mov al, 1
jmp 0x10032706
xor al, al
mov edx, dword [ebp - 0xbc]
mov cl, byte [ebp - 0xb0]
mov byte [ebp - 0xb4], al
mov byte [ebp - 0xc1], 0
cmp edi, edx
je 0x1003273d
test byte [ebp + 0x14], 0x10
jne 0x1003272d
test cl, cl
je 0x1003273d
cmp byte [ebp - 0xc0], 0
mov byte [ebp - 0xe4], 1
je 0x10032744
mov byte [ebp - 0xe4], 0
cmp byte [ebp - 0xd9], 0
jne 0x10032890
cmp byte [ebp - 0xb1], 0
jne 0x10032890
cmp byte [ebp - 0xaf], 0
jne 0x10032890
test cl, cl
jne 0x10032890
mov byte [ebp - 0xaf], cl
test al, al
jne 0x10032897
mov byte [ebp - 0xb6], al
mov edi, edx
cmp dword [esi + 0x1a2c], edi
je 0x10032836
cmp byte [ebp - 0xaf], 0
je 0x10032836
mov edx, dword [ebp - 0x120]
mov ecx, edi
call fcn.1000f720
call fcn.10019800
mov ecx, edx
call fcn.100177e0
mov eax, dword [esi + 0x1a40]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xc0], 0
mov dword [esi + 0x1a40], eax
jne 0x100327da
test dl, dl
jns 0x100327e3
or eax, 0xc
mov dword [esi + 0x1a40], eax
mov eax, dword [esi + 0x1a48]
or dword [esi + 0x1a44], 2
or eax, 0x180
cmp byte [ebp - 0xc0], 0
mov ecx, dword [esi + 0x1a4c]
mov dword [esi + 0x1a48], eax
mov dword [esi + 0x1a4c], ecx
je 0x1003281f
or eax, 0x60
mov dword [esi + 0x1a4c], ecx
mov dword [esi + 0x1a48], eax
test edx, 0x440
je 0x10032836
or eax, 1
mov dword [esi + 0x1a4c], ecx
mov dword [esi + 0x1a48], eax
mov eax, dword [esi + 0x1a2c]
cmp eax, edi
jne 0x10032ac9
test ebx, ebx
jne 0x1003285b
call fcn.1000f800
mov eax, dword [esi + 0x1a2c]
cmp eax, edi
jne 0x10032ac9
cmp byte [esi + 0x3d8], 0
je 0x10032ad6
cmp byte [ebp - 0xb6], 0
jne 0x10032ad6
cmp byte [ebp - 0xaf], 0
jne 0x10032ad6
mov byte [ebp - 0xc1], 1
mov cl, 1
jmp 0x10032adc
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xb6], 1
mov dword [ebp - 0x124], ebx
cmp edi, edx
je 0x10032787
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x124], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100328d0
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x1003290f
test edi, edi
je 0x100328f7
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x100328fc
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.1001d680
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xd8]
mov dword [eax], esi
push dword [ebx + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebx + 0x10]
add esp, 0xc
cmp esi, 0x21
jge 0x10032954
test esi, esi
je 0x1003293c
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10032941
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001d6f0
mov dword [ebx + 0xc], 0x21
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x1003297b
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.1001d680
mov edx, dword [ebp - 0xd8]
mov edi, edx
mov dword [ebx + 0x18], 0
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xc8], ecx
lea eax, [ecx + 0x3e]
cmp ecx, eax
jae 0x100329dc
cmp byte [edi], 0
je 0x100329d6
push 0
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.1000cdd0
mov ecx, dword [ebp - 0xc8]
add edi, eax
mov eax, dword [ebp - 0xcc]
add esp, 4
test eax, eax
je 0x100329d6
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x3e]
cmp esi, eax
jb 0x100329a0
mov edx, dword [ebp - 0xd8]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [ebx + 8], edi
mov edi, dword [ebp - 0xbc]
mov dword [ebx + 4], esi
cmp dword [ebx], edi
jne 0x10032a1b
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
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
jmp 0x10032a7c
mov ecx, dword [ebp - 0xc0]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0xe58], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x50], eax
mov al, cl
xor al, 1
mov dword [ebx], edi
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x48], 0x10000
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x10032a82
mov ecx, dword [ebp - 0xe4]
mov eax, 1
cmp byte [ebp - 0xb2], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xc0]
test dword [ebp + 0x14], 0x2000
je 0x10032a8f
mov byte [ebx + 0x48], 1
mov esi, dword [ebp - 0xd4]
test cl, cl
jne 0x10032789
cmp byte [ebp - 0xb7], cl
jne 0x10032abd
cmp byte [ebp - 0xb1], cl
je 0x10032789
cmp byte [esi + 0x100], cl
je 0x10032789
mov byte [ebp - 0xe4], 1
jmp 0x10032789
test ebx, ebx
je 0x10032ada
cmp byte [ebp - 0xb4], 0
je 0x10032ada
mov cl, 1
jmp 0x10032adc
xor cl, cl
mov byte [ebp - 0xb1], cl
test ebx, ebx
je 0x10032af6
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10032af6
test cl, cl
je 0x10032af6
mov al, 1
jmp 0x10032af8
xor al, al
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 0xb5], al
mov byte [ebp - 0xd9], 0
mov byte [ebp - 0xb7], 0
test dl, dl
je 0x10032c1d
test ebx, ebx
je 0x10032c1d
test cl, cl
jne 0x10032b2e
test al, al
je 0x10032c25
mov ecx, dword [ebx + 0x10]
cmp ecx, 0x21
jge 0x10032b5e
test ecx, ecx
je 0x10032b45
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10032b4a
mov eax, 8
cmp eax, 0x21
mov ecx, 0x21
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0xc]
call fcn.1001d6f0
mov edx, dword [ebp - 0xd8]
mov edi, edx
mov dword [ebx + 0xc], 0x21
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov dword [ebp - 0xc8], ecx
lea eax, [ecx + 0x40]
cmp ecx, eax
jae 0x10032bbc
nop
cmp byte [edi], 0
je 0x10032bb6
push 0
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.1000cdd0
mov ecx, dword [ebp - 0xc8]
add edi, eax
mov eax, dword [ebp - 0xcc]
add esp, 4
test eax, eax
je 0x10032bb6
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x40]
cmp esi, eax
jb 0x10032b80
mov edx, dword [ebp - 0xd8]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
movzx eax, byte [ebp - 0xb5]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov edx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
cmovl edx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 8], edi
cmovl esi, dword [ebx + 0x44]
xor ecx, ecx
mov edi, dword [ebp - 0xbc]
cmp edx, esi
mov dword [ebx + 0x40], edx
mov edx, dword [ebp - 0xd0]
cmovne ecx, eax
mov al, cl
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xd4]
mov cl, byte [ebp - 0xb1]
mov byte [ebp - 0xb5], al
test cl, cl
jne 0x10032c2d
test al, al
jne 0x10032c2d
cmp dword [esi + 0x1a2c], edi
jne 0x10032c41
test dl, dl
jne 0x10032c41
test ebx, ebx
je 0x10032c41
mov byte [ebp - 0x10a], 1
cmp byte [ebx + 0x30], dl
jne 0x10032c48
mov byte [ebp - 0x10a], 0
cmp byte [ebp - 0x12c], 0
je 0x10032cef
mov edi, dword [esi + 0x18c4]
cmp dword [edi + 0x14], 0x2a
ja 0x10032c66
mov eax, dword [edi + 0x2c]
jmp 0x10032c85
mov eax, dword [edi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10032c7c
mov eax, dword [edi + 0x2c]
jmp 0x10032c85
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xfc], eax
lea edx, [esi + 0x2cc8]
mov eax, dword [edi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18c4]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18c4]
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 + 0x18c4]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18c4]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 0x18c4]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xfc]
mov dword [edx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
call fcn.10017a10
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x104], 0
cmp dword [esi + 0x1a2c], eax
jne 0x10033122
mov eax, dword [ebx + 8]
mov dword [ebx + 0x34], 0x20
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xe68], eax
mov cl, byte [esi + 0xf0]
test cl, cl
mov dword [esi + 0x2fdc], 1
sete al
cmp byte [ebp - 0xc0], 0
mov byte [esi + 0x1a39], al
movss xmm7, dword [esi + 0xe8]
subss xmm7, dword [ebp - 0x4c]
subss xmm7, dword [esi + 0x1548]
addss xmm7, dword [ebx + 0x38]
je 0x10032d96
mov eax, dword [ebp - 0x100]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x154c]
jmp 0x10032da6
movss xmm2, dword [esi + 0x18c8]
mulss xmm2, dword [0x1004b354]
cmp byte [ebp - 0xe4], 0
mov dl, byte [esi + 0xb1]
mov byte [ebp - 0xaf], dl
jne 0x10032f24
mov ah, byte [ebp - 0xb3]
test ah, ah
je 0x10032ddb
mov al, byte [esi + 0x3dd]
test dl, dl
jne 0x10032e43
test al, al
jne 0x10032f24
cmp byte [esi + 0x3d8], 0
mov al, byte [ebx + 0xe65]
je 0x10032e9e
test al, al
jne 0x10032e9e
test ah, ah
je 0x10032f3f
cmp byte [ebx + 0x4c], al
je 0x10032e17
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.100305f0
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100308a0
mov dl, byte [ebp - 0xaf]
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 0x10032f3f
test al, al
je 0x10032ddb
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030cd0
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.10030cd0
mov esi, dword [ebp - 0xd4]
add esp, 4
mov dl, byte [ebp - 0xaf]
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10032f3f
test cl, cl
je 0x10032f3f
test al, al
jne 0x10032f3f
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10032ed3
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10032f3f
cmp byte [ebx + 0x4c], 0
je 0x10032eed
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.100305f0
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10032efb
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100308a0
mov dl, byte [ebp - 0xaf]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x10032f3f
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
cmp byte [ebx + 0xe65], 0
je 0x10032f58
cmp byte [esi + 0xf0], 0
jne 0x10032f58
mov byte [ebx + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x10032f6a
cmp byte [esi + 0x102], 0
je 0x10032f77
test dl, dl
je 0x10032f80
cmp byte [esi + 0x103], 0
je 0x10032f80
mov byte [ebp - 0xae], 1
jmp 0x10032f87
mov byte [ebp - 0xae], 0
test dword [ebp + 0x14], 0x400
je 0x1003303a
mov edi, dword [0x1004e688]
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x10033040
call fcn.10012270
mov cl, byte [ebp - 0xae]
mov edx, dword [ebp - 0xd0]
test al, al
je 0x1003304c
test cl, cl
jne 0x1003304c
cmp byte [esi + 0x101], cl
jne 0x1003304c
test dl, dl
jne 0x1003304c
mov ecx, dword [esi + 0x150c]
mov eax, dword [esi + 0x1504]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x10032ff4
movzx eax, word [ecx]
add ecx, 2
cmp eax, 9
je 0x10033040
cmp ecx, edx
jb 0x10032fe5
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xc8]
sub esp, 8
mov dword [ebp - 0xc8], 9
call fcn.10031dc0
add esp, 8
test al, al
je 0x1003303a
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030cd0
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [0x1004e688]
mov edx, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xae]
cmp dword [esi + 0x1504], 0
lea eax, [esi + 0x1504]
jle 0x10033128
test cl, cl
jne 0x100330eb
test dl, dl
jne 0x100330eb
cmp byte [ebp - 0xb0], dl
jne 0x100330eb
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x150c]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xc8], eax
cmp eax, 9
jne 0x1003309e
cmp byte [esi + 0x101], 0
jne 0x100330da
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xc8]
sub esp, 8
call fcn.10031dc0
add esp, 8
test al, al
je 0x100330da
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030cd0
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc edi
lea eax, [esi + 0x1504]
cmp edi, dword [eax]
jl 0x10033080
mov edi, dword [0x1004e688]
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1003311a
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, [esi + 0x1504]
call fcn.1001d6f0
mov edi, dword [0x1004e688]
lea eax, [esi + 0x1504]
mov dword [eax], 0
jmp 0x10033128
mov edi, dword [0x1004e688]
mov eax, dword [esi + 0x1a2c]
xor dl, dl
mov byte [ebp - 0xad], dl
cmp eax, dword [ebp - 0xbc]
jne 0x100340fc
cmp byte [esi + 0x1a38], dl
jne 0x10033b5f
cmp byte [ebp - 0xc1], dl
jne 0x10033b5f
mov ch, byte [esi + 0x101]
xor eax, eax
mov edx, 0x400000
test ch, ch
cmovne eax, edx
mov dh, byte [esi + 0xb1]
mov dl, byte [esi + 0x100]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 0x125], dh
mov byte [ebp - 0xb0], dl
test dh, dh
je 0x100331ae
cmp byte [esi + 0x103], 0
je 0x100331a4
test dl, dl
jne 0x100331a4
mov eax, 1
xor cl, cl
jmp 0x100331a8
xor eax, eax
mov cl, dl
test eax, eax
je 0x100331d0
jmp 0x100331bd
test dl, dl
je 0x100331ce
cmp byte [esi + 0x103], 0
jne 0x100331ce
mov cl, dl
cmp byte [esi + 0x102], 0
jne 0x100331d0
test ch, ch
jne 0x100331d0
mov ah, 1
jmp 0x100331d2
mov cl, dl
xor ah, ah
mov byte [ebp - 0xae], ah
mov al, cl
test dh, dh
je 0x10033202
cmp byte [esi + 0x103], 0
je 0x10033202
test ch, ch
je 0x10033202
mov al, dl
test dl, dl
jne 0x10033202
cmp byte [esi + 0x102], dl
jne 0x10033202
mov byte [ebp - 0xb4], 1
jmp 0x10033211
mov byte [ebp - 0xb4], 0
test dh, dh
je 0x100332d2
cmp byte [esi + 0x103], 0
mov cl, byte [esi + 0x102]
mov byte [ebp - 0xaf], cl
je 0x100332df
test al, al
jne 0x100332df
test cl, cl
jne 0x100332df
mov byte [ebp - 0xb2], 1
mov byte [ebp - 0xc2], 0
test ch, ch
je 0x10033267
test al, al
jne 0x10033267
cmp byte [esi + 0x102], al
jne 0x10033267
mov byte [ebp - 0xb3], 1
cmp byte [esi + 0x103], al
je 0x1003326e
mov byte [ebp - 0xb3], 0
test ah, ah
je 0x10033285
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x10033285
call fcn.10012270
test al, al
jne 0x100332a6
cmp byte [ebp - 0xb3], 0
je 0x1003331a
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1003331a
call fcn.10012270
test al, al
je 0x1003331a
cmp byte [ebp - 0xd0], 0
jne 0x1003331a
cmp byte [ebp - 0x12c], 0
jne 0x1003331a
cmp byte [ebp - 0xc0], 0
je 0x100332c9
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1003331a
mov byte [ebp - 0xb6], 1
jmp 0x10033321
mov byte [ebp - 0xaf], al
mov byte [ebp - 0xb4], 0
mov byte [ebp - 0xb2], 0
test al, al
je 0x10033241
test ch, ch
jne 0x10033241
cmp byte [esi + 0x102], ch
jne 0x10033241
cmp byte [esi + 0x103], ch
jne 0x10033241
mov byte [ebp - 0xc2], 1
jmp 0x10033267
mov byte [ebp - 0xb6], 0
cmp byte [ebp - 0xae], 0
je 0x1003333a
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x1003333a
call fcn.10012270
test al, al
jne 0x10033353
cmp byte [ebp - 0xc2], 0
je 0x10033376
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x10033376
call fcn.10012270
test al, al
je 0x10033376
cmp byte [ebp - 0x12c], 0
jne 0x10033376
cmp byte [ebp - 0xc0], 0
je 0x1003336d
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10033376
mov byte [ebp - 0x109], 1
jmp 0x1003337d
mov byte [ebp - 0x109], 0
cmp byte [ebp - 0xae], 0
je 0x10033396
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x10033396
call fcn.10012270
test al, al
jne 0x100333af
cmp byte [ebp - 0xb3], 0
je 0x100333bf
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x100333bf
call fcn.10012270
test al, al
je 0x100333bf
cmp byte [ebp - 0xd0], 0
mov byte [ebp - 0xb3], 1
je 0x100333c6
mov byte [ebp - 0xb3], 0
mov al, byte [ebp - 0xae]
test al, al
je 0x10033404
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x10033404
call fcn.10012270
test al, al
je 0x100333fe
cmp byte [ebp - 0xd0], 0
jne 0x100333fe
cmp byte [ebp - 0xe8], 0
je 0x100333fe
mov byte [ebp - 0xc2], 1
jmp 0x1003340f
mov al, byte [ebp - 0xae]
mov byte [ebp - 0xc2], 0
test al, al
je 0x10033422
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x10033422
call fcn.10012270
test al, al
jne 0x1003343e
cmp byte [ebp - 0xb4], 0
je 0x10033457
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x10033457
call fcn.10012270
test al, al
je 0x10033457
cmp byte [ebp - 0xd0], 0
jne 0x10033457
cmp byte [ebp - 0xe8], 0
mov byte [ebp - 0xb4], 1
jne 0x1003345e
mov byte [ebp - 0xb4], 0
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x100334bc
call fcn.10012270
test al, al
je 0x100334bc
cmp byte [ebp - 0xb2], 0
je 0x10033492
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.10030cd0
jmp 0x10033b0a
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0xaf], 0
lea edx, [ebx + 0x3c]
cmovne eax, ecx
mov ecx, ebx
or eax, dword [ebp - 0xe0]
push eax
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x100334fa
call fcn.10012270
test al, al
je 0x100334fa
cmp byte [ebp - 0xb2], 0
je 0x100334f0
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.10030cd0
jmp 0x10033b0a
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x1003349c
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1003356b
call fcn.10012270
test al, al
je 0x1003356b
cmp byte [ebp - 0xc0], 0
je 0x1003356b
cmp byte [ebp - 0xb0], 0
je 0x10033547
mov ecx, dword [ebp - 0x100]
xorps xmm1, xmm1
movss xmm0, dword [ecx + 0x54]
subss xmm0, dword [esi + 0x18c8]
mov dword [ecx + 0x6c], 0
maxss xmm0, xmm1
movss dword [ecx + 0x64], xmm0
jmp 0x10033b24
movzx eax, byte [ebp - 0xb2]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0xe0]
push eax
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x100335e0
call fcn.10012270
test al, al
je 0x100335e0
cmp byte [ebp - 0xc0], 0
je 0x100335e0
cmp byte [ebp - 0xb0], 0
je 0x100335bc
mov ecx, dword [ebp - 0x100]
movss xmm0, dword [esi + 0x18c8]
mov eax, dword [edi + 0x19f8]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
movss dword [ecx + 0x64], xmm0
jmp 0x10033b24
movzx eax, byte [ebp - 0xb2]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0xe0]
push eax
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x1003361d
call fcn.10012270
test al, al
je 0x1003361d
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [ebp - 0xb0], 0
cmovne ecx, eax
push ecx
mov ecx, ebx
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x1003365a
call fcn.10012270
test al, al
je 0x1003365a
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [ebp - 0xb0], 0
cmovne ecx, eax
push ecx
mov ecx, ebx
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1003368f
call fcn.10012270
test al, al
je 0x1003368f
cmp byte [ebp - 0xd0], 0
jne 0x1003368f
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, ebx
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x1003372f
call fcn.10012270
test al, al
je 0x1003372f
cmp byte [ebp - 0xd0], 0
jne 0x1003372f
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10033713
cmp byte [ebp - 0xaf], 0
je 0x100336cc
push 0x60000c
jmp 0x100336f5
cmp byte [ebp - 0x125], 0
je 0x10033713
cmp byte [esi + 0x103], 0
je 0x10033713
cmp byte [esi + 0x102], 0
jne 0x10033713
cmp byte [ebp - 0xb0], 0
jne 0x10033713
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030cd0
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, ebx
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x1003373f
call fcn.10012270
test al, al
jne 0x10033757
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x100337da
call fcn.10012270
test al, al
je 0x100337da
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xc0], 0
je 0x10033777
test al, al
je 0x1003378a
cmp byte [ebp - 0xb0], 0
jne 0x10033793
mov byte [ebp - 0xc1], 1
mov byte [ebp - 0xb7], 1
jmp 0x10033b24
cmp byte [ebp - 0xb0], 0
jne 0x10033777
cmp byte [ebp - 0xd0], 0
jne 0x10033b24
sub esp, 8
mov dword [ebp - 0xc8], 0xa
mov edx, ecx
lea ecx, [ebp - 0xc8]
call fcn.10031dc0
add esp, 8
test al, al
je 0x10033b1e
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030cd0
jmp 0x10033b0a
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x100337f7
call fcn.10012270
test al, al
je 0x100337f7
mov dl, 1
mov byte [ebp - 0xc1], dl
jmp 0x10033b2a
mov al, byte [ebp - 0xc2]
test al, al
jne 0x10033aeb
cmp byte [ebp - 0xb4], al
jne 0x10033aeb
cmp byte [ebp - 0xae], al
je 0x10033849
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x10033849
call fcn.10012270
test al, al
je 0x10033849
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
jmp 0x10033b24
mov al, byte [ebp - 0xb6]
test al, al
jne 0x100339df
cmp byte [ebp - 0x109], al
jne 0x100339df
cmp byte [ebp - 0xb3], al
je 0x10033b24
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x10033896
push dword [edi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10033b1e
mov edi, dword [0x1004e688]
jmp 0x1003389b
mov esi, 0x10047fd6
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100338a0
sub ecx, edx
test edi, edi
je 0x100338b3
inc dword [edi + 0x374]
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 - 0xf8], eax
xor edi, edi
cmp byte [esi], 0
je 0x10033925
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.1000cdd0
add esp, 4
add esi, eax
cmp dword [ebp - 0xfc], 0
je 0x10033919
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xfc]
sub esp, 8
call fcn.10031dc0
add esp, 8
test al, al
je 0x10033914
mov ax, word [ebp - 0xfc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100338d3
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x100339be
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x10033959
cmp ecx, eax
jle 0x10033949
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x10033952
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x10033959
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x10033961
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030c40
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0xf8]
call fcn.10030770
add esp, 8
test al, al
je 0x1003399d
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push edi
push 0
call fcn.10031a70
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], edi
jmp 0x100339b1
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x100339b1
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0xf8]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x100339d2
mov ecx, dword [0x1004e688]
test ecx, ecx
je 0x100339d2
dec dword [ecx + 0x374]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
jmp 0x10033b1b
cmp dword [esi + 0xd4], 0
je 0x10033aa8
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x10033a00
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x10033a05
mov edx, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xc8], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.1000d110
inc eax
mov dword [ebp - 0xcc], eax
test edi, edi
je 0x10033a30
inc dword [edi + 0x374]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov edi, eax
mov edx, dword [ebp - 0xcc]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x120]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, edi
call fcn.1000d040
mov eax, dword [0x1004e688]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10033a83
push edi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1004e688]
add esp, 8
test edi, edi
je 0x10033a91
test eax, eax
je 0x10033a91
dec dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push edi
call eax
mov edi, dword [0x1004e688]
add esp, 4
mov al, byte [ebp - 0xb6]
test al, al
je 0x10033b24
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10033acc
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 eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10033b24
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10030c40
mov byte [ebx + 0x4b], 0
jmp 0x10033b1e
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.10030cd0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
add esp, 4
mov edi, dword [0x1004e688]
mov dl, byte [ebp - 0xad]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10033b3f
cmp byte [ebp - 0xb1], 0
je 0x10033b3f
mov al, 1
jmp 0x10033b41
xor al, al
or byte [ebp - 0xb5], al
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x1a2c]
cmp eax, dword [ebp - 0xbc]
jne 0x100340fc
xor ecx, ecx
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xf0], ecx
test dl, dl
je 0x10033dc3
cmp byte [ebp - 0xd0], cl
jne 0x10033cf3
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10033bb0
test dl, dl
je 0x10033bac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10033bb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10033b90
xor eax, eax
jmp 0x10033bb5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10033cf3
mov eax, dword [ebx + 0x24]
mov ecx, esi
dec eax
mov dword [ebp - 0xe4], ecx
xor esi, esi
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
test eax, eax
jle 0x10033c1e
lea edi, [eax + ecx]
mov edx, edi
call fcn.1000d000
lea esi, [eax + 1]
test esi, esi
jle 0x10033c08
mov ecx, 8
mov eax, esi
cmp esi, ecx
cmovl eax, ecx
lea ecx, [ebp - 0x10]
push eax
call fcn.1001d6f0
mov ecx, dword [ebp - 8]
mov edx, esi
push 0
push edi
push dword [ebp - 0xe4]
call fcn.1000cf90
add esp, 0xc
mov ecx, dword [ebp - 0xf0]
lea eax, [esi - 1]
mov esi, dword [ebx + 4]
xor edx, edx
test ecx, ecx
lea ecx, [ebx + 0x54]
cmovle eax, edx
push eax
push esi
mov dword [ebp - 0xcc], eax
call fcn.10031a70
mov edx, eax
add esp, 8
test edx, edx
je 0x10033c60
xor ecx, ecx
test esi, esi
jle 0x10033c60
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x10033c50
mov edi, dword [ebx + 0x14]
mov ecx, edi
mov esi, dword [ebx + 4]
lea edx, [edi + esi*2]
call fcn.1000d110
sub dword [ebx + 8], eax
lea eax, [edi + esi*2]
mov dword [ebx + 4], 0
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x10033ca2
nop dword [eax + eax]
mov word [edi], cx
lea eax, [eax + 2]
movzx ecx, word [eax - 2]
add edi, 2
test cx, cx
jne 0x10033c90
mov esi, dword [ebp - 0xcc]
xor eax, eax
mov word [edi], ax
test esi, esi
jle 0x10033ccc
push esi
push dword [ebp - 8]
xor edx, edx
mov ecx, ebx
call fcn.10030770
add esp, 8
test al, al
je 0x10033ccc
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x4b], 0
mov eax, dword [ebp - 8]
test eax, eax
je 0x10033ced
mov ecx, dword [0x1004e688]
test ecx, ecx
je 0x10033ce3
dec dword [ecx + 0x374]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edi, dword [0x1004e688]
cmp byte [ebp - 0xb7], 0
mov eax, dword [ebp + 0x14]
je 0x10033d07
test al, 0x20
jne 0x10033dc6
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xe4]
test edx, edx
je 0x100340de
cmp byte [ebp - 0x108], 0
je 0x1003409e
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x98], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x94], ecx
mov ecx, 0x20
cmp eax, ecx
movlpd qword [ebp - 0xa0], xmm0
movlpd qword [ebp - 0x8c], xmm0
cmovle eax, ecx
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
xor eax, eax
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0xa4], 0
call eax
mov esi, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0x98]
mov edi, dword [0x1004e688]
mov edx, dword [ebp - 0xe4]
lea ecx, [esi - 1]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
jmp 0x100340a3
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd0], 0
jne 0x10033e2c
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x1c]
cmp esi, eax
jle 0x10033e14
test eax, eax
je 0x10033df7
cdq
sub eax, edx
lea edx, [ebx + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10033dff
mov ecx, 8
lea edx, [ebx + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1001d680
mov edi, dword [0x1004e688]
mov dword [ebx + 0x18], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.1000d040
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x10034042
mov esi, 0x16
test al, 0x40
je 0x10033e5a
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x10033e5a
call fcn.10012270
test al, al
je 0x10033e57
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x10033ea8
mov eax, dword [ebp + 0x14]
test al, al
jns 0x10033e98
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x10033e7b
call fcn.10012270
test al, al
je 0x10033e78
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x10033ea8
mov eax, dword [ebp + 0x14]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x10033e98
call fcn.10012270
test al, al
je 0x10033e95
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x10033ea8
mov eax, dword [ebp + 0x14]
test eax, 0x100
je 0x10034042
mov eax, 0x100
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0x5b], cx
mov byte [ebp - 0x59], cl
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x5c], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x70], 0
call fcn.1000d110
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000d110
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000d110
mov esi, eax
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
mov dword [ebp - 0x50], esi
call eax
mov ecx, dword [ebp - 0x58]
add esp, 4
cmp ecx, edi
mov edi, dword [ebp - 0x68]
je 0x10033f42
lea edx, [ecx + edi]
mov ecx, edi
call fcn.1000d000
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0xcc]
je 0x10033f5a
lea edx, [eax + edi]
mov ecx, edi
call fcn.1000d000
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, esi
je 0x10033f6e
lea edx, [eax + edi]
mov ecx, edi
call fcn.1000d000
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x5c], 0
je 0x10034039
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x104]
cmp esi, ecx
jle 0x10033fca
cmp byte [ebp - 0x108], 0
je 0x10033fca
mov eax, dword [ebx + 0x10]
sub esi, ecx
add esi, dword [ebx + 0xc]
cmp esi, eax
jle 0x10033fc7
test eax, eax
je 0x10033fad
cdq
sub eax, edx
lea edx, [ebx + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10033fb5
mov ecx, 8
lea edx, [ebx + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1001d6f0
mov edi, dword [ebp - 0x68]
mov dword [ebx + 0xc], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
dec eax
mov dword [ebp - 0xc8], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x13c], eax
cmp ecx, eax
jae 0x1003401d
cmp byte [edi], 0
je 0x10034017
push 0
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.1000cdd0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x10034017
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x13c]
jb 0x10033fe6
mov ecx, dword [ebp - 0xc8]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x64]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov eax, dword [ebp + 0x14]
mov edi, dword [0x1004e688]
cmp byte [ebp - 0xd0], 0
jne 0x10033d07
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xd8]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10034080
test dl, dl
je 0x1003407c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10034080
add eax, 2
add ecx, 2
test dl, dl
jne 0x10034060
xor eax, eax
jmp 0x10034085
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x10033d07
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xe4], esi
jmp 0x10033d0d
mov esi, 0x20
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x100340d7
jbe 0x100340cc
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0xd8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov edi, dword [0x1004e688]
add esp, 0xc
mov eax, dword [ebp - 0xd8]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0xd9], 1
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xc1], 0
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xbc]
je 0x10034124
cmp dword [esi + 0x1a2c], eax
jne 0x10034124
call fcn.1000f800
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
movss xmm3, dword [0x1004b44c]
test dl, dl
jne 0x100342a9
push 1
mov edx, eax
lea ecx, [ebp - 0x4c]
call fcn.1000eac0
mov eax, dword [0x1004e688]
xorps xmm3, xmm3
movss xmm6, dword [0x1004b384]
add esp, 4
movups xmm2, xmmword [eax + 0x1634]
comiss xmm3, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x24], xmm2
jbe 0x1003417d
xorps xmm0, xmm0
jmp 0x10034184
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm5, dword [0x1004b44c]
movss xmm4, dword [0x1004b354]
movss xmm2, dword [ebp - 0x20]
comiss xmm3, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si edx, xmm0
jbe 0x100341af
xorps xmm0, xmm0
jmp 0x100341b6
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm3, xmm2
jbe 0x100341d6
xorps xmm0, xmm0
jmp 0x100341dd
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm3, xmm1
jbe 0x100341f8
xorps xmm0, xmm0
jmp 0x100341ff
movaps xmm0, xmm6
minss xmm0, xmm1
push dword [ebp - 0x40]
movss xmm2, dword [esi + 0x1550]
push dword [ebp - 0x44]
mulss xmm0, xmm5
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
addss xmm0, xmm4
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.1000e050
movss xmm0, dword [ebp - 0x4c]
add esp, 0x10
movss xmm4, dword [ebp - 0x48]
movaps xmm2, xmm0
movss xmm5, dword [ebp - 0x11c]
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x110]
mov edi, dword [0x1004e688]
addss xmm2, xmm5
movss xmm3, dword [0x1004b44c]
mov edx, dword [ebp - 0xc0]
movss dword [ebp - 0x3c], xmm0
addss xmm0, dword [esi + 0x1548]
movss dword [ebp - 0x38], xmm4
movss dword [ebp - 0xe4], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0xf0], xmm1
movss dword [ebp - 0xc], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x154c]
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 8], xmm0
jmp 0x10034309
movss xmm5, dword [ebp - 0x11c]
movss xmm1, dword [ebp - 0x4c]
movaps xmm0, xmm5
movss xmm2, dword [ebp - 0x48]
addss xmm0, xmm1
mov ecx, dword [ebp - 0x100]
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0xe4], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x30], xmm0
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [ebp - 0xf0], xmm0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
cmp byte [ebp - 0x10a], 0
lea eax, [ebp - 0xc]
movss xmm0, dword [eax]
xorps xmm7, xmm7
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0x114], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xf4], eax
movss dword [ebp - 0x120], xmm0
movss dword [ebp - 0xc8], xmm7
je 0x1003435d
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0xd8], ecx
jmp 0x10034363
mov ecx, dword [ebp - 0xd8]
cmp byte [ebp - 0xb1], 0
jne 0x10034516
cmp byte [ebp - 0xb5], 0
jne 0x10034516
test dl, dl
je 0x100343d5
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x100343a4
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x10034392
mov al, byte [ebx - 1]
dec ebx
cmp al, 0xa
je 0x100343b1
cmp al, 0xd
je 0x100343b1
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18c8]
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm5
movss dword [ebp - 0x120], xmm0
jmp 0x10034416
mov eax, dword [ebp - 0xbc]
cmp dword [esi + 0x1a2c], eax
jne 0x100343ea
mov ebx, dword [ebx + 8]
add ebx, ecx
jmp 0x10034407
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100343f0
mov ebx, dword [ebp - 0xd8]
sub ecx, edx
add ebx, ecx
mov ecx, dword [ebp - 0xd8]
mov eax, ebx
sub eax, ecx
cmp eax, 0x200000
jge 0x100351da
movups xmm2, xmmword [edi + 0x15c4]
movss xmm5, dword [0x1004b384]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1510]
movups xmmword [ebp - 0x24], xmm2
jbe 0x10034442
movaps xmm0, xmm7
jmp 0x10034449
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm4, dword [0x1004b354]
movss xmm2, dword [ebp - 0x20]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x1003446c
movaps xmm0, xmm7
jmp 0x10034473
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10034493
movaps xmm0, xmm7
jmp 0x1003449a
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 0x100344b5
movaps xmm5, xmm7
jmp 0x100344b9
minss xmm5, xmm1
mulss xmm5, xmm3
lea eax, [ebp - 0x3c]
xor edx, edx
movss xmm2, dword [esi + 0x18c8]
cmp byte [ebp - 0xc0], dl
addss xmm5, xmm4
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
cvttss2si eax, xmm5
push ebx
push dword [ebp - 0xd8]
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x100]
push dword [esi + 0x18c4]
mov ecx, dword [eax + 0x278]
call fcn.10026d00
mov edi, dword [0x1004e688]
jmp 0x1003512d
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [ebp - 0x134], eax
xorps xmm6, xmm6
add eax, ecx
mov dword [ebp - 0x108], 0
xorps xmm4, xmm4
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xe8], 0xfffffc18
mov dword [ebp - 0xec], 0xfffffc18
cmp byte [ebp - 0xb1], dl
je 0x10034583
mov eax, dword [ebx + 0x3c]
mov edx, 1
mov dword [ebp - 0xe8], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x108], eax
cmp byte [ebp - 0xb5], 0
je 0x100345b6
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0xbc]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0xec], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x104], eax
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
movzx eax, al
add edx, eax
xor eax, eax
movzx esi, word [esi]
test si, si
mov esi, dword [ebp - 0xd4]
je 0x10034659
mov ebx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xe8]
movzx esi, word [ebx]
xor ebx, ebx
nop dword [eax]
cmp si, 0xa
jne 0x10034627
inc ebx
cmp edi, 0xffffffff
jne 0x1003460b
cmp ecx, dword [ebp - 0x108]
jb 0x1003460b
dec edx
mov edi, ebx
test edx, edx
jle 0x10034635
cmp dword [ebp - 0xec], 0xffffffff
jne 0x10034627
cmp ecx, dword [ebp - 0x104]
jb 0x10034627
dec edx
mov dword [ebp - 0xec], ebx
test edx, edx
jle 0x10034635
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100345f0
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xf8], ebx
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xe8], edi
mov edi, dword [0x1004e688]
mov edx, dword [ebp - 0xbc]
inc eax
cmp dword [ebp - 0xe8], 0xffffffff
mov ecx, eax
mov dword [ebp - 0xf8], eax
cmovne ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xec]
cmp eax, 0xffffffff
mov dword [ebp - 0xe8], ecx
cmove eax, dword [ebp - 0xf8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x108]
mov ecx, eax
cmp eax, edx
jbe 0x100346b4
nop
cmp word [ecx - 2], 0xa
je 0x100346ae
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x100346a0
mov eax, dword [ebp - 0x108]
mov edx, dword [edi + 0x18c4]
movaps xmm1, xmm7
movss xmm3, dword [edi + 0x18c8]
movaps xmm5, xmm7
divss xmm3, dword [edx + 0x10]
cmp ecx, eax
jae 0x10034741
mov ebx, dword [ebp - 0x108]
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xcc], eax
mov esi, eax
cmp eax, 0xa
jne 0x100346fc
maxss xmm1, xmm5
movaps xmm5, xmm7
jmp 0x1003472b
cmp esi, 0xd
je 0x1003472b
movzx eax, ax
cmp eax, dword [edx]
jge 0x1003471b
mov edi, dword [ebp - 0xcc]
mov eax, dword [edx + 8]
movzx esi, di
movss xmm2, dword [eax + esi*4]
jmp 0x10034720
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm5, xmm0
cmp ecx, ebx
jb 0x100346e0
mov ebx, dword [ebp - 0x124]
mov edi, dword [0x1004e688]
mov esi, dword [ebp - 0xd4]
cmp dword [ebp - 0xec], 0
maxss xmm5, xmm1
movd xmm0, dword [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x13c], xmm5
movss xmm5, dword [esi + 0x18c8]
mulss xmm0, xmm5
movss dword [ebp - 0xcc], xmm0
jl 0x10034834
mov eax, dword [ebp - 0x104]
mov ecx, eax
cmp eax, dword [ebp - 0xbc]
jbe 0x100347aa
mov ebx, dword [ebp - 0xbc]
nop
cmp word [ecx - 2], 0xa
je 0x1003479e
add ecx, 0xfffffffe
cmp ecx, ebx
ja 0x10034790
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x104]
movaps xmm1, xmm7
movaps xmm4, xmm7
cmp ecx, eax
jae 0x10034821
mov ebx, dword [ebp - 0x104]
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xe8], eax
mov esi, eax
cmp eax, 0xa
jne 0x100347dc
maxss xmm1, xmm4
movaps xmm4, xmm7
jmp 0x1003480b
cmp esi, 0xd
je 0x1003480b
movzx eax, ax
cmp eax, dword [edx]
jge 0x100347fb
mov esi, dword [ebp - 0xe8]
mov eax, dword [edx + 8]
movzx edi, si
movss xmm2, dword [eax + edi*4]
jmp 0x10034800
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, ebx
jb 0x100347c0
mov ebx, dword [ebp - 0x124]
mov edi, dword [0x1004e688]
mov esi, dword [ebp - 0xd4]
movd xmm6, dword [ebp - 0xec]
maxss xmm4, xmm1
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm5
mov edx, dword [ebp - 0xc0]
movss xmm3, dword [ebp - 0x11c]
test dl, dl
je 0x10034868
movd xmm0, dword [ebp - 0xf8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x120], xmm0
cmp byte [ebp - 0xb1], 0
je 0x1003495c
cmp byte [ebx + 0xe64], 0
je 0x1003495c
test dword [ebp + 0x14], 0x1000
jne 0x100348d4
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x13c]
comiss xmm2, xmm1
mulss xmm0, dword [0x1004b340]
jbe 0x100348b5
subss xmm1, xmm0
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x100348c2
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x100348db
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x100348db
mov dword [ebx + 0x38], 0
test dl, dl
je 0x10034955
movss xmm0, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x100]
movaps xmm2, xmm0
subss xmm2, dword [esi + 0x18c8]
movss xmm1, dword [ecx + 0x54]
comiss xmm1, xmm2
jbe 0x1003490b
movaps xmm0, xmm7
maxss xmm0, xmm2
jmp 0x10034917
subss xmm0, dword [ebp - 0x110]
maxss xmm0, xmm1
mov eax, dword [ebp - 0xf4]
subss xmm1, xmm0
movss dword [ecx + 0x54], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm1, dword [eax + 4]
movss dword [ebp - 0xe4], xmm0
movss dword [ebp - 0xe0], xmm1
movss dword [ebp - 0x114], xmm1
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0xb5], 0
movss xmm5, dword [ebx + 0x38]
movss dword [ebp - 0xe8], xmm5
je 0x10034d39
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xbc]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb1], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xbc]
lea edx, [eax + edx*2]
mov dword [ebp - 0xec], edx
je 0x100349b1
movss xmm1, dword [0x1004b384]
jmp 0x100349b9
movss xmm1, dword [0x1004b358]
movups xmm2, xmmword [edi + 0x1864]
mulss xmm1, dword [edi + 0x1510]
comiss xmm7, xmm2
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
movups xmmword [ebp - 0x24], xmm2
mulss xmm1, xmm0
jbe 0x100349e1
movaps xmm0, xmm7
jmp 0x100349ed
movss xmm0, dword [0x1004b384]
minss xmm0, xmm2
movss xmm3, dword [0x1004b44c]
movss xmm2, dword [ebp - 0x20]
comiss xmm7, xmm2
mulss xmm0, xmm3
addss xmm0, dword [0x1004b354]
cvttss2si ecx, xmm0
jbe 0x10034a14
movaps xmm0, xmm7
jmp 0x10034a20
movss xmm0, dword [0x1004b384]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, dword [0x1004b354]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x10034a44
movaps xmm0, xmm7
jmp 0x10034a50
movss xmm0, dword [0x1004b384]
minss xmm0, xmm2
movss xmm2, dword [0x1004b354]
mulss xmm0, xmm3
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10034a73
movaps xmm0, xmm7
jmp 0x10034a7f
movss xmm0, dword [0x1004b384]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
cmp byte [ebp - 0xc0], 0
mov dword [ebp - 0x110], eax
je 0x10034ab1
movss dword [ebp - 0x104], xmm7
movss dword [ebp - 0xf8], xmm7
jmp 0x10034ad1
movss xmm0, dword [0x1004b480]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0x1004b3b4]
movss dword [ebp - 0xf8], xmm0
mov ecx, dword [ebp - 0xf4]
movss xmm3, dword [ecx]
addss xmm3, xmm4
movss xmm4, dword [ebp - 0xe0]
subss xmm3, xmm5
movaps xmm5, xmm4
addss xmm5, xmm6
subss xmm5, xmm7
movss dword [ebp - 0x108], xmm5
cmp esi, edx
jae 0x10034d79
mov ecx, dword [ebp - 0xd4]
movss xmm4, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x110]
movss xmm1, dword [ecx + 0x18c8]
nop dword [eax + eax]
movaps xmm0, xmm4
addss xmm0, xmm1
comiss xmm5, xmm0
ja 0x10034d1f
movss xmm0, dword [ebp - 0x38]
comiss xmm0, xmm5
jbe 0x10034b6a
cmp esi, edx
jae 0x10034cec
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x10034ce6
cmp esi, edx
jb 0x10034b52
jmp 0x10034ce6
movaps xmm6, xmm7
mov edx, dword [edi + 0x18c4]
movaps xmm1, xmm7
movss xmm4, dword [edi + 0x18c8]
divss xmm4, dword [edx + 0x10]
cmp esi, dword [ebp - 0xec]
jae 0x10034be2
nop dword [eax + eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10034bca
cmp ecx, 0xd
je 0x10034bc0
cmp ecx, dword [edx]
jge 0x10034bb0
mov eax, dword [edx + 8]
movss xmm2, dword [eax + ecx*4]
jmp 0x10034bb5
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm4
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0xec]
jb 0x10034b90
jmp 0x10034bd4
movaps xmm6, xmm7
maxss xmm6, xmm1
movaps xmm1, xmm7
mov ecx, dword [ebp - 0xd4]
movss xmm2, dword [0x1004b354]
maxss xmm1, xmm6
comiss xmm7, xmm1
jb 0x10034c17
mov eax, dword [ecx + 0x18c4]
cmp dword [eax], 0x20
jle 0x10034c03
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10034c08
movss xmm0, dword [eax + 0xc]
mulss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x104]
addss xmm1, xmm3
subss xmm2, dword [ecx + 0x18c8]
movss xmm0, dword [ebp - 0xf8]
addss xmm3, xmm7
movss xmm4, dword [ebp - 0xf0]
addss xmm0, xmm5
movss xmm6, dword [ebp - 0xe4]
minss xmm1, xmm6
addss xmm2, xmm5
maxss xmm3, dword [ebp - 0x3c]
minss xmm0, xmm4
movss dword [ebp - 0x1c], xmm1
maxss xmm2, dword [ebp - 0x38]
movss dword [ebp - 0x24], xmm3
comiss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x10034ce0
comiss xmm4, xmm2
jbe 0x10034ce0
comiss xmm1, dword [ebp - 0x3c]
jbe 0x10034ce0
comiss xmm6, xmm3
jbe 0x10034ce0
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push ebx
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x278]
call fcn.10026aa0
movss xmm4, dword [ebp - 0x30]
xorps xmm7, xmm7
movss xmm0, dword [ebp - 0x34]
mov edi, dword [0x1004e688]
movss xmm5, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xd4]
movss dword [ebp - 0xf0], xmm4
movss dword [ebp - 0xe4], xmm0
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
movss xmm2, dword [ecx + 0x18c8]
movss xmm3, dword [eax]
addss xmm5, xmm2
movaps xmm1, xmm2
movss xmm2, dword [0x1004b354]
subss xmm3, dword [ebp - 0xe8]
movss dword [ebp - 0x108], xmm5
cmp esi, edx
jb 0x10034b30
movss xmm5, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x124]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc0]
movss xmm4, dword [ebp - 0xe0]
test dl, dl
jne 0x10034d55
cmp dword [ebp - 0x134], 0x200000
jge 0x10034eba
movups xmm1, xmmword [edi + 0x15c4]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [edi + 0x1510]
movups xmmword [ebp - 0x24], xmm1
jbe 0x10034d8f
movaps xmm0, xmm7
jmp 0x10034d9b
movss xmm5, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc0]
jmp 0x10034d41
movss xmm0, dword [0x1004b384]
minss xmm0, xmm1
movss xmm3, dword [0x1004b44c]
movss xmm6, dword [0x1004b354]
movss xmm1, dword [ebp - 0x20]
comiss xmm7, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x10034dc6
movaps xmm0, xmm7
jmp 0x10034dd2
movss xmm0, dword [0x1004b384]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x1c]
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm1
jbe 0x10034df2
movaps xmm0, xmm7
jmp 0x10034dfe
movss xmm0, dword [0x1004b384]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x10034e19
movaps xmm1, xmm7
jmp 0x10034e25
movss xmm1, dword [0x1004b384]
minss xmm1, xmm2
mov eax, dword [ebp - 0xf4]
subss xmm4, xmm7
mulss xmm1, xmm3
xor edi, edi
test dl, dl
movss xmm2, dword [esi + 0x18c8]
movss xmm0, dword [eax]
lea eax, [ebp - 0x3c]
cmovne eax, edi
movss dword [ebp - 0x134], xmm4
push eax
addss xmm1, xmm6
push ecx
mov dword [esp], edi
subss xmm0, xmm5
push dword [ebp - 0xfc]
push dword [ebp - 0xd8]
cvttss2si eax, xmm1
movss dword [ebp - 0x138], xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x138]
push eax
mov eax, dword [ebp - 0x100]
push dword [esi + 0x18c4]
mov ecx, dword [eax + 0x278]
call fcn.10026d00
movss xmm0, dword [ebp - 0x30]
mov edi, dword [0x1004e688]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0xe4], xmm0
cmp byte [ebp - 0xb1], 0
je 0x10035127
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
je 0x10034f2c
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x10034f2c
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
fld qword [ebp - 0x138]
fld qword [0x1004b3a8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1004b378]
fstp qword [ebp - 0x138]
movsd xmm1, qword [ebp - 0x138]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10034f2c
xor cl, cl
jmp 0x10034f2e
mov cl, 1
movss xmm2, dword [ebp - 0xe0]
xorps xmm4, xmm4
mov eax, dword [ebp - 0xf4]
movss xmm7, dword [0x1004b354]
movss xmm5, dword [0x1004b384]
addss xmm2, dword [ebp - 0xcc]
movss xmm6, dword [eax]
addss xmm6, dword [ebp - 0x13c]
subss xmm2, xmm4
subss xmm6, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x134], xmm6
movaps xmm1, xmm6
movss dword [ebp - 0x24], xmm6
addss xmm1, xmm5
subss xmm0, dword [esi + 0x18c8]
subss xmm3, dword [0x1004b390]
movss dword [ebp - 0x1c], xmm1
addss xmm0, xmm7
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x20], xmm0
test cl, cl
je 0x100350fa
comiss xmm3, dword [ebp - 0x38]
jbe 0x100350fa
movss xmm2, dword [ebp - 0xf0]
comiss xmm2, xmm0
jbe 0x100350f2
comiss xmm1, dword [ebp - 0x3c]
jbe 0x100350f2
movss xmm0, dword [ebp - 0xe4]
comiss xmm0, xmm6
jbe 0x100350f2
movups xmm2, xmmword [edi + 0x15c4]
comiss xmm4, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1510]
movups xmmword [ebp - 0x14], xmm2
jbe 0x10035016
xorps xmm0, xmm0
jmp 0x1003501d
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm5, dword [0x1004b44c]
movss xmm2, dword [ebp - 0x10]
comiss xmm4, xmm2
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10035040
xorps xmm0, xmm0
jmp 0x1003504c
movss xmm0, dword [0x1004b384]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0xc]
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm4, xmm2
jbe 0x1003506c
xorps xmm0, xmm0
jmp 0x10035078
movss xmm0, dword [0x1004b384]
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm4, xmm1
jbe 0x10035093
xorps xmm0, xmm0
jmp 0x1003509f
movss xmm0, dword [0x1004b384]
minss xmm0, xmm1
mulss xmm0, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0xc], xmm6
addss xmm0, xmm7
movss dword [ebp - 8], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x278]
call fcn.10026980
mov edi, dword [0x1004e688]
movss xmm6, dword [ebp - 0x134]
movss xmm5, dword [0x1004b384]
movss xmm2, dword [ebp - 0xe0]
cmp byte [ebp - 0xd0], 0
mov ebx, dword [ebp - 0xfc]
jne 0x1003512d
subss xmm2, dword [esi + 0x18c8]
subss xmm6, xmm5
movss dword [esi + 0x2d80], xmm2
movss dword [esi + 0x2d7c], xmm6
jmp 0x1003512d
mov ebx, dword [ebp - 0xfc]
cmp byte [ebp - 0xc0], 0
je 0x100351da
movss xmm0, dword [ebp - 0x120]
xorps xmm1, xmm1
mov eax, dword [edi + 0x19f8]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0xc8]
addss xmm1, dword [esi + 0x18c8]
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x19f8]
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
cmp byte [eax + 0x7f], 0
jne 0x100351ca
movss xmm3, dword [eax + 0xc8]
lea ecx, [ebp - 0xc]
movaps xmm4, xmm3
movss dword [ebp - 0x24], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xcc]
movaps xmm2, xmm0
movss dword [ebp - 0x20], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x1004b480]
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x18], xmm2
call fcn.10017e20
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.10017fa0
add esp, 4
call fcn.10012570
call fcn.10018280
mov edi, dword [0x1004e688]
mov eax, dword [ebp - 0x12c]
test al, al
je 0x100351f5
call fcn.10017b50
mov edi, dword [0x1004e688]
mov eax, dword [ebp - 0x12c]
cmp byte [esi + 0x2db8], 0
je 0x1003521d
test al, al
jne 0x1003521d
mov edx, dword [ebp - 0xd8]
lea ecx, [ebp - 0x118]
push ebx
call fcn.1001c3f0
mov edi, dword [0x1004e688]
add esp, 4
movss xmm0, dword [ebp - 0x140]
comiss xmm0, dword [0x1004b304]
jbe 0x1003527c
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [esi + 0x1560]
mov ecx, dword [ebp - 0x130]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [esi + 0x154c]
movss dword [ebp - 0x114], xmm0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push 1
call fcn.1000d4d0
mov edi, dword [0x1004e688]
add esp, 0xc
mov dl, byte [ebp - 0xd9]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x100352a7
test ecx, 0x200000
jne 0x100352a7
mov eax, dword [edi + 0x19f8]
mov word [edi + 0x1a3b], 0x101
or dword [eax + 0x110], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xb7]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100407ae
mov esp, ebp
pop ebp
ret