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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x158
push esi
mov esi, dword [0x100bd09c]
mov dword [ebp - 0xf4], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x40], edx
mov dword [ebp - 8], ecx
mov eax, dword [ecx + 0x198c]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x198c]
mov dword [ebp - 0x48], edi
cmp byte [edi + 0x7f], 0
jne 0x100477d9
mov edx, dword [ebx + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0x44], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [ebp - 0x30], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x88], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x58], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x6c], eax
test cl, cl
je 0x10047458
call fcn.1002c990
mov esi, dword [0x100bd09c]
mov ecx, dword [edi + 0x1c0]
xor edx, edx
mov eax, dword [edi + 0x1c8]
mov edi, dword [ebp - 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.10021e30
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x19ac], eax
jne 0x1004748b
mov dword [esi + 0x19b4], eax
cmp dword [esi + 0x19b0], eax
jne 0x1004749a
mov byte [esi + 0x19c0], 1
mov eax, edi
cmp edi, 0xffffffff
jae 0x100474b7
mov cl, byte [eax]
test cl, cl
je 0x100474b7
cmp cl, 0x23
jne 0x100474b1
cmp byte [eax + 1], cl
je 0x100474b7
inc eax
cmp eax, 0xffffffff
jb 0x100474a1
movss xmm1, dword [0x1009f024]
movss xmm0, dword [esi + 0x18ac]
movss dword [ebp - 0xbc], xmm1
cmp edi, eax
jne 0x100474e0
xorps xmm7, xmm7
movss dword [ebp - 0xc8], xmm7
jmp 0x1004752d
movss xmm3, dword [0x1009f000]
movaps xmm2, xmm0
push ecx
push eax
push edi
push ecx
mov ecx, dword [esi + 0x18a8]
lea eax, [ebp - 0x7c]
mov dword [esp], 0xbf800000
push eax
call fcn.1003f3d0
movss xmm0, dword [ebp - 0x7c]
xorps xmm7, xmm7
addss xmm0, dword [0x1009ee68]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x78]
cmp byte [ebp - 0x30], 0
mov eax, dword [ebx + 0xc]
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
movss dword [ebp - 0x70], xmm1
movss dword [ebp - 0x80], xmm2
je 0x10047559
movss xmm0, dword [esi + 0x18ac]
mulss xmm0, dword [0x1009eefc]
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0x198c]
movss xmm5, dword [eax + 0x1538]
movss xmm2, dword [edi + 0x16c]
movaps xmm3, xmm5
comiss xmm7, xmm2
addss xmm3, xmm5
addss xmm3, xmm0
jbe 0x100475f8
movss xmm4, dword [edi + 0xc8]
movss xmm1, dword [edi + 0x214]
mov ecx, dword [edi + 0x1bc]
subss xmm4, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ecx, ecx
je 0x100475df
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 + 0x1bc]
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, xmm2
movss xmm2, dword [0x1009ee70]
maxss xmm2, xmm1
movss xmm1, dword [ebp - 0x70]
cvttss2si eax, xmm2
movaps xmm4, xmm1
xorps xmm2, xmm2
comiss xmm7, xmm4
movd xmm6, eax
xorps xmm1, xmm1
cvtdq2ps xmm6, xmm6
ja 0x10047617
comiss xmm7, dword [ebp - 0x80]
jbe 0x10047680
movss xmm2, dword [edi + 0x218]
mov ecx, dword [edi + 0x1bc]
movss xmm1, dword [edi + 0x214]
subss xmm2, dword [edi + 0x10]
subss xmm1, dword [edi + 0xc]
test ecx, ecx
je 0x10047674
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 + 0x1bc]
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 xmm7, xmm4
movss xmm0, dword [0x1009eee8]
jb 0x100476b7
ucomiss xmm4, xmm7
lahf
test ah, 0x44
jp 0x100476a0
movaps xmm1, xmm6
movss dword [ebp - 0x70], xmm1
jmp 0x100476bc
subss xmm1, dword [edi + 0xc8]
maxss xmm1, xmm0
addss xmm1, xmm4
movss dword [ebp - 0x70], xmm1
jmp 0x100476bc
movss xmm1, dword [ebp - 0x70]
movss xmm6, dword [ebp - 0x80]
comiss xmm7, xmm6
jb 0x100476e9
ucomiss xmm6, xmm7
lahf
test ah, 0x44
jp 0x100476d4
movaps xmm6, xmm3
jmp 0x100476e4
subss xmm2, dword [edi + 0xcc]
maxss xmm2, xmm0
addss xmm6, xmm2
movss dword [ebp - 0x80], xmm6
mov eax, dword [ebp - 0x48]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0xc8]
movaps xmm1, xmm6
comiss xmm2, xmm7
mov edi, dword [ebp - 8]
movss xmm3, dword [eax + 0xc8]
movss xmm4, dword [eax + 0xcc]
addss xmm0, xmm3
addss xmm1, xmm4
movss dword [ebp - 0x98], xmm3
movss dword [ebp - 0x94], xmm4
movss dword [ebp - 0x90], xmm0
movss dword [ebp - 0x8c], xmm1
jbe 0x10047744
addss xmm2, dword [edi + 0x154c]
jmp 0x10047747
xorps xmm2, xmm2
cmp byte [ebp - 0x30], 0
addss xmm0, xmm2
addss xmm1, xmm7
movss dword [ebp - 0xa8], xmm3
movss dword [ebp - 0xa4], xmm4
mov dword [ebp - 0x64], eax
movss dword [ebp - 0xa0], xmm0
movss dword [ebp - 0x9c], xmm1
je 0x1004786b
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x98]
push eax
mov edx, esi
lea ecx, [ebp - 0xa8]
call fcn.10024440
add esp, 4
test al, al
jne 0x100477e4
movss xmm0, dword [ebp - 0xa0]
lea ecx, [ebp - 0x7c]
subss xmm0, dword [ebp - 0xa8]
movss xmm1, dword [edi + 0x1538]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x78], xmm0
call fcn.10024330
call fcn.1002cad0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movss xmm0, dword [ebp - 0x90]
lea edx, [ebp - 0x7c]
subss xmm0, dword [ebp - 0x98]
push ecx
mov ecx, esi
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x8c]
subss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x78], xmm0
call fcn.10027720
add esp, 4
test al, al
jne 0x10047835
call fcn.10027570
call fcn.1002cad0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [0x100bd09c]
movss xmm0, dword [ebp - 0x70]
mov eax, dword [esi + 0x198c]
mov byte [eax + 0x7c], 1
mov ecx, dword [esi + 0x198c]
mov dword [ebp - 0x64], ecx
subss xmm0, dword [ecx + 0x70]
mov eax, dword [ecx + 0x138]
or dword [ecx + 0x140], eax
movss dword [ebp - 0x70], xmm0
jmp 0x100478ae
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x7c]
movss dword [ebp - 0x78], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x7c], xmm0
call fcn.10024330
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10024440
add esp, 4
test al, al
je 0x100477d9
mov esi, dword [0x100bd09c]
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0xc], esi
call fcn.100245e0
mov byte [ebp - 0x22], al
test al, al
je 0x100478d0
mov dword [edi + 0x1c64], 1
cmp byte [ebp - 0x88], 0
je 0x10047a58
mov edx, dword [edi + 0x18a8]
cmp dword [edx + 0x14], 0x2a
jg 0x100478ee
mov edi, dword [edx + 0x2c]
jmp 0x1004790d
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10047904
mov edi, dword [edx + 0x2c]
jmp 0x1004790d
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 8]
add esi, 0x2b94
movss xmm0, dword [0x1009ee70]
mov dword [ebp - 0x4c], esi
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x18a8]
mov eax, dword [eax + 0x44]
mov dword [esi + 0x44], eax
mov eax, dword [edx + 0x18a8]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x18a8]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x48], eax
mov eax, dword [edx + 0x18a8]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [edx + 0x18a8]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x38], eax
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xc]
mov dword [esi + 0xc], eax
movss xmm1, dword [edi + 0x98]
mov eax, dword [edi + 0x198c]
mov dword [edi + 0x18a8], esi
mulss xmm1, dword [esi + 0x10]
mulss xmm1, dword [esi + 0x44]
maxss xmm0, xmm1
movss dword [edi + 0x18b0], xmm0
test eax, eax
je 0x100479b8
movss xmm0, dword [eax + 0x26c]
mulss xmm0, dword [edi + 0x18b0]
jmp 0x100479bb
xorps xmm0, xmm0
movss dword [edi + 0x18ac], xmm0
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18b8], eax
lea eax, [ebp - 0x4c]
mov dword [edi + 0x18b4], ecx
lea ecx, [edi + 0x1a0c]
push eax
mov dword [edi + 0x18bc], esi
movss dword [edi + 0x18c0], xmm0
call fcn.10032f50
mov eax, dword [edi + 0x198c]
mov ecx, dword [eax + 0x274]
mov eax, dword [esi + 0x38]
lea esi, [ecx + 0x48]
mov edi, dword [esi + 4]
mov dword [ebp - 0x20], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
cmp ecx, edi
jne 0x10047a3d
inc ecx
test edi, edi
je 0x10047a29
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10047a2e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10032d60
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x4c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x20]
inc dword [esi]
call fcn.1003aa20
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x48]
cmp dword [eax + 0x1d24], ecx
lea edi, [eax + 0x1d24]
cmovne edi, edx
test dword [ebx + 0x10], 0x440
mov edx, ecx
mov dword [ebp - 0x38], edi
sete al
mov ecx, esi
movzx eax, al
push eax
call fcn.10024750
add esp, 4
mov byte [ebp - 0x39], al
test al, al
je 0x10047af2
mov ecx, dword [esi + 0x328]
cmp ecx, dword [esi + 0x330]
jne 0x10047af2
mov byte [ebp - 0x18], 1
mov byte [ebp - 0x16], 0
cmp byte [ebp - 0x22], 0
mov eax, dword [ebp - 8]
je 0x10047ac2
cmp byte [eax + 0x3d0], 0
mov byte [ebp - 0x17], 1
jne 0x10047ac6
mov byte [ebp - 0x17], 0
mov esi, dword [eax + 0x19ac]
mov ecx, dword [ebp - 0x14]
cmp esi, ecx
je 0x10047b04
cmp dword [eax + 0x1ab0], ecx
je 0x10047aec
cmp dword [eax + 0x1aa4], ecx
jne 0x10047b04
cmp dword [eax + 0x1ac4], 3
jne 0x10047b04
mov byte [ebp - 1], 1
jmp 0x10047b08
mov byte [ebp - 0x18], 0
test al, al
je 0x10047aa8
mov byte [ebp - 0x16], 1
mov byte [ebp - 0x18], 0
jmp 0x10047aac
mov byte [ebp - 1], 0
mov eax, dword [ebp - 0x30]
test al, al
je 0x10047b4d
test edi, edi
je 0x10047b4d
test esi, esi
jne 0x10047b4d
mov eax, dword [ebp - 0x64]
xor edx, edx
mov ecx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10021e30
mov ecx, dword [ebp - 8]
add esp, 4
cmp dword [ecx + 0x19b0], eax
jne 0x10047b4a
mov byte [ebp - 0xd], 1
jmp 0x10047b5d
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0xd], 0
test al, al
je 0x10047b87
mov byte [ebp - 0xd], 0
test edi, edi
je 0x10047b87
mov eax, dword [ebp - 0x64]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.10021e30
add esp, 4
mov byte [ebp - 0x29], 1
cmp esi, eax
je 0x10047b8b
mov byte [ebp - 0x29], 0
mov al, byte [ebp - 1]
mov byte [ebp - 0x15], 0
cmp esi, dword [ebp - 0x14]
je 0x10047bab
test byte [ebx + 0x10], 0x10
jne 0x10047ba1
test al, al
je 0x10047bab
cmp byte [ebp - 0x30], 0
mov byte [ebp - 0x28], 1
je 0x10047baf
mov byte [ebp - 0x28], 0
cmp byte [ebp - 0x39], 0
jne 0x10047bdd
cmp byte [ebp - 0x17], 0
jne 0x10047bdd
cmp byte [ebp - 0xd], 0
jne 0x10047bdd
test al, al
jne 0x10047bdd
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0x3d0], al
je 0x10047e11
mov byte [ebp - 0x15], 1
jmp 0x10047e11
mov dword [ebp - 0x38], edi
cmp esi, dword [ebp - 0x14]
je 0x10047dc1
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x40]
add edi, 0x1d24
mov dword [ebp - 0x38], edi
mov dword [edi + 0xe5c], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047c05
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x10047c42
test eax, eax
je 0x10047c2b
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10047c33
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10033110
push esi
push dword [ebp - 0x40]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.100695f0
mov ecx, dword [ebx + 8]
add esp, 0xc
mov eax, dword [edi + 4]
mov esi, dword [edi + 0x10]
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0xc]
lea edx, [ecx + 1]
mov dword [ebp - 0x20], edx
cmp edx, esi
jle 0x10047c9f
test esi, esi
je 0x10047c81
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x20]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10047c86
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100332a0
mov edx, dword [ebp - 0x20]
lea eax, [edi + 0xc]
mov ecx, dword [ebx + 8]
mov dword [eax], edx
lea ecx, [ecx - 1]
mov edx, dword [edi + 0x14]
mov esi, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10047cfe
mov edi, eax
cmp byte [edi], 0
je 0x10047cf5
push 0
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10047cf2
cmp eax, 0x10000
jae 0x10047ce2
mov word [esi], ax
add esi, 2
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x20]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x10047cb8
jmp 0x10047cf5
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x40]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x10047d43
cmp dword [ebp - 0x1c], esi
jne 0x10047d43
cmp dword [edi + 0x38], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [ebp - 0x30]
mov dword [edi + 0x40], esi
jmp 0x10047d97
mov dword [edi], eax
mov dword [edi + 0x34], ecx
mov dword [edi + 0xe54], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x4c], ecx
mov ecx, dword [ebp - 0x30]
mov al, cl
xor al, 1
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x44], 0x10000
mov byte [edi + 0x48], al
test cl, cl
jne 0x10047d97
mov eax, dword [ebp - 0x28]
mov edx, 1
cmp byte [ebp - 0x18], cl
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0x28], eax
test dword [ebx + 0x10], 0x2000
je 0x10047da4
mov byte [edi + 0x44], 1
test cl, cl
jne 0x10047dc1
cmp byte [ebp - 0x16], cl
jne 0x10047dbd
cmp byte [ebp - 0x17], cl
je 0x10047dc1
mov eax, dword [ebp - 8]
cmp byte [eax + 0xf8], cl
je 0x10047dc1
mov byte [ebp - 0x28], 1
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x14]
call fcn.10024160
call fcn.10024210
mov ecx, edx
call fcn.1002c1c0
cmp byte [ebp - 0x30], 0
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x19c8], 2
jne 0x10047e09
test byte [ebx + 0x10], 0x80
jne 0x10047e09
mov dword [ecx + 0x19c4], 0xc
mov ecx, dword [0x100bd09c]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
jmp 0x10047e11
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x19ac]
mov esi, dword [ebp - 0x14]
cmp eax, esi
jne 0x10047e30
test edi, edi
jne 0x10047e30
call fcn.100242d0
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x19ac]
xor dl, dl
mov byte [ebp - 0x39], 0
mov byte [ebp - 2], dl
mov dword [ebp - 0x48], 0
cmp eax, esi
jne 0x1004825a
cmp byte [ebp - 0x44], dl
je 0x10047f2f
cmp byte [ecx + 0x19bc], dl
jne 0x10047f2f
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x10047e9f
test eax, eax
je 0x10047e7d
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10047e85
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100332a0
mov eax, dword [0x100bd09c]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0x20], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10047efb
mov edi, eax
cmp byte [edi], 0
je 0x10047ef2
push 0
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10047eef
cmp eax, 0x10000
jae 0x10047ee0
mov word [esi], ax
add esi, 2
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 8]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x10047eb6
jmp 0x10047ef2
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x40]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x38], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], esi
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0xe64], eax
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
cmp byte [ecx + 0xe8], 0
mov dword [ecx + 0x2e74], 1
sete al
cmp byte [ebp - 0x30], 0
mov byte [ecx + 0x19bd], al
movss xmm7, dword [ecx + 0xe0]
subss xmm7, dword [ebp - 0x98]
subss xmm7, dword [ecx + 0x1534]
addss xmm7, dword [edi + 0x34]
je 0x10047fb5
mov eax, dword [ebp - 0x64]
movss xmm2, dword [ecx + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [ecx + 0x1538]
jmp 0x10047fc5
movss xmm2, dword [ecx + 0x18ac]
mulss xmm2, dword [0x1009ee38]
cmp byte [ebp - 0x28], 0
mov cl, byte [ecx + 0xad]
mov byte [ebp - 0xd], cl
jne 0x10048147
mov dl, byte [ebp - 0x22]
mov esi, dword [ebp - 8]
test dl, dl
je 0x10047ff4
mov al, byte [esi + 0x3d5]
test cl, cl
jne 0x1004805f
test al, al
jne 0x10048147
cmp byte [esi + 0x3d0], 0
mov al, byte [edi + 0xe61]
je 0x100480b9
test al, al
jne 0x100480b9
test dl, dl
je 0x10048162
cmp byte [edi + 0x48], al
je 0x10048036
push 0
mov edx, edi
lea ecx, [ebp - 0xf0]
call fcn.10045b00
movss xmm2, dword [ebp - 0xe4]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.10045e10
mov cl, byte [ebp - 0xd]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x10048162
test al, al
je 0x10047ff4
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046200
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.10046200
mov eax, dword [0x100bd09c]
add esp, 4
mov cl, byte [ebp - 0xd]
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov dword [ebp - 0xc], eax
jmp 0x10048162
cmp byte [esi + 0xe8], 0
je 0x10048162
test al, al
jne 0x10048162
movss xmm0, dword [esi + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100480f3
movss xmm0, dword [esi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10048162
cmp byte [edi + 0x48], 0
je 0x10048113
push 0
mov edx, edi
lea ecx, [ebp - 0xf0]
call fcn.10045b00
movss xmm2, dword [ebp - 0xe4]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x10048121
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.10045e10
mov cl, byte [ebp - 0xd]
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x10048162
mov eax, dword [edi + 4]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe61], 1
cmp byte [edi + 0xe61], 0
mov esi, dword [ebp - 8]
je 0x1004817e
cmp byte [esi + 0xe8], 0
jne 0x1004817e
mov byte [edi + 0xe61], 0
add esi, 0x14f0
mov dword [ebp - 0x4c], esi
cmp dword [esi], 0
jle 0x10048257
mov eax, dword [ebp - 8]
cmp byte [eax + 0xf8], 0
je 0x100481a9
cmp byte [eax + 0xfa], 0
je 0x1004822a
test cl, cl
mov ecx, eax
je 0x100481b8
cmp byte [ecx + 0xfb], 0
jne 0x1004822a
cmp byte [ebp - 0x44], 0
jne 0x1004822a
cmp byte [ebp - 1], 0
jne 0x1004822a
xor esi, esi
nop word [eax + eax]
mov eax, dword [ecx + 0x14f8]
sub esp, 8
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x20]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x20], eax
call fcn.10047220
add esp, 8
test al, al
je 0x10048213
push dword [ebp - 0x20]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046200
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, dword [ebp - 8]
inc esi
cmp esi, dword [ecx + 0x14f0]
jl 0x100481d0
mov eax, dword [0x100bd09c]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0xc], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x10048251
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100332a0
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
mov dword [esi], 0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
xor cl, cl
mov byte [ebp - 1], cl
cmp dword [eax + 0x19ac], esi
jne 0x10048c39
cmp byte [eax + 0x19bc], cl
jne 0x10048c39
cmp byte [ebp - 0x15], cl
jne 0x10048c39
mov ecx, eax
xor esi, esi
mov edx, 0x20000
mov ah, byte [ecx + 0xf9]
mov al, byte [ecx + 0xf8]
test ah, ah
mov byte [ebp - 0x82], ah
cmovne esi, edx
mov dh, byte [ecx + 0xad]
mov byte [ebp - 0x81], dh
test dh, dh
je 0x100482d2
cmp byte [ecx + 0xfb], 0
je 0x100482c7
test al, al
jne 0x100482c7
mov ecx, 1
jmp 0x100482c9
xor ecx, ecx
test ecx, ecx
je 0x100482f0
mov ecx, dword [ebp - 8]
jmp 0x100482df
test al, al
je 0x100482f0
cmp byte [ecx + 0xfb], 0
jne 0x100482f0
cmp byte [ecx + 0xfa], 0
jne 0x100482f0
test ah, ah
jne 0x100482f0
mov dl, 1
jmp 0x100482f2
xor dl, dl
mov byte [ebp - 0xd], dl
mov cl, al
test dh, dh
je 0x1004832f
mov edi, dword [ebp - 8]
cmp byte [edi + 0xfb], 0
mov edi, dword [ebp - 0x38]
je 0x1004832f
test ah, ah
je 0x1004832f
mov ecx, dword [ebp - 8]
mov cl, byte [ecx + 0xf8]
test cl, cl
jne 0x1004832f
mov edi, dword [ebp - 8]
cmp byte [edi + 0xfa], cl
mov edi, dword [ebp - 0x38]
jne 0x1004832f
mov byte [ebp - 0x22], 1
jmp 0x1004833b
mov byte [ebp - 0x22], 0
test dh, dh
je 0x100483f0
mov edi, dword [ebp - 8]
mov al, byte [edi + 0xfa]
cmp byte [edi + 0xfb], 0
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x18], al
je 0x100483f7
test cl, cl
jne 0x100483f7
test al, al
jne 0x100483f7
mov byte [ebp - 0x17], 1
mov eax, dword [ebp - 8]
mov al, byte [eax + 0xf9]
xor dh, dh
test al, al
je 0x10048395
test cl, cl
jne 0x10048395
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0xfa], dh
jne 0x10048395
mov byte [ebp - 0x21], 1
cmp byte [ecx + 0xfb], dh
je 0x10048399
mov byte [ebp - 0x21], 0
mov eax, dword [ebp - 0xc]
test dl, dl
je 0x100483b5
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100483b5
mov dl, 1
call fcn.10027000
test al, al
jne 0x100483cd
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x21], 0
je 0x1004842f
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x1004842f
mov dl, 1
call fcn.10027000
test al, al
je 0x1004842f
cmp byte [ebp - 0x44], 0
jne 0x1004842f
cmp byte [ebp - 0x88], 0
jne 0x1004842f
cmp byte [ebp - 0x30], 0
je 0x100483ea
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1004842f
mov byte [ebp - 0x16], 1
jmp 0x10048433
mov byte [ebp - 0x18], cl
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x17], 0
test cl, cl
je 0x1004836b
test ah, ah
mov eax, dword [ebp - 8]
jne 0x1004836e
cmp byte [eax + 0xfa], 0
jne 0x1004836e
cmp byte [eax + 0xfb], 0
jne 0x1004836e
mov dh, 1
jmp 0x10048395
mov byte [ebp - 0x16], 0
cmp byte [ebp - 0xd], 0
mov eax, dword [ebp - 0xc]
je 0x10048451
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x10048451
mov dl, 1
call fcn.10027000
test al, al
jne 0x10048467
mov eax, dword [ebp - 0xc]
test dh, dh
je 0x10048484
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10048484
mov dl, 1
call fcn.10027000
test al, al
je 0x10048484
cmp byte [ebp - 0x88], 0
jne 0x10048484
cmp byte [ebp - 0x30], 0
je 0x1004847e
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10048484
mov byte [ebp - 0x65], 1
jmp 0x10048488
mov byte [ebp - 0x65], 0
mov dh, byte [ebp - 0xd]
mov eax, dword [ebp - 0xc]
test dh, dh
je 0x100484a7
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100484a7
mov dl, 1
call fcn.10027000
test al, al
jne 0x100484bf
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x21], 0
je 0x100484c9
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100484c9
mov dl, 1
call fcn.10027000
test al, al
je 0x100484c9
cmp byte [ebp - 0x44], 0
mov byte [ebp - 0x66], 1
je 0x100484cd
mov byte [ebp - 0x66], 0
test dh, dh
je 0x100484fa
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100484fa
mov dl, 1
call fcn.10027000
test al, al
je 0x100484fa
cmp byte [ebp - 0x44], 0
jne 0x100484fa
cmp byte [ebp - 0x58], 0
je 0x100484fa
mov byte [ebp - 0x21], dl
jmp 0x10048502
mov byte [ebp - 0x21], 0
test dh, dh
je 0x1004851a
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x1004851d
mov dl, 1
call fcn.10027000
test al, al
jne 0x10048538
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x22], 0
je 0x10048548
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x10048548
mov dl, 1
call fcn.10027000
test al, al
je 0x10048548
cmp byte [ebp - 0x44], 0
jne 0x10048548
cmp byte [ebp - 0x58], 0
je 0x10048548
mov dh, 1
jmp 0x1004854a
xor dh, dh
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100485af
mov dl, 1
call fcn.10027000
test al, al
je 0x100485ac
cmp byte [ebp - 0x17], 0
je 0x1004856c
mov eax, 0x10004
jmp 0x1004857d
cmp byte [ebp - 0x18], 0
mov eax, 0x10000
mov ecx, 0x1000c
cmovne eax, ecx
or eax, esi
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046200
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, dword [0x100bd09c]
mov dword [ebp - 0xc], ecx
jmp 0x10048c30
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100485fd
mov dl, 1
call fcn.10027000
test al, al
je 0x100485fa
cmp byte [ebp - 0x17], 0
je 0x100485ce
mov eax, 0x10005
jmp 0x100485df
cmp byte [ebp - 0x18], 0
mov eax, 0x10001
mov ecx, 0x1000d
cmovne eax, ecx
or eax, esi
lea edx, [edi + 0x38]
push eax
mov ecx, edi
call fcn.10046200
mov ecx, dword [0x100bd09c]
mov dword [ebp - 0xc], ecx
jmp 0x10048c1c
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10048669
mov dl, 1
call fcn.10027000
test al, al
je 0x10048669
cmp byte [ebp - 0x30], 0
je 0x10048669
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0xf8], 0
je 0x10048659
mov edx, dword [ebp - 0x64]
xorps xmm2, xmm2
movss xmm1, dword [edx + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18ac]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, xmm2
subss xmm1, xmm0
movss dword [edx + 0x5c], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x10048c30
movzx eax, byte [ebp - 0x17]
lea eax, [eax*4 + 0x10002]
jmp 0x1004857d
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100486ff
mov dl, 1
call fcn.10027000
test al, al
je 0x100486ff
cmp byte [ebp - 0x30], 0
je 0x100486ff
mov eax, dword [ebp - 8]
cmp byte [eax + 0xf8], 0
je 0x100486ef
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x198c]
movss xmm3, dword [edx + 0x5c]
mov ecx, dword [ebp - 8]
movaps xmm2, xmm3
addss xmm3, dword [edx + 0xe4]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
addss xmm2, dword [ecx + 0x18ac]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x5c], xmm2
movss dword [edx + 0xe4], xmm3
jmp 0x10048c30
movzx eax, byte [ebp - 0x17]
lea eax, [eax*4 + 0x10003]
jmp 0x1004857d
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x50]
test ecx, ecx
js 0x10048734
mov dl, 1
call fcn.10027000
test al, al
je 0x10048734
mov ecx, dword [ebp - 8]
mov eax, esi
or eax, 0x10006
or esi, 0x10004
cmp byte [ecx + 0xf8], 0
cmovne esi, eax
push esi
jmp 0x10048580
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x54]
test ecx, ecx
js 0x10048769
mov dl, 1
call fcn.10027000
test al, al
je 0x10048769
mov ecx, dword [ebp - 8]
mov eax, esi
or eax, 0x10007
or esi, 0x10005
cmp byte [ecx + 0xf8], 0
cmovne esi, eax
push esi
jmp 0x10048580
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
js 0x10048790
mov dl, 1
call fcn.10027000
test al, al
je 0x10048790
cmp byte [ebp - 0x44], 0
jne 0x10048790
or esi, 0x10008
push esi
jmp 0x10048580
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x60]
test ecx, ecx
js 0x10048816
mov dl, 1
call fcn.10027000
test al, al
je 0x10048816
cmp byte [ebp - 0x44], 0
jne 0x10048816
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1004880a
cmp byte [ebp - 0x18], 0
je 0x100487c0
push 0x3000c
jmp 0x100487ec
cmp byte [ebp - 0x81], 0
je 0x1004880a
mov eax, dword [ebp - 8]
cmp byte [eax + 0xfb], 0
je 0x1004880a
cmp byte [eax + 0xfa], 0
jne 0x1004880a
cmp byte [eax + 0xf8], 0
jne 0x1004880a
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046200
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
or esi, 0x10009
push esi
jmp 0x10048580
mov esi, dword [ebp - 0xc]
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x10048896
mov dl, 1
call fcn.10027000
test al, al
je 0x10048896
mov edx, dword [ebx + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x30], 0
je 0x1004884c
mov ecx, dword [ebp - 8]
mov cl, byte [ecx + 0xf8]
test al, al
je 0x10048863
test cl, cl
jne 0x10048867
mov cl, byte [ebp - 1]
mov dh, 1
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 0x15], 1
mov byte [ebp - 2], dh
jmp 0x10048c3c
test cl, cl
jne 0x1004884c
cmp byte [ebp - 0x44], 0
jne 0x10048c30
mov dword [ebp - 0x20], 0xa
sub esp, 8
lea ecx, [ebp - 0x20]
call fcn.10047220
add esp, 8
test al, al
je 0x1004859e
push dword [ebp - 0x20]
jmp 0x10048580
test dword [ebx + 0x10], 0x400
je 0x100488e1
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x100488e1
mov dl, 1
call fcn.10027000
test al, al
je 0x100488e1
mov eax, dword [ebp - 8]
cmp byte [eax + 0xf8], 0
jne 0x100488e1
cmp byte [ebp - 0x82], 0
jne 0x100488e1
cmp byte [eax + 0xfa], 0
jne 0x100488e1
cmp byte [ebp - 0x44], 0
jne 0x100488e1
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x20], 9
jmp 0x10048878
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x100488fd
mov dl, 1
call fcn.10027000
test al, al
je 0x100488fd
mov cl, dl
mov byte [ebp - 0x15], cl
jmp 0x10048c33
mov al, byte [ebp - 0x21]
test al, al
jne 0x10048bf5
test dh, dh
jne 0x10048bf5
cmp byte [ebp - 0xd], dh
je 0x1004893f
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x1004893f
mov dl, 1
call fcn.10027000
test al, al
je 0x1004893f
mov eax, dword [edi + 4]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], dh
jmp 0x10048c29
mov al, byte [ebp - 0x16]
test al, al
jne 0x10048aeb
cmp byte [ebp - 0x65], al
jne 0x10048aeb
cmp byte [ebp - 0x66], al
je 0x10048c30
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x10048985
push dword [esi + 0xd0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1004859e
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
jmp 0x1004898a
mov esi, 0x10096582
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10048990
mov eax, dword [ebp - 0xc]
sub ecx, edx
test eax, eax
je 0x100489a6
inc dword [eax + 0x36c]
push dword [0x100bd098]
lea eax, [ecx*2 + 2]
push eax
call fcn.10021660
mov ecx, eax
add esp, 8
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], eax
cmp byte [esi], al
je 0x10048a21
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10022160
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10048a15
cmp eax, 0x10000
jae 0x10048a10
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x34]
sub esp, 8
call fcn.10047220
add esp, 8
test al, al
je 0x10048a10
mov ecx, dword [ebp - 0x1c]
mov ax, word [ebp - 0x34]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100489d0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x10048abb
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x10048a55
cmp ecx, eax
jle 0x10048a45
mov dword [edi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x10048a4e
mov dword [edi + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x10048a55
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x38], eax
jle 0x10048a5d
mov dword [edi + 0x38], eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046170
push dword [ebp - 0x28]
mov edx, dword [edi + 0x38]
mov ecx, edi
push dword [ebp - 0x1c]
call fcn.10045ce0
add esp, 8
test al, al
je 0x10048a9d
push dword [ebp - 0x28]
mov edx, dword [edi + 0x38]
lea ecx, [edi + 0x50]
push 0
call fcn.10046f00
mov eax, dword [ebp - 0x28]
add esp, 8
add dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x10048ab1
movzx eax, word [edi + 0xe4e]
test ax, ax
je 0x10048ab1
dec eax
mov word [edi + 0xe4e], ax
mov ecx, dword [ebp - 0x1c]
mov byte [edi + 0xe60], 1
test ecx, ecx
je 0x10048ace
mov eax, dword [0x100bd09c]
test eax, eax
je 0x10048ace
dec dword [eax + 0x36c]
push dword [0x100bd098]
push ecx
call fcn.10021670
mov ecx, dword [0x100bd09c]
add esp, 8
mov dword [ebp - 0xc], ecx
jmp 0x10048c30
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0xcc], 0
je 0x10048bad
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, ecx
je 0x10048b0f
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x10048b14
mov edx, dword [edi + 4]
xor ecx, ecx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x20], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.10022430
inc eax
mov dword [ebp - 0x4c], eax
test esi, esi
je 0x10048b36
inc dword [esi + 0x36c]
push dword [0x100bd098]
push eax
call fcn.10021660
mov esi, dword [edi + 0x14]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x58]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.10022300
mov eax, dword [0x100bd09c]
add esp, 0x10
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x10048b85
push esi
push dword [eax + 0xd0]
call ecx
mov eax, dword [0x100bd09c]
add esp, 8
test esi, esi
je 0x10048b93
test eax, eax
je 0x10048b93
dec dword [eax + 0x36c]
push dword [0x100bd098]
push esi
call fcn.10021670
mov eax, dword [0x100bd09c]
add esp, 8
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x16]
test al, al
je 0x10048c30
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x10048bcd
mov eax, dword [edi + 4]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10048c30
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10046170
mov ecx, dword [0x100bd09c]
mov byte [edi + 0x47], 0
mov dword [ebp - 0xc], ecx
jmp 0x10048c30
movzx eax, al
lea edx, [edi + 0x38]
xor eax, 1
mov ecx, edi
add eax, 0x1000a
push eax
call fcn.10046200
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
mov cl, byte [ebp - 1]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dh, byte [ebp - 2]
mov eax, dword [eax + 0x19ac]
cmp eax, esi
jne 0x10048dc3
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x28], eax
test cl, cl
je 0x10048eb5
cmp byte [ebp - 0x44], al
jne 0x10048ca3
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0x40]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10048c90
test dl, dl
je 0x10048c8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10048c90
add eax, 2
add ecx, 2
test dl, dl
jne 0x10048c70
xor eax, eax
jmp 0x10048c95
sbb eax, eax
or eax, 1
test eax, eax
je 0x10048ca3
mov eax, dword [edi + 0x24]
dec eax
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
test dh, dh
je 0x10048cb2
test al, 0x20
jne 0x10048eb8
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x28]
test esi, esi
je 0x10048d9c
cmp dword [ebp - 0x48], edx
je 0x10048d60
cmp byte [ebp - 0x6c], 0
je 0x10048d60
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x144], eax
lea eax, [edx + 1]
cmp dword [ebx + 8], eax
movlpd qword [ebp - 0x14c], xmm0
cmovge eax, dword [ebx + 8]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x158]
push eax
xor eax, eax
movlpd qword [ebp - 0x138], xmm0
movlpd qword [ebp - 0x130], xmm0
mov dword [ebp - 0x158], 0x40000
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x150], 0
call eax
mov eax, dword [ebp - 0x144]
add esp, 4
mov ecx, dword [0x100bd09c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebx + 8], eax
mov dword [ebp - 0xc], ecx
lea edx, [eax - 1]
cmp dword [ebp - 0x140], edx
cmovl edx, dword [ebp - 0x140]
mov ecx, dword [ebx + 8]
lea eax, [edx + 1]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebx + 8], ecx
cmp ecx, 1
jb 0x10048d98
jbe 0x10048d90
lea eax, [ecx - 1]
push eax
push esi
push dword [ebp - 0x40]
call fcn.1006f1e0
mov eax, dword [0x100bd09c]
add esp, 0xc
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0x39], 1
mov eax, dword [ebp - 8]
mov dword [edi + 0xe64], 0
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov eax, dword [eax + 0x19ac]
cmp byte [ebp - 0x15], 0
mov ecx, dword [ebp - 0x14]
je 0x10048dd8
cmp eax, ecx
jne 0x10048dd8
call fcn.100242d0
mov ecx, dword [ebp - 0x14]
cmp byte [ebp - 0x30], 0
jne 0x1004928c
mov edx, ecx
lea ecx, [ebp - 0x98]
push 1
call fcn.100232b0
movss xmm1, dword [0x1009ee70]
add esp, 4
mov ecx, 7
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
call fcn.10022610
mov ecx, dword [ebp - 8]
mov dl, 1
movss xmm2, dword [ecx + 0x153c]
mov ecx, eax
call fcn.10022d30
movss xmm0, dword [ebp - 0x98]
add esp, 0x10
mov edx, dword [ebp - 8]
movss xmm2, dword [ebp - 0x70]
movss xmm3, dword [ebp - 0x94]
movaps xmm1, xmm2
mov ecx, dword [0x100bd09c]
addss xmm1, xmm0
mov esi, dword [ebp - 0x64]
movaps xmm5, xmm3
addss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0xb8], xmm0
addss xmm0, dword [edx + 0x1534]
movss dword [ebp - 0xb4], xmm3
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0xb0], xmm1
movss dword [ebp - 0xac], xmm5
movss dword [ebp - 0xa0], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edx + 0x1538]
mov dword [ebp - 0xc], ecx
movss dword [ebp - 0x9c], xmm0
jmp 0x100492f0
mov eax, dword [ebx + 0x10]
cmp byte [ebp - 0x44], 0
jne 0x10048f1e
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x10048f07
test eax, eax
je 0x10048ee5
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10048eed
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10033110
mov eax, dword [0x100bd09c]
lea ecx, [edi + 0x18]
mov dword [ebp - 0xc], eax
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.10022300
mov eax, dword [ebx + 0x10]
add esp, 8
test eax, 0x1c0
je 0x1004923f
test al, 0x40
mov esi, 0x15
mov eax, dword [ebp - 0xc]
je 0x10048f51
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10048f51
mov dl, 1
call fcn.10027000
test al, al
je 0x10048f4e
lea eax, [esi + 0x2b]
xor esi, esi
jmp 0x10048fa5
mov eax, dword [ebp - 0xc]
test byte [ebx + 0x10], 0x80
je 0x10048f92
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10048f76
mov dl, 1
call fcn.10027000
test al, al
je 0x10048f73
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x10048fa5
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10048f92
mov dl, 1
call fcn.10027000
test al, al
je 0x10048f92
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x10048fa5
mov eax, dword [ebx + 0x10]
test eax, 0x100
je 0x1004923f
mov eax, 0x100
mov dword [ebp - 0x128], eax
xor ecx, ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x124], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x118], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x10c], eax
mov eax, dword [edi + 0x38]
mov word [ebp - 0x107], cx
mov byte [ebp - 0x105], cl
mov dword [ebp - 0x120], ecx
mov byte [ebp - 0x108], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x11c], 0
call fcn.10022430
mov ecx, dword [ebp - 0x38]
mov edi, eax
mov dword [ebp - 0x104], edi
mov ecx, dword [ecx + 0x3c]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10022430
mov dword [ebp - 0x20], eax
mov ecx, esi
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x40]
lea edx, [esi + edx*2]
call fcn.10022430
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x128]
push eax
xor eax, eax
call eax
mov edx, dword [ebp - 0x104]
add esp, 4
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x5c], ecx
cmp edx, edi
je 0x100490b6
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x1c], eax
nop
test edi, edi
je 0x10049078
cmp esi, edi
jae 0x100490a4
cmp byte [esi], 0
je 0x100490a4
push edi
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x100490a1
cmp eax, 0x10000
mov eax, dword [ebp - 0x1c]
jae 0x10049070
inc eax
jmp 0x1004906c
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
jmp 0x100490b9
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x100]
cmp eax, dword [ebp - 0x20]
je 0x1004910d
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x1c], eax
nop
test esi, esi
je 0x100490d8
cmp edi, esi
jae 0x10049104
cmp byte [edi], 0
je 0x10049104
push esi
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10049101
cmp eax, 0x10000
mov eax, dword [ebp - 0x1c]
jae 0x100490d0
inc eax
jmp 0x100490cb
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x58]
je 0x1004915c
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x1004912a
cmp edi, esi
jae 0x10049156
cmp byte [edi], 0
je 0x10049156
push esi
mov edx, edi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10049153
cmp eax, 0x10000
mov eax, dword [ebp - 0x1c]
jae 0x10049122
inc eax
jmp 0x1004911f
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
mov dword [esi + 0x40], eax
cmp byte [ebp - 0x108], 0
je 0x10049234
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x48]
cmp ecx, edx
jle 0x100491c0
cmp byte [ebp - 0x6c], 0
je 0x100491c0
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub edi, edx
add edi, ecx
cmp edi, eax
jle 0x100491bd
test eax, eax
je 0x1004919d
cdq
sub eax, edx
lea edx, [esi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100491a5
mov ecx, 8
lea edx, [esi + 0xc]
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100332a0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x5c], eax
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov eax, dword [esi + 0xc]
dec eax
mov dword [ebp - 0x58], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x10049215
mov esi, dword [ebp - 0x5c]
nop dword [eax]
cmp byte [esi], 0
je 0x1004920f
push 0
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.10022160
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x1004920f
cmp eax, 0x10000
jae 0x1004920a
mov word [edi], ax
add edi, 2
cmp edi, dword [ebp - 0x20]
jb 0x100491e0
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x58]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [ebp - 0x110]
sar edi, 1
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xe5c], 0xbe99999a
mov eax, dword [0x100bd09c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x10]
cmp byte [ebp - 0x44], 0
mov edi, dword [ebp - 0x38]
jne 0x10048cb2
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0x40]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10049274
test dl, dl
je 0x10049270
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10049274
add eax, 2
add ecx, 2
test dl, dl
jne 0x10049254
xor eax, eax
jmp 0x10049279
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x10]
je 0x10048cb2
mov edx, dword [edi + 8]
jmp 0x10048cb8
movss xmm5, dword [ebp - 0x94]
movss xmm2, dword [ebp - 0x70]
movss xmm1, dword [ebp - 0x98]
movaps xmm0, xmm2
mov esi, dword [ebp - 0x64]
addss xmm0, xmm1
mov edx, dword [ebp - 8]
movss dword [ebp - 0xb4], xmm5
addss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0xb8], xmm1
movss dword [ebp - 0xb0], xmm0
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0xac], xmm5
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
movss dword [ebp - 0x54], xmm5
lea eax, [ebp - 0xa0]
movss xmm0, dword [eax]
xorps xmm1, xmm1
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x78], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x60], eax
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x20], xmm1
test edi, edi
je 0x10049336
cmp byte [ebp - 0x44], 0
jne 0x10049336
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x14]
cmp dword [edx + 0x19ac], eax
je 0x1004934b
cmp byte [ebp - 0x29], 0
jne 0x1004934b
xor cl, cl
jmp 0x1004934d
mov cl, 1
mov byte [ebp - 0x15], cl
test edi, edi
je 0x10049360
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10049360
mov al, 1
jmp 0x10049362
xor al, al
mov byte [ebp - 0x16], al
test cl, cl
jne 0x1004944b
test al, al
jne 0x1004944b
cmp byte [ebp - 0x30], cl
je 0x100493d4
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [ebp - 0x29], al
test al, al
je 0x100493a6
nop dword [eax]
cmp byte [ebp - 0x29], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [ebp - 0x29], al
test al, al
jne 0x10049390
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x100493b3
cmp al, 0xd
je 0x100493b3
inc ecx
mov edi, dword [ebp - 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x18ac]
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0x58], xmm0
jmp 0x100493fb
mov edi, dword [ebp - 0x40]
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100493e0
sub ecx, edx
lea edx, [ecx + edi]
cmp ecx, 0x200000
jge 0x10049e51
mov edi, dword [ebp - 8]
movss xmm1, dword [0x1009ee70]
lea eax, [ebp - 0xb8]
xor ecx, ecx
cmp byte [ebp - 0x30], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push edx
push dword [ebp - 0x40]
call fcn.10022610
movss xmm2, dword [edi + 0x18ac]
mov ecx, dword [esi + 0x274]
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [edi + 0x18a8]
call fcn.1003cbd0
mov ecx, dword [0x100bd09c]
mov dword [ebp - 0xc], ecx
jmp 0x10049d92
mov ecx, dword [edi + 0x14]
mov esi, 0xfffffc18
xor edx, edx
mov dword [ebp - 0x14], ecx
xorps xmm7, xmm7
movss dword [ebp - 0x4c], xmm1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x5c], esi
cmp byte [ebp - 0x15], dl
je 0x1004948b
mov eax, dword [edi + 0x38]
or esi, 0xffffffff
mov dword [ebp - 0x6c], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x48], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x16], 0
je 0x100494af
mov ecx, dword [edi + 0x40]
cmp dword [edi + 0x3c], ecx
mov eax, dword [ebp - 0x14]
cmovl ecx, dword [edi + 0x3c]
inc edx
mov dword [ebp - 0x5c], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
test ax, ax
je 0x10049518
mov edi, dword [ebp - 0x6c]
mov esi, eax
nop dword [eax]
cmp si, 0xa
jne 0x10049501
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp edi, 0xffffffff
jne 0x100494ee
cmp ecx, dword [ebp - 0x48]
jb 0x100494ee
dec edx
mov edi, eax
test edx, edx
jle 0x1004950f
cmp dword [ebp - 0x5c], 0xffffffff
jne 0x10049501
cmp ecx, dword [ebp - 0x34]
jb 0x10049501
dec edx
mov dword [ebp - 0x5c], eax
test edx, edx
jle 0x1004950f
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100494d0
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x1c], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x5c], ecx
mov ecx, edx
cmp edx, esi
jbe 0x10049550
cmp word [ecx - 2], 0xa
je 0x10049550
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10049542
mov eax, dword [ebp - 0xc]
movaps xmm2, xmm1
movaps xmm5, xmm1
mov esi, dword [eax + 0x18a8]
movss xmm4, dword [eax + 0x18ac]
divss xmm4, dword [esi + 0x10]
cmp ecx, edx
jae 0x100495b8
mov edi, dword [ebp - 0x48]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10049589
maxss xmm2, xmm5
movaps xmm5, xmm1
jmp 0x100495b1
cmp edx, 0xd
je 0x100495b1
mov edx, eax
cmp edx, dword [esi]
jge 0x1004959e
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x100495a3
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm4
mulss xmm0, xmm1
xorps xmm1, xmm1
addss xmm5, xmm0
cmp ecx, edi
jb 0x10049573
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x5c], 0
maxss xmm5, xmm2
movd xmm6, dword [ebp - 0x6c]
mov ecx, dword [ebp - 8]
cvtdq2ps xmm6, xmm6
movss xmm3, dword [ecx + 0x18ac]
mulss xmm6, xmm3
movss dword [ebp - 0xc4], xmm5
movss dword [ebp - 0xf8], xmm6
jl 0x1004967d
mov edx, dword [ebp - 0x34]
mov ecx, edx
cmp edx, dword [ebp - 0x14]
jbe 0x10049611
mov edi, dword [ebp - 0x14]
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x1004960e
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10049600
mov edi, dword [ebp - 0x38]
movaps xmm2, xmm1
movaps xmm7, xmm1
cmp ecx, edx
jae 0x10049665
mov edi, dword [ebp - 0x34]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10049636
maxss xmm2, xmm7
movaps xmm7, xmm1
jmp 0x1004965e
cmp edx, 0xd
je 0x1004965e
mov edx, eax
cmp edx, dword [esi]
jge 0x1004964b
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x10049650
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm4
mulss xmm0, xmm1
xorps xmm1, xmm1
addss xmm7, xmm0
cmp ecx, edi
jb 0x10049620
mov edi, dword [ebp - 0x38]
movd xmm0, dword [ebp - 0x5c]
maxss xmm7, xmm2
mov ecx, dword [ebp - 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x30]
test dl, dl
je 0x100496a4
movd xmm0, dword [ebp - 0x1c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x70]
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x58], xmm0
jmp 0x100496a9
movss xmm3, dword [ebp - 0x70]
cmp byte [ebp - 0x15], 0
je 0x10049789
cmp byte [edi + 0xe60], 0
je 0x10049789
test dword [ebx + 0x10], 0x1000
jne 0x1004970d
movss xmm2, dword [edi + 0x34]
movaps xmm0, xmm3
comiss xmm2, xmm5
mulss xmm0, dword [0x1009ee1c]
movaps xmm1, xmm5
jbe 0x100496ee
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x100496fb
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10049714
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x10049714
mov dword [edi + 0x34], 0
test dl, dl
je 0x10049782
mov eax, dword [ebp - 0x64]
movaps xmm1, xmm6
subss xmm1, dword [ecx + 0x18ac]
movss xmm2, dword [eax + 0x5c]
comiss xmm2, xmm1
jbe 0x10049739
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10049745
movaps xmm0, xmm6
subss xmm0, dword [ebp - 0x80]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm2, dword [eax + 0xcc]
movss dword [eax + 0xcc], xmm2
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x74], xmm2
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x28], xmm0
mov byte [edi + 0xe60], 0
cmp byte [ebp - 0x16], 0
movss xmm4, dword [edi + 0x34]
movss dword [ebp - 0x1c], xmm4
je 0x10049a46
mov edx, dword [edi + 0x40]
mov eax, edx
mov ecx, dword [edi + 0x3c]
cmp ecx, edx
mov esi, dword [ebp - 0x14]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x15], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
lea eax, [eax + edx*2]
mov dword [ebp - 0x34], eax
je 0x100497cc
movss xmm1, dword [0x1009ee70]
jmp 0x100497d4
movss xmm1, dword [0x1009ee40]
mov ecx, 0x2a
call fcn.10022610
cmp byte [ebp - 0x30], 0
xorps xmm5, xmm5
mov dword [ebp - 0x6c], eax
je 0x100497f9
movss dword [ebp - 0xbc], xmm5
movss dword [ebp - 0x48], xmm5
jmp 0x10049806
movss xmm0, dword [0x1009eeac]
movss dword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x60]
movss xmm6, dword [ebp - 0x74]
movss xmm4, dword [ecx]
mov ecx, dword [ebp - 0x34]
addss xmm4, xmm7
movaps xmm7, xmm6
addss xmm7, dword [ebp - 0x4c]
subss xmm4, dword [ebp - 0x1c]
subss xmm7, xmm5
movss dword [ebp - 0x4c], xmm7
cmp esi, ecx
jae 0x10049a8d
mov eax, dword [ebp - 8]
movss xmm3, dword [ebp - 0x54]
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
movss xmm6, dword [eax + 0x18ac]
mov eax, dword [ebp - 0x60]
movaps xmm1, xmm6
movaps xmm0, xmm3
addss xmm0, xmm1
comiss xmm7, xmm0
ja 0x10049a3b
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, xmm7
jbe 0x10049898
cmp esi, ecx
jae 0x10049a13
nop dword [eax + eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x10049a10
cmp esi, ecx
jb 0x10049880
jmp 0x10049a10
mov edx, dword [edi + 0x18a8]
xorps xmm1, xmm1
movss xmm3, dword [edi + 0x18ac]
xorps xmm5, xmm5
xorps xmm2, xmm2
divss xmm3, dword [edx + 0x10]
cmp esi, ecx
jae 0x10049901
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100498f1
cmp ecx, 0xd
je 0x100498e8
cmp ecx, dword [edx]
jge 0x100498d8
mov eax, dword [edx + 8]
movss xmm1, dword [eax + ecx*4]
jmp 0x100498dd
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
mov ecx, dword [ebp - 0x34]
cmp esi, ecx
jb 0x100498b8
jmp 0x100498fe
mov ecx, dword [ebp - 0x34]
xorps xmm5, xmm5
maxss xmm5, xmm2
xorps xmm2, xmm2
xorps xmm1, xmm1
maxss xmm2, xmm5
comiss xmm1, xmm2
jb 0x1004993d
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x18a8]
cmp dword [eax], 0x20
jle 0x10049925
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1004992a
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1009ee38]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm0, dword [ebp - 0x48]
addss xmm2, xmm4
movss xmm3, dword [ebp - 0x54]
addss xmm4, xmm1
movss xmm1, dword [ebp - 0xbc]
addss xmm0, xmm7
movss xmm5, dword [ebp - 0x28]
subss xmm1, xmm6
minss xmm2, xmm5
maxss xmm4, dword [ebp - 0xb8]
minss xmm0, xmm3
addss xmm1, xmm7
movss dword [ebp - 0xe0], xmm2
movss dword [ebp - 0xe8], xmm4
comiss xmm0, dword [ebp - 0xb4]
maxss xmm1, dword [ebp - 0xb4]
movss dword [ebp - 0xdc], xmm0
movss dword [ebp - 0xe4], xmm1
jbe 0x10049a0d
comiss xmm3, xmm1
jbe 0x10049a0d
comiss xmm2, dword [ebp - 0xb8]
jbe 0x10049a0d
comiss xmm5, xmm4
jbe 0x10049a0d
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xe0]
push dword [ebp - 0x6c]
push eax
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x274]
call fcn.1003c7f0
movss xmm3, dword [ebp - 0xac]
movss xmm0, dword [ebp - 0xb0]
mov edi, dword [0x100bd09c]
movss xmm7, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0x28], xmm0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x60]
movss xmm6, dword [edx + 0x18ac]
movss xmm4, dword [eax]
movaps xmm0, xmm6
addss xmm7, xmm0
movaps xmm1, xmm6
subss xmm4, dword [ebp - 0x1c]
movss dword [ebp - 0x4c], xmm7
cmp esi, ecx
jb 0x10049853
movss xmm4, dword [ebp - 0x1c]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x38]
movss xmm6, dword [ebp - 0x74]
xorps xmm5, xmm5
cmp byte [ebp - 0x30], 0
mov edx, dword [edi + 8]
jne 0x10049a63
cmp edx, 0x200000
jge 0x10049bd0
mov eax, dword [ebp - 0xc]
movups xmm1, xmmword [eax + 0x15a8]
comiss xmm5, xmm1
movaps xmm2, xmm1
movaps xmmword [ebp - 0xf0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1500]
jbe 0x10049a94
xorps xmm0, xmm0
jmp 0x10049aa0
movss xmm4, dword [ebp - 0x1c]
jmp 0x10049a4e
movss xmm0, dword [0x1009ee70]
minss xmm0, xmm1
movss xmm3, dword [0x1009ef8c]
movss xmm7, dword [0x1009ee38]
movss xmm1, dword [ebp - 0xec]
comiss xmm5, xmm1
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10049ace
xorps xmm0, xmm0
jmp 0x10049ada
movss xmm0, dword [0x1009ee70]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0xe8]
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm1
jbe 0x10049afd
xorps xmm0, xmm0
jmp 0x10049b09
movss xmm0, dword [0x1009ee70]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x10049b24
xorps xmm1, xmm1
jmp 0x10049b30
movss xmm1, dword [0x1009ee70]
minss xmm1, xmm2
cmp byte [ebp - 0x30], 0
lea eax, [ebp - 0xb8]
mov esi, dword [ebp - 0x60]
subss xmm6, xmm5
mulss xmm1, xmm3
mov dword [ebp - 0xbc], 0
cmovne eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x40]
addss xmm1, xmm7
movss xmm0, dword [esi]
add eax, edx
push ecx
mov dword [esp], 0
subss xmm0, xmm4
push eax
push dword [ebp - 0x40]
cvttss2si eax, xmm1
movss dword [ebp - 0x50], xmm0
shl eax, 0x18
or eax, ecx
movss dword [ebp - 0x4c], xmm6
push eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 8]
push dword [eax + 0x18a8]
movss xmm2, dword [eax + 0x18ac]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x274]
call fcn.1003cbd0
movss xmm0, dword [ebp - 0xac]
mov ecx, dword [0x100bd09c]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0xb0]
mov dword [ebp - 0xc], ecx
movss dword [ebp - 0x28], xmm0
jmp 0x10049bd6
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
cmp byte [ebp - 0x15], 0
je 0x10049d8f
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [edi + 0xe5c]
movss dword [edi + 0xe5c], xmm0
mov edi, eax
cmp byte [edi + 0xae], 0
je 0x10049c4a
xorps xmm2, xmm2
comiss xmm2, xmm0
jae 0x10049c4a
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xc0], xmm0
fld qword [ebp - 0xc0]
fld qword [0x1009eea0]
call fcn.10083ac0
movss xmm0, dword [0x1009ee58]
fstp qword [ebp - 0xc0]
movsd xmm1, qword [ebp - 0xc0]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10049c4a
xor al, al
jmp 0x10049c4c
mov al, 1
movss xmm3, dword [ebp - 0x74]
movss xmm4, dword [esi]
movss xmm5, dword [0x1009ee70]
addss xmm3, dword [ebp - 0xf8]
addss xmm4, dword [ebp - 0xc4]
subss xmm3, dword [0x1009ed8c]
subss xmm4, dword [ebp - 0x1c]
movss dword [ebp - 0x74], xmm3
movaps xmm0, xmm3
movss dword [ebp - 0xc4], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0xe8], xmm4
movaps xmm1, xmm3
addss xmm2, xmm5
subss xmm0, dword [edi + 0x18ac]
subss xmm1, dword [0x1009ee84]
movss dword [ebp - 0xe0], xmm2
addss xmm0, dword [0x1009ee38]
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0xe4], xmm0
test al, al
je 0x10049d68
comiss xmm1, dword [ebp - 0xb4]
jbe 0x10049d68
movss xmm3, dword [ebp - 0x54]
comiss xmm3, xmm0
jbe 0x10049d63
comiss xmm2, dword [ebp - 0xb8]
jbe 0x10049d63
movss xmm0, dword [ebp - 0x28]
comiss xmm0, xmm4
jbe 0x10049d63
sub esp, 8
movss dword [ebp - 0x9c], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0xa0], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.10022610
add esp, 4
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x274]
call fcn.1003c6d0
mov ecx, dword [0x100bd09c]
movss xmm3, dword [ebp - 0x74]
movss xmm4, dword [ebp - 0xc4]
movss xmm5, dword [0x1009ee70]
mov dword [ebp - 0xc], ecx
jmp 0x10049d6b
movss xmm3, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xc]
cmp byte [ebp - 0x44], 0
jne 0x10049d92
subss xmm3, dword [edi + 0x18ac]
subss xmm4, xmm5
movss dword [edi + 0x2c30], xmm3
movss dword [edi + 0x2c2c], xmm4
jmp 0x10049d92
mov edi, dword [ebp - 8]
cmp byte [ebp - 0x30], 0
je 0x10049e51
mov eax, dword [ecx + 0x198c]
movss xmm2, dword [edi + 0x18ac]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x198c]
cmp byte [eax + 0x7f], 0
jne 0x10049e3f
movss xmm3, dword [ebp - 0x58]
lea ecx, [ebp - 0xa0]
addss xmm2, dword [ebp - 0x20]
movss xmm1, dword [eax + 0xc8]
xorps xmm4, xmm4
movss xmm0, dword [eax + 0xcc]
addss xmm3, xmm4
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0xe4], xmm0
addss xmm2, xmm0
addss xmm3, xmm1
movss dword [ebp - 0xdc], xmm2
subss xmm2, xmm0
movss dword [ebp - 0xe0], xmm3
subss xmm3, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x9c], xmm2
movss dword [ebp - 0xa0], xmm3
call fcn.10024330
push 0
xor edx, edx
lea ecx, [ebp - 0xe8]
call fcn.10024440
add esp, 4
call fcn.10027570
call fcn.1002cad0
mov edi, dword [0x100bd09c]
jmp 0x10049e54
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
test cl, cl
je 0x10049f28
mov eax, dword [edi + 0x198c]
mov esi, edi
mov ecx, dword [eax + 0x274]
dec dword [ecx + 0x48]
call fcn.1003aa20
mov edx, dword [edi + 0x1a0c]
sub edx, 1
mov dword [edi + 0x1a0c], edx
mov edi, dword [0x100bd09c]
jne 0x10049ea6
mov edx, dword [edi + 0xa0]
test edx, edx
jne 0x10049eb0
mov eax, dword [edi + 0x94]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
jmp 0x10049eb0
mov eax, dword [esi + 0x1a14]
mov edx, dword [eax + edx*4 - 4]
movss xmm0, dword [edi + 0x98]
movss xmm1, dword [0x1009ee70]
mov eax, dword [edi + 0x198c]
mov dword [edi + 0x18a8], edx
mulss xmm0, dword [edx + 0x10]
mulss xmm0, dword [edx + 0x44]
maxss xmm1, xmm0
movss dword [edi + 0x18b0], xmm1
test eax, eax
je 0x10049ef4
movss xmm0, dword [eax + 0x26c]
mulss xmm0, xmm1
jmp 0x10049ef7
xorps xmm0, xmm0
movss dword [edi + 0x18ac], xmm0
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18b4], ecx
mov ecx, dword [ebp - 0x88]
mov dword [edi + 0x18b8], eax
mov dword [edi + 0x18bc], edx
movss dword [edi + 0x18c0], xmm0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2c68], 0
je 0x10049f51
test cl, cl
jne 0x10049f51
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x7c]
push 0
call fcn.10031c90
mov edi, dword [0x100bd09c]
add esp, 4
mov eax, dword [ebp - 8]
movss xmm0, dword [ebp - 0xc8]
comiss xmm0, dword [0x1009ed8c]
jbe 0x10049faa
movss xmm0, dword [ebp - 0x90]
xor edx, edx
addss xmm0, dword [eax + 0x154c]
mov ecx, dword [ebp - 0xf4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x94]
addss xmm0, dword [eax + 0x1538]
movss dword [ebp - 0x78], xmm0
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push 1
call fcn.100228a0
mov edi, dword [0x100bd09c]
add esp, 0xc
mov cl, byte [ebp - 0x39]
test cl, cl
je 0x10049fc5
mov eax, dword [edi + 0x198c]
mov byte [edi + 0x19bf], 1
or dword [eax + 0x110], 4
test byte [ebx + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 2]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret