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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x55b098]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [0x56e280]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x108], 0x19
mov eax, dword [edi + 0x1a18]
mov byte [eax + 0x7c], 1
mov ebx, dword [edi + 0x1a18]
mov dword [ebp - 0xb8], ebx
cmp byte [ebx + 0x7f], 0
jne 0x47a42d
mov ecx, dword [ebp + 0x14]
mov esi, edi
mov eax, ecx
mov dword [ebp - 0xd0], esi
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0xcc], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xc8], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x144], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0xf4], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x134], eax
test dl, dl
je 0x47a092
call fcn.004613a0
mov edi, dword [0x56e280]
mov ecx, dword [ebx + 0xbc]
xor edx, edx
mov eax, dword [ebx + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x150]
call fcn.00456c70
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [edi + 0x1a50], eax
jne 0x47a0c6
mov dword [edi + 0x1a54], eax
cmp dword [edi + 0x1a8c], eax
jne 0x47a0d5
mov byte [edi + 0x1a90], 1
mov edx, dword [ebp - 0x150]
mov eax, edx
cmp edx, 0xffffffff
jae 0x47a0f8
mov cl, byte [eax]
test cl, cl
je 0x47a0f8
cmp cl, 0x23
jne 0x47a0f2
cmp byte [eax + 1], cl
je 0x47a0f8
inc eax
cmp eax, 0xffffffff
jb 0x47a0e2
movss xmm2, dword [edi + 0x18dc]
cmp edx, eax
jne 0x47a111
xorps xmm6, xmm6
movss dword [ebp - 0x154], xmm6
jmp 0x47a180
movss xmm3, dword [0x5511e0]
push ecx
push eax
push edx
push ecx
mov ecx, dword [edi + 0x18d8]
lea eax, [ebp - 0xe4]
mov dword [esp], 0xbf800000
push eax
call fcn.00473f50
movss xmm0, dword [ebp - 0xe4]
xorps xmm6, xmm6
addss xmm0, dword [0x551124]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe4], xmm0
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xe0]
movss xmm0, dword [ebp - 0xc]
mov dword [ebp - 8], eax
movss xmm2, dword [ebp - 8]
movss dword [ebp - 0x154], xmm0
cmp byte [ebp - 0xc8], 0
je 0x47a199
movss xmm2, dword [esi + 0x18dc]
mulss xmm2, dword [0x551174]
test byte [edi + 0x1b00], 1
mov edx, dword [edi + 0x1a18]
je 0x47a1b2
movss xmm0, dword [edi + 0x1b04]
jmp 0x47a1ba
movss xmm0, dword [edx + 0x1a8]
comiss xmm6, xmm0
jbe 0x47a20c
mov ecx, edx
cmp dword [ecx + 0x190], 0
mov eax, dword [ecx + 0x254]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx + 0x258]
mov dword [ebp - 0xe0], eax
je 0x47a1ec
movss xmm1, dword [ecx + 0x224]
jmp 0x47a1f4
movss xmm1, dword [ebp - 0xe4]
subss xmm1, dword [edx + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x551130]
maxss xmm0, xmm1
movss xmm4, dword [esi + 0x155c]
movaps xmm1, xmm6
mov ecx, dword [ebp + 0x10]
movaps xmm3, xmm4
cvttss2si eax, xmm0
addss xmm3, xmm4
movaps xmm0, xmm6
movd xmm5, eax
mov eax, dword [ecx]
addss xmm3, xmm2
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + 4]
mov ecx, edx
movss xmm7, dword [ebp - 0xe8]
comiss xmm6, xmm7
mov dword [ebp - 0xe4], eax
movss xmm2, dword [ebp - 0xe4]
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0xfc], xmm7
movss dword [ebp - 0x118], xmm2
ja 0x47a270
comiss xmm6, xmm2
jbe 0x47a291
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x254]
movss xmm1, dword [ecx + 0x258]
je 0x47a291
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x551164]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x47a2a7
movaps xmm7, xmm5
jmp 0x47a2c8
comiss xmm6, xmm7
jbe 0x47a2d0
subss xmm0, dword [ecx + 0xc8]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0xfc], xmm7
jb 0x47a2d0
movaps xmm7, xmm2
movss dword [ebp - 0xfc], xmm7
movss xmm5, dword [ebp - 0xe4]
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x47a2e6
movaps xmm5, xmm3
jmp 0x47a30a
comiss xmm6, xmm5
jbe 0x47a312
subss xmm1, dword [ecx + 0xcc]
addss xmm1, xmm5
movaps xmm5, xmm1
comiss xmm2, xmm5
movss dword [ebp - 0x118], xmm5
jb 0x47a312
movaps xmm5, xmm2
movss dword [ebp - 0x118], xmm5
movss xmm0, dword [ebp - 0x154]
comiss xmm0, xmm6
jbe 0x47a32d
movss xmm1, dword [esi + 0x1570]
addss xmm1, xmm0
jmp 0x47a330
movaps xmm1, xmm6
cmp byte [ebp - 0xc8], 0
addss xmm1, xmm7
mov eax, dword [ebx + 0xc8]
movaps xmm0, xmm7
addss xmm0, dword [ebx + 0xc8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10c], ebx
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebx + 0xcc]
mov eax, dword [ebp - 0xe4]
addss xmm0, xmm5
mov dword [ebp - 0x44], eax
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xe0]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
addss xmm1, xmm5
mov eax, dword [ebx + 0xc8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
movss dword [ebp - 0xe4], xmm0
mov eax, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 8], eax
je 0x47a6ac
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004610f0
add esp, 4
test al, al
jne 0x47a440
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0xe4]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [esi + 0x155c]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0xe0], xmm0
call fcn.00460fb0
call fcn.00461500
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d7d33
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [edi + 0x1608]
mov ecx, dword [edi + 0x1b18]
lea eax, [edi + 0x1608]
lea ebx, [edi + 0x1b14]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx]
mov dword [ebp - 0x38], 3
movups xmmword [ebp - 0x34], xmm0
cmp eax, ecx
jne 0x47a49a
lea edi, [eax + 1]
test ecx, ecx
je 0x47a482
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x47a487
mov eax, 8
cmp eax, edi
mov ecx, ebx
cmovg edi, eax
push edi
call fcn.004663f0
mov edi, dword [0x56e280]
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
movups xmm0, xmmword [ebp - 0x38]
mov dword [ebp - 0xe8], 6
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
movups xmmword [ecx + edx*4], xmm0
mov dword [ecx + edx*4 + 0x10], eax
lea ecx, [edi + 0x1b20]
inc dword [ebx]
mov eax, dword [ebp - 0xbc]
movups xmm0, xmmword [esi + 0x1648]
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe8]
movss xmm0, dword [esi + 0x1560]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [edi + 0x1548]
push eax
movss dword [ebp - 0xe4], xmm0
call fcn.004662f0
movss xmm0, dword [ebp - 0xbc]
lea eax, [ebp - 0xe8]
movss dword [edi + 0x1548], xmm0
movss xmm0, dword [esi + 0x1564]
mov esi, dword [0x56e280]
movss dword [ebp - 0xbc], xmm0
push eax
mov dword [ebp - 0xe8], 7
movss xmm0, dword [esi + 0x154c]
lea ecx, [esi + 0x1b20]
movss dword [ebp - 0xe4], xmm0
call fcn.004662f0
movss xmm0, dword [ebp - 0xbc]
movss dword [esi + 0x154c], xmm0
mov esi, dword [0x56e280]
mov dword [ebp - 0x10], 1
mov eax, dword [esi + 0x1524]
lea ecx, [esi + 0x1b20]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0x1528]
movss xmm0, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x10]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 0xe4]
push eax
movss dword [ebp - 8], xmm0
call fcn.004662f0
movss xmm0, dword [ebp - 0x44]
sub esp, 8
movss xmm1, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xd0]
subss xmm0, xmm1
mov edx, dword [ebp - 0xc0]
movss dword [ebp - 0x148], xmm1
mov eax, dword [ecx + 0x1558]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
mov dword [esi + 0x1524], eax
mov eax, dword [ecx + 0x155c]
mov ecx, dword [ebp - 0x150]
mov dword [esi + 0x1528], eax
lea eax, [ebp - 0xe4]
push eax
movss dword [ebp - 0xe0], xmm0
call fcn.0045bf00
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.004574a0
mov esi, dword [0x56e280]
mov ecx, dword [esi + 0x1b14]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1b1c]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15d8], xmm0
dec dword [esi + 0x1b14]
test bl, bl
jne 0x47a677
call fcn.0045c140
call fcn.00461500
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d7d33
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xd0]
movss xmm0, dword [ebp - 0xfc]
mov ebx, dword [esi + 0x1a18]
mov dword [ebp - 0x10c], ebx
subss xmm0, dword [ebx + 0x70]
mov eax, dword [ebx + 0x138]
or dword [ebx + 0x140], eax
movss dword [ebp - 0xfc], xmm0
jmp 0x47a6fe
subss xmm1, dword [ebp - 0x10]
subss xmm0, dword [ebp - 0x14]
lea ecx, [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm1
movaps xmm1, xmm4
movss dword [ebp - 0xe4], xmm0
call fcn.00460fb0
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004610f0
add esp, 4
test al, al
je 0x47a42d
movss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x148], xmm0
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0x4c]
call fcn.00458a90
mov byte [ebp - 0xb1], al
test al, al
je 0x47a720
mov dword [esi + 0x1e0c], 1
mov edi, dword [0x56e280]
xor ecx, ecx
mov eax, dword [ebp - 0xc0]
lea ebx, [edi + 0x1ee0]
cmp dword [ebx], eax
mov edx, eax
cmovne ebx, ecx
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x110], ebx
call fcn.00458c60
mov dl, al
mov byte [ebp - 0xe9], dl
test dl, dl
je 0x47a778
mov eax, dword [ebp - 0xb8]
cmp dword [esi + 0x1c70], eax
jne 0x47a778
mov ecx, dword [esi + 0x1c78]
cmp ecx, dword [eax + 0x19c]
jne 0x47a778
mov al, 1
jmp 0x47a77a
xor al, al
mov byte [ebp - 0xc4], al
test dl, dl
je 0x47a78f
mov byte [ebp - 0xae], 1
test al, al
je 0x47a796
mov byte [ebp - 0xae], 0
cmp byte [ebp - 0xb1], 0
je 0x47a7af
cmp byte [esi + 0x3e0], 0
mov byte [ebp - 0xc3], 1
jne 0x47a7b6
mov byte [ebp - 0xc3], 0
mov eax, dword [esi + 0x1a50]
mov ecx, dword [ebp - 0xc0]
cmp eax, ecx
je 0x47a7e8
cmp dword [esi + 0x1b68], ecx
je 0x47a7df
cmp dword [esi + 0x1b5c], ecx
jne 0x47a7e8
cmp dword [esi + 0x1b80], 3
jne 0x47a7e8
mov byte [ebp - 0xad], 1
jmp 0x47a7ef
mov byte [ebp - 0xad], 0
cmp byte [ebp - 0xc8], 0
je 0x47a834
test ebx, ebx
je 0x47a834
test eax, eax
jne 0x47a834
mov eax, dword [ebp - 0x10c]
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.00456c70
add esp, 4
mov byte [ebp - 0xc1], 1
cmp dword [esi + 0x1a8c], eax
je 0x47a83b
mov byte [ebp - 0xc1], 0
cmp byte [ebp - 0xc8], 0
je 0x47a87b
test ebx, ebx
je 0x47a87b
mov eax, dword [ebp - 0x10c]
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.00456c70
mov ecx, dword [esi + 0x1a50]
add esp, 4
cmp ecx, eax
jne 0x47a881
mov al, 1
jmp 0x47a883
mov ecx, dword [esi + 0x1a50]
xor al, al
mov dl, byte [ebp - 0xad]
mov byte [ebp - 0xb0], al
mov byte [ebp - 0x11c], 0
cmp ecx, dword [ebp - 0xc0]
je 0x47a8b8
test byte [ebp + 0x14], 0x10
jne 0x47a8a8
test dl, dl
je 0x47a8b8
cmp byte [ebp - 0xc8], 0
mov byte [ebp - 0xf0], 1
je 0x47a8bf
mov byte [ebp - 0xf0], 0
cmp byte [ebp - 0xe9], 0
mov dword [ebp - 0xf8], 1
jne 0x47a8fd
cmp byte [ebp - 0xc3], 0
jne 0x47a8fd
cmp byte [ebp - 0xc1], 0
jne 0x47a8fd
test dl, dl
jne 0x47a8fd
mov byte [ebp - 0xaf], dl
test al, al
jne 0x47a904
mov byte [ebp - 0xc1], al
jmp 0x47aac2
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xc1], 1
mov dword [ebp - 0x110], ebx
cmp ecx, dword [ebp - 0xc0]
je 0x47aac2
mov edi, dword [ebp - 0xd4]
lea ebx, [esi + 0x1ee0]
mov esi, edi
mov dword [ebp - 0x110], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x47a940
sub esi, ecx
lea ecx, [ebx + 0x24]
inc esi
push esi
call fcn.00466560
push esi
push edi
push dword [ebx + 0x2c]
call fcn.004f0d70
add esp, 0xc
lea ecx, [ebx + 0xc]
push 0x1a
call fcn.00466660
push 0
lea ecx, [ebx + 0x18]
call fcn.00466560
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xbc], ecx
lea eax, [ecx + 0x30]
cmp ecx, eax
jae 0x47a9c6
nop word [eax + eax]
cmp byte [edi], 0
je 0x47a9c6
push 0
mov edx, edi
lea ecx, [ebp - 0x104]
call fcn.00456ee0
mov ecx, dword [ebp - 0xbc]
add edi, eax
mov eax, dword [ebp - 0x104]
add esp, 4
test eax, eax
je 0x47a9c6
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x30]
cmp esi, eax
jb 0x47a990
sub edi, dword [ebp - 0xd4]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xc0]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x47aa0f
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 ecx, dword [ebp - 0xc8]
mov dword [ebx + 0x44], esi
jmp 0x47aa86
mov ecx, dword [ebp - 0xc8]
mov dword [ebx], eax
mov al, cl
mov dword [ebx + 0x38], 0
xor al, 1
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe58], 0
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0x10000
mov dword [ebx + 0x50], 0
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x47aa86
mov eax, dword [ebp - 0xf0]
cmp byte [ebp - 0xc4], cl
movzx eax, al
cmovne eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf0], eax
test dword [ebp + 0x14], 0x2000
je 0x47aa93
mov byte [ebx + 0x48], 1
mov esi, dword [ebp - 0xd0]
test cl, cl
jne 0x47aabc
cmp byte [ebp - 0xae], cl
jne 0x47aab5
cmp byte [ebp - 0xc3], cl
je 0x47aabc
cmp byte [esi + 0x100], cl
je 0x47aabc
mov byte [ebp - 0xf0], 1
mov edi, dword [0x56e280]
mov ecx, dword [ebp - 0xc0]
mov dl, byte [ebp - 0xaf]
cmp dword [esi + 0x1a50], ecx
je 0x47ab7b
test dl, dl
je 0x47ab73
mov edx, dword [ebp - 0xb8]
call fcn.00458870
call fcn.004624c0
mov ecx, edx
call fcn.00460940
or dword [esi + 0x1a64], 3
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp + 0x14]
test dl, dl
jne 0x47ab11
test cl, cl
jns 0x47ab18
or dword [esi + 0x1a64], 0xc
or dword [esi + 0x1a68], 2
or dword [esi + 0x1a70], 0x180
mov eax, dword [esi + 0x1a74]
mov dword [esi + 0x1a74], eax
test dl, dl
je 0x47ab46
or dword [esi + 0x1a70], 0x60
mov dword [esi + 0x1a74], eax
mov edi, dword [0x56e280]
test ecx, 0x440
mov dl, byte [ebp - 0xaf]
mov ecx, dword [ebp - 0xc0]
je 0x47ab73
mov eax, dword [esi + 0x1a74]
or dword [esi + 0x1a70], 1
mov dword [esi + 0x1a74], eax
cmp dword [esi + 0x1a50], ecx
jne 0x47ab8a
test ebx, ebx
jne 0x47ab8a
call fcn.00458930
mov ecx, dword [ebp - 0xc0]
mov eax, dword [esi + 0x1a50]
cmp eax, ecx
jne 0x47abd0
cmp byte [esi + 0x3e0], 0
je 0x47abcc
cmp byte [ebp - 0xc1], 0
jne 0x47abcc
mov ebx, dword [ebp - 0x11c]
test dl, dl
movzx ebx, bl
mov edx, ebx
mov dword [ebp - 0x11c], ebx
cmove edx, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0x11c], edx
cmp eax, ecx
je 0x47abe1
test ebx, ebx
je 0x47abdd
cmp byte [ebp - 0xb0], 0
jne 0x47abe1
xor dh, dh
jmp 0x47abe3
mov dh, 1
mov byte [ebp - 0xb0], dh
test ebx, ebx
je 0x47abfd
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x47abfd
test dh, dh
je 0x47abfd
mov dl, 1
jmp 0x47abff
xor dl, dl
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0xc2], dl
mov byte [ebp - 0xe9], 0
mov byte [ebp - 0xc1], 0
test al, al
je 0x47ad0d
test ebx, ebx
je 0x47ad0d
test dh, dh
jne 0x47ac35
test dl, dl
je 0x47ad15
push 0x1a
lea ecx, [ebx + 0xc]
call fcn.00466660
mov edx, dword [ebx + 0x14]
mov edi, edx
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd4]
dec esi
mov dword [ebp - 0xf8], edx
lea esi, [edx + esi*2]
cmp edx, esi
jae 0x47aca5
mov ebx, ecx
nop dword [eax]
cmp byte [ebx], 0
je 0x47ac8d
push 0
mov edx, ebx
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x47ac8d
mov word [edi], ax
add edi, 2
cmp edi, esi
jb 0x47ac60
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xb8], ebx
mov ebx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xd4]
xor eax, eax
mov word [edi], ax
sub edi, edx
mov dl, byte [ebp - 0xc2]
sar edi, 1
cmp dword [ebx + 0x3c], edi
mov esi, dword [ebp - 0xd0]
mov dh, byte [ebp - 0xb0]
mov dword [ebx + 8], ecx
mov ecx, edi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], edi
mov dword [ebx + 0x3c], ecx
mov ecx, edi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], edi
mov dword [ebx + 4], edi
cmovl edi, dword [ebx + 0x44]
cmp ecx, edi
mov dword [ebx + 0x40], ecx
mov ecx, dword [ebp - 0xc0]
setne al
mov dword [ebx + 0x44], edi
mov edi, dword [0x56e280]
and dl, al
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0xc2], dl
test dh, dh
jne 0x47ad1d
test dl, dl
jne 0x47ad1d
cmp dword [esi + 0x1a50], ecx
jne 0x47ad31
test al, al
jne 0x47ad31
test ebx, ebx
je 0x47ad31
mov byte [ebp - 0x114], 1
cmp byte [ebx + 0x30], al
jne 0x47ad38
mov byte [ebp - 0x114], 0
cmp byte [ebp - 0x144], 0
je 0x47ade5
mov edi, dword [esi + 0x18d8]
cmp dword [edi + 0x14], 0x2a
ja 0x47ad56
mov eax, dword [edi + 0x2c]
jmp 0x47ad75
mov eax, dword [edi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x47ad6c
mov eax, dword [edi + 0x2c]
jmp 0x47ad75
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xb8], eax
lea edx, [esi + 0x2d54]
mov eax, dword [edi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18d8]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov ecx, dword [esi + 0x18d8]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x30], eax
mov eax, dword [ecx + 0x34]
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18d8]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18d8]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 0x18d8]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
call fcn.00460ac0
mov edi, dword [0x56e280]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x104], 0
cmp dword [esi + 0x1a50], ecx
jne 0x47b214
mov eax, dword [ebx + 8]
mov dword [ebx + 0x34], 0x19
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
cmp byte [esi + 0xf0], 0
mov dword [esi + 0x3068], 1
sete al
cmp byte [ebp - 0xc8], 0
mov byte [esi + 0x1a5d], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [ebp - 0x4c]
subss xmm6, dword [esi + 0x1558]
addss xmm6, dword [ebx + 0x38]
je 0x47ae8b
mov eax, dword [ebp - 0x10c]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x155c]
jmp 0x47ae9b
movss xmm2, dword [esi + 0x18dc]
mulss xmm2, dword [0x5510c8]
cmp byte [ebp - 0xf0], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 0xae], al
jne 0x47b01a
mov cl, byte [ebp - 0xb1]
test cl, cl
je 0x47aece
test al, al
jne 0x47af30
cmp byte [esi + 0x3e5], al
jne 0x47b01a
cmp byte [esi + 0x3e0], 0
je 0x47af90
cmp byte [ebx + 0xe65], 0
jne 0x47af90
test cl, cl
je 0x47b03b
cmp byte [ebx + 0x4c], 0
je 0x47af0a
push 0
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.004786a0
movss xmm2, dword [ebp - 0x30]
add esp, 4
movaps xmm1, xmm6
mov ecx, ebx
call fcn.004789b0
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 0x47b035
cmp byte [esi + 0x3e5], 0
je 0x47aece
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478e70
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.00478e70
mov edi, dword [0x56e280]
add esp, 4
mov esi, dword [ebp - 0xd0]
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x47b035
cmp byte [esi + 0xf0], 0
je 0x47b03b
cmp byte [ebx + 0xe65], 0
xorps xmm1, xmm1
jne 0x47b047
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47afcf
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x47b03e
cmp byte [ebx + 0x4c], 0
je 0x47afe9
push 0
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.004786a0
movss xmm2, dword [ebp - 0x30]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x47aff7
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm6
mov ecx, ebx
call fcn.004789b0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x47b035
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
mov al, byte [ebp - 0xae]
xorps xmm1, xmm1
cmp byte [ebx + 0xe65], 0
je 0x47b057
cmp byte [esi + 0xf0], 0
jne 0x47b057
mov byte [ebx + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x47b069
cmp byte [esi + 0x102], 0
je 0x47b076
test al, al
je 0x47b07a
cmp byte [esi + 0x103], 0
je 0x47b07a
mov dl, 1
jmp 0x47b07c
xor dl, dl
test dword [ebp + 0x14], 0x400
mov byte [ebp - 0xb1], dl
je 0x47b160
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x47b160
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x47b0d7
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b160
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b160
test dl, dl
mov edx, dword [ebp - 0xcc]
jne 0x47b166
cmp byte [esi + 0x101], 0
jne 0x47b166
test dl, dl
jne 0x47b166
mov ecx, dword [esi + 0x1518]
mov eax, dword [esi + 0x1510]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x47b114
movzx eax, word [ecx]
add ecx, 2
cmp eax, 9
je 0x47b160
cmp ecx, edx
jb 0x47b105
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
mov dword [ebp - 0xbc], 9
call fcn.00479e10
add esp, 8
test al, al
je 0x47b15a
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478e70
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [0x56e280]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [esi + 0x1510]
lea eax, [esi + 0x1510]
test ecx, ecx
jle 0x47b214
cmp byte [ebp - 0xb1], 0
jne 0x47b205
test dl, dl
jne 0x47b205
cmp byte [ebp - 0xad], dl
jne 0x47b205
xor edi, edi
test ecx, ecx
jle 0x47b205
nop dword [eax]
mov eax, dword [esi + 0x1518]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xbc], eax
cmp eax, 9
jne 0x47b1be
cmp byte [esi + 0x101], 0
jne 0x47b1fa
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
call fcn.00479e10
add esp, 8
test al, al
je 0x47b1fa
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478e70
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc edi
lea eax, [esi + 0x1510]
cmp edi, dword [eax]
jl 0x47b1a0
push 0
mov ecx, eax
call fcn.00466660
mov edi, dword [0x56e280]
mov eax, dword [ebp - 0xc0]
xor cl, cl
mov byte [ebp - 0xad], cl
cmp dword [esi + 0x1a50], eax
jne 0x47c56a
cmp byte [esi + 0x1a5c], cl
jne 0x47be61
cmp byte [ebp - 0x11c], cl
jne 0x47be61
xor edx, edx
mov eax, 0x400000
cmp byte [esi + 0x101], dl
cmovne edx, eax
mov al, byte [esi + 0xb1]
mov dword [ebp - 0xbc], edx
mov byte [ebp - 0x129], al
test al, al
je 0x47b27c
cmp dword [esi + 0x380], 0xa
mov byte [ebp - 0xb1], 1
je 0x47b283
mov byte [ebp - 0xb1], 0
test al, al
je 0x47b2b2
cmp byte [esi + 0x103], 0
mov al, byte [esi + 0x102]
mov byte [ebp - 0xc3], al
je 0x47b2be
cmp byte [esi + 0x100], 0
jne 0x47b2be
test al, al
jne 0x47b2be
mov byte [ebp - 0xae], 1
jmp 0x47b2c5
mov al, byte [esi + 0x100]
mov byte [ebp - 0xc3], al
mov byte [ebp - 0xae], 0
cmp byte [esi + 0xb1], 0
mov eax, dword [esi + 0x380]
je 0x47b2d9
cmp eax, 8
jmp 0x47b2dc
cmp eax, 1
sete cl
xorps xmm5, xmm5
mov byte [ebp - 0xaf], cl
test cl, cl
je 0x47b331
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x47b331
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b372
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b32b
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
jne 0x47b372
mov eax, dword [esi + 0x380]
cmp eax, 2
jne 0x47b39e
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x47b39e
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b372
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b39e
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b39e
cmp byte [ebp - 0xcc], 0
jne 0x47b39e
cmp byte [ebp - 0x144], 0
jne 0x47b39e
cmp byte [ebp - 0xc8], 0
je 0x47b395
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x47b39e
mov byte [ebp - 0xc4], 1
jmp 0x47b3a5
mov byte [ebp - 0xc4], 0
cmp byte [ebp - 0xaf], 0
je 0x47b3ea
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x47b3ea
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b42f
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b3ea
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
jne 0x47b42f
cmp dword [esi + 0x380], 1
jne 0x47b452
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x47b452
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b42f
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b452
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b452
cmp byte [ebp - 0x144], 0
jne 0x47b452
cmp byte [ebp - 0xc8], 0
je 0x47b449
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x47b452
mov byte [ebp - 0x112], 1
jmp 0x47b459
mov byte [ebp - 0x112], 0
cmp byte [ebp - 0xaf], 0
je 0x47b49e
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x47b49e
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b4e3
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b49e
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
jne 0x47b4e3
cmp dword [esi + 0x380], 2
jne 0x47b4f3
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x47b4f3
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b4e3
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b4f3
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b4f3
cmp byte [ebp - 0xcc], 0
mov byte [ebp - 0x113], 1
je 0x47b4fa
mov byte [ebp - 0x113], 0
cmp byte [ebp - 0xaf], 0
je 0x47b55b
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x47b55b
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b542
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b55b
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b55b
cmp byte [ebp - 0xcc], 0
jne 0x47b55b
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0x111], 1
jne 0x47b562
mov byte [ebp - 0x111], 0
cmp byte [ebp - 0xaf], 0
je 0x47b5aa
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x47b5aa
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b5f2
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b5aa
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
jne 0x47b5f2
cmp byte [ebp - 0xb1], 0
je 0x47b60b
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x47b60b
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b5f2
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b60b
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b60b
cmp byte [ebp - 0xcc], 0
jne 0x47b60b
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xb1], 1
jne 0x47b612
mov byte [ebp - 0xb1], 0
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x47b698
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b652
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b698
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b698
cmp byte [ebp - 0xae], 0
je 0x47b672
mov eax, 0x200004
mov ecx, ebx
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
cmp byte [ebp - 0xc3], 0
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x47b71e
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b6d8
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b71e
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b71e
cmp byte [ebp - 0xae], 0
je 0x47b6f8
mov eax, 0x200005
mov ecx, ebx
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
cmp byte [ebp - 0xc3], 0
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x47b7bc
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b75e
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b7bc
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b7bc
cmp byte [ebp - 0xc8], 0
je 0x47b7bc
cmp byte [esi + 0x100], 0
je 0x47b798
mov edx, dword [ebp - 0x10c]
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x18dc]
mov dword [edx + 0x6c], 0
maxss xmm0, xmm5
movss dword [edx + 0x64], xmm0
jmp 0x47be2f
xor eax, eax
mov ecx, ebx
cmp byte [ebp - 0xae], al
setne al
lea eax, [eax*4 + 0x200002]
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x47b865
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b800
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b865
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b865
cmp byte [ebp - 0xc8], 0
je 0x47b865
cmp byte [esi + 0x100], 0
je 0x47b841
mov ecx, dword [ebp - 0x10c]
movss xmm0, dword [esi + 0x18dc]
mov eax, dword [edi + 0x1a18]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
movss dword [ecx + 0x64], xmm0
jmp 0x47be2f
xor eax, eax
mov ecx, ebx
cmp byte [ebp - 0xae], al
setne al
lea eax, [eax*4 + 0x200003]
or eax, edx
lea edx, [ebx + 0x3c]
push eax
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x47b8c5
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b8a1
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b8c5
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b8c5
xor eax, eax
mov ecx, ebx
cmp byte [esi + 0x100], al
setne al
lea eax, [eax*2 + 0x200004]
or edx, eax
push edx
lea edx, [ebx + 0x3c]
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x47b925
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b901
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b925
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b925
xor eax, eax
mov ecx, ebx
cmp byte [esi + 0x100], al
setne al
lea eax, [eax*2 + 0x200005]
or edx, eax
push edx
lea edx, [ebx + 0x3c]
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x47b980
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b961
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47b980
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47b980
cmp byte [ebp - 0xcc], 0
jne 0x47b980
or edx, 0x200008
mov ecx, ebx
push edx
lea edx, [ebx + 0x3c]
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x47ba50
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47b9c8
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47ba50
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47ba50
cmp byte [ebp - 0xcc], 0
jne 0x47ba50
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x47ba3a
cmp byte [ebp - 0xc3], 0
je 0x47b9ed
push 0x60000c
jmp 0x47ba16
cmp byte [ebp - 0x129], 0
je 0x47ba3a
cmp byte [esi + 0x103], 0
je 0x47ba3a
cmp byte [esi + 0x102], 0
jne 0x47ba3a
cmp byte [esi + 0x100], 0
jne 0x47ba3a
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478e70
mov edx, dword [ebp - 0xbc]
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
or edx, 0x200009
mov ecx, ebx
push edx
lea edx, [ebx + 0x3c]
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x47ba8c
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47bad4
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47ba8c
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
jne 0x47bad4
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x47bb57
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47bad4
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47bb57
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47bb57
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xc8], 0
je 0x47baf4
test al, al
je 0x47bb07
cmp byte [esi + 0x100], 0
jne 0x47bb10
mov byte [ebp - 0x11c], 1
mov byte [ebp - 0xc1], 1
jmp 0x47be2f
cmp byte [esi + 0x100], 0
jne 0x47baf4
cmp byte [ebp - 0xcc], 0
jne 0x47be2f
sub esp, 8
mov dword [ebp - 0xbc], 0xa
mov edx, ecx
lea ecx, [ebp - 0xbc]
call fcn.00479e10
add esp, 8
test al, al
je 0x47be29
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478e70
jmp 0x47be15
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x47bba0
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47bb93
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47bba0
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47bba0
mov cl, 1
mov byte [ebp - 0x11c], cl
jmp 0x47be35
mov cl, byte [ebp - 0x111]
test cl, cl
jne 0x47bdf5
cmp byte [ebp - 0xb1], cl
jne 0x47bdf5
cmp byte [ebp - 0xaf], cl
je 0x47bc1e
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x47bc1e
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47bbfe
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47bc1e
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47bc1e
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 0x47be2f
mov al, byte [ebp - 0xc4]
test al, al
jne 0x47bd18
cmp byte [ebp - 0x112], al
jne 0x47bd18
cmp byte [ebp - 0x113], al
je 0x47be2f
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x47bc64
push dword [edi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x47bc69
jmp 0x47be29
mov esi, 0x550739
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47bc70
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.00458d30
xor edi, edi
mov dword [ebp - 0xf4], eax
cmp byte [esi], 0
je 0x47bce6
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xb8]
call fcn.00456ee0
add esp, 4
add esi, eax
cmp dword [ebp - 0xb8], 0
je 0x47bcda
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xb8]
sub esp, 8
call fcn.00479e10
add esp, 8
test al, al
je 0x47bcd5
mov ax, word [ebp - 0xb8]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x47bc94
mov ebx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x47bd0c
push edi
push eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478dc0
mov eax, dword [ebp - 0xf4]
add esp, 8
mov byte [ebx + 0xe64], 1
mov ecx, eax
call fcn.00458d50
jmp 0x47be29
cmp dword [esi + 0xd4], 0
je 0x47bdb2
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x47bd36
mov esi, ecx
cmovl esi, eax
jmp 0x47bd38
xor esi, esi
cmp eax, ecx
mov dword [ebp - 0xf8], esi
cmovge ecx, eax
jne 0x47bd48
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xbc], ecx
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.004571c0
mov edi, eax
lea ecx, [edi + 1]
call fcn.00458d30
mov esi, dword [ebp - 0x110]
lea edx, [edi + 1]
mov ebx, eax
mov eax, dword [ebp - 0xbc]
mov esi, dword [esi + 0x14]
lea ecx, [esi + eax*2]
mov eax, dword [ebp - 0xf8]
push ecx
lea ecx, [esi + eax*2]
push ecx
mov ecx, ebx
call fcn.00457150
add esp, 8
mov ecx, ebx
call fcn.00458d70
mov ecx, ebx
call fcn.00458d50
mov edi, dword [0x56e280]
mov ebx, dword [ebp - 0x110]
mov al, byte [ebp - 0xc4]
test al, al
je 0x47be2f
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x47bdd6
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 0x47be2f
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00478d20
mov byte [ebx + 0x4b], 0
jmp 0x47be29
xor eax, eax
lea edx, [ebx + 0x3c]
test cl, cl
mov ecx, ebx
sete al
add eax, 0x20000a
push eax
call fcn.00478e70
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0xe64], 1
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [0x56e280]
mov cl, byte [ebp - 0xad]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x47be4d
cmp byte [ebp - 0xb0], 0
je 0x47be4d
mov eax, 1
jmp 0x47be4f
xor eax, eax
or byte [ebp - 0xc2], al
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
cmp dword [esi + 0x1a50], eax
jne 0x47c56a
xor eax, eax
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x124], eax
test cl, cl
je 0x47c027
cmp byte [ebp - 0xcc], al
jne 0x47c010
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47bec0
test dl, dl
je 0x47bebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47bec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x47bea0
xor eax, eax
jmp 0x47bec5
sbb eax, eax
or eax, 1
test eax, eax
je 0x47c010
mov eax, dword [ebx + 0x24]
xor ecx, ecx
mov edx, dword [ebx + 0x2c]
dec eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], ecx
test eax, eax
jle 0x47bfee
lea edi, [eax + edx]
mov esi, edx
xor eax, eax
mov dword [ebp - 0xb8], eax
test edi, edi
je 0x47bf19
cmp esi, edi
jae 0x47bf43
cmp byte [esi], 0
je 0x47bf43
push edi
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add esi, eax
add esp, 4
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xb8]
je 0x47bf43
inc eax
jmp 0x47bf0b
inc eax
lea ecx, [ebp - 0xe8]
push eax
call fcn.00466660
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf0]
dec edx
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
mov eax, ecx
mov dword [ebp - 0xb8], eax
lea edx, [ecx + edx*2]
mov dword [ebp - 0xf8], edx
cmp ecx, edx
jae 0x47bfe0
mov ebx, dword [ebp - 0xbc]
nop word [eax + eax]
test edi, edi
je 0x47bf98
cmp ebx, edi
jae 0x47bfd4
cmp byte [ebx], 0
je 0x47bfd4
push edi
mov edx, ebx
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
mov ecx, dword [ebp - 0xbc]
add ebx, eax
mov eax, dword [ebp - 0xb8]
add esp, 4
test ecx, ecx
je 0x47bfd4
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xb8], eax
cmp eax, dword [ebp - 0xf8]
jb 0x47bf90
mov ebx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xe0]
xor edx, edx
mov word [eax], dx
mov eax, dword [ebp - 0xe8]
dec eax
jmp 0x47bff0
xor eax, eax
push eax
push ecx
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00479d50
add esp, 8
lea ecx, [ebp - 0xe8]
call fcn.00455ee0
mov edi, dword [0x56e280]
cmp byte [ebp - 0xc1], 0
je 0x47c446
test byte [ebp + 0x14], 0x20
je 0x47c446
cmp byte [ebp - 0xcc], 0
jne 0x47c0a8
mov eax, dword [ebx + 0xc]
lea ecx, [ebx + 0x18]
mov byte [ebx + 0x30], 1
lea eax, [eax*4 + 1]
push eax
call fcn.00466560
mov edi, dword [ebx + 0x20]
mov esi, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
add esi, edi
lea eax, [esi - 1]
cmp edi, eax
jae 0x47c09f
lea ebx, [esi - 1]
movzx eax, word [ecx]
test ax, ax
je 0x47c099
add ecx, 2
mov dword [ebp - 0xbc], ecx
cmp eax, 0x80
jae 0x47c07d
mov byte [edi], al
inc edi
jmp 0x47c095
mov edx, esi
mov ecx, edi
sub edx, edi
push eax
dec edx
call fcn.00457090
mov ecx, dword [ebp - 0xbc]
add esp, 4
add edi, eax
cmp edi, ebx
jb 0x47c060
mov ebx, dword [ebp - 0x110]
mov byte [edi], 0
mov edi, dword [0x56e280]
mov edx, dword [ebp + 0x14]
test edx, 0x1c0
je 0x47c3e9
mov dword [ebp - 0x100], 0x16
xorps xmm5, xmm5
test dl, 0x40
je 0x47c119
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x47c119
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47c105
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47c119
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47c119
mov esi, 0x40
mov dword [ebp - 0x100], 0
jmp 0x47c1cc
test dl, dl
jns 0x47c1bb
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x47c16e
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47c15d
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47c16e
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47c16e
mov esi, 0x80
mov dword [ebp - 0x100], 3
jmp 0x47c1cc
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x47c1bb
movss xmm0, dword [edi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x47c1aa
movss xmm1, dword [edi + 0x8c]
comiss xmm0, xmm1
jbe 0x47c1bb
movss xmm2, dword [edi + 0x90]
call fcn.0045bd70
test eax, eax
setg al
test al, al
je 0x47c1bb
mov esi, 0x80
mov dword [ebp - 0x100], 4
jmp 0x47c1cc
test edx, 0x100
je 0x47c3e9
mov esi, 0x100
push 0x30
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.004f0ad0
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x6c], 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 - 0x7c], esi
mov esi, dword [ebx + 0x14]
mov ecx, esi
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x74], 0
mov byte [ebp - 0x5c], 0
lea edx, [esi + eax*2]
call fcn.004571c0
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.004571c0
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.004571c0
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x58]
add esp, 4
cmp ecx, edi
je 0x47c2a8
mov esi, dword [ebp - 0x68]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xb8], eax
test edi, edi
je 0x47c274
cmp esi, edi
jae 0x47c29e
cmp byte [esi], 0
je 0x47c29e
push edi
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add esi, eax
add esp, 4
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xb8]
je 0x47c29e
inc eax
jmp 0x47c266
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0xf8]
je 0x47c2f6
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb8], eax
test edi, edi
je 0x47c2c9
cmp esi, edi
jae 0x47c2f3
cmp byte [esi], 0
je 0x47c2f3
push edi
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add esi, eax
add esp, 4
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xb8]
je 0x47c2f3
inc eax
jmp 0x47c2bb
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xf4]
je 0x47c344
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb8], eax
test edi, edi
je 0x47c317
cmp esi, edi
jae 0x47c341
cmp byte [esi], 0
je 0x47c341
push edi
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add esi, eax
add esp, 4
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xb8]
je 0x47c341
inc eax
jmp 0x47c309
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x5c], 0
je 0x47c3e3
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x104]
cmp eax, edx
jle 0x47c371
cmp byte [ebp - 0x134], 0
je 0x47c371
lea ecx, [ebx + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.00466660
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0xb8], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xf8], eax
cmp ecx, eax
jae 0x47c3c7
cmp byte [edi], 0
je 0x47c3c1
push 0
mov edx, edi
lea ecx, [ebp - 0xbc]
call fcn.00456ee0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x47c3c1
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xf8]
jb 0x47c390
mov ecx, dword [ebp - 0xb8]
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 edi, dword [0x56e280]
cmp byte [ebp - 0xcc], 0
jne 0x47c440
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47c420
test dl, dl
je 0x47c41c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47c420
add eax, 2
add ecx, 2
test dl, dl
jne 0x47c400
xor eax, eax
jmp 0x47c425
sbb eax, eax
or eax, 1
test eax, eax
je 0x47c440
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xf0], esi
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0x124], ecx
jmp 0x47c44c
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0xf0]
test edx, edx
je 0x47c54c
cmp byte [ebp - 0x134], 0
je 0x47c500
push 0x30
lea eax, [ebp - 0xac]
push 0
push eax
call fcn.004f0ad0
mov eax, dword [ebp + 0x14]
mov ecx, 0x19
mov dword [ebp - 0xa8], eax
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x94], eax
inc eax
cmp eax, ecx
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0xa4], 0
cmovle eax, ecx
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0x98]
mov edi, dword [0x56e280]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x108], ecx
dec ecx
cmp dword [ebp - 0x94], ecx
mov dword [ebp - 0xd4], eax
cmovl ecx, dword [ebp - 0x94]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x108]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp - 0x108], ecx
cmp ecx, 1
jb 0x47c545
jbe 0x47c53a
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp - 0xd4]
call fcn.004f9860
mov edi, dword [0x56e280]
add esp, 0xc
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xd4]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0xe9], 1
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0x11c], 0
mov ecx, dword [ebp - 0xc0]
je 0x47c58c
cmp dword [esi + 0x1a50], ecx
jne 0x47c58c
call fcn.00458930
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc8]
test dl, dl
jne 0x47c5e3
mov edx, ecx
lea ecx, [ebp - 0x4c]
push 1
call fcn.00457c10
movss xmm1, dword [0x551130]
add esp, 4
mov ecx, 7
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.004573c0
movss xmm2, dword [esi + 0x1560]
mov dl, 1
mov ecx, eax
call fcn.00457aa0
mov edi, dword [0x56e280]
add esp, 0x10
mov edx, dword [ebp - 0xc8]
movss xmm2, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0xfc]
movaps xmm0, xmm2
movss xmm3, dword [ebp - 0x48]
addss xmm0, xmm1
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0x1c], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebp - 0x118]
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x18], xmm0
test dl, dl
je 0x47c649
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xc8]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0xcc]
mov dword [ebp - 8], eax
jmp 0x47c66a
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x1558]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [esi + 0x155c]
addss xmm0, xmm3
movss dword [ebp - 8], xmm0
cmp byte [ebp - 0x114], 0
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
xorps xmm6, xmm6
mov dword [ebp - 0xe4], eax
movaps xmm0, xmm6
mov eax, dword [ecx + 4]
mov dword [ebp - 0xe0], eax
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0xbc], xmm6
je 0x47c6a8
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0xd4], ecx
jmp 0x47c6ae
mov ecx, dword [ebp - 0xd4]
cmp byte [ebp - 0xb0], 0
jne 0x47c7bd
cmp byte [ebp - 0xc2], 0
jne 0x47c7bd
test dl, dl
je 0x47c729
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x47c6f2
nop dword [eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x47c6e0
mov al, byte [ebx - 1]
dec ebx
cmp al, 0xa
je 0x47c6ff
cmp al, 0xd
je 0x47c6ff
inc ecx
movd xmm0, ecx
mov ecx, dword [ebp - 0xd4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x18dc]
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0xf8], xmm0
jmp 0x47c767
mov eax, dword [ebp - 0xc0]
cmp dword [esi + 0x1a50], eax
jne 0x47c73e
mov ebx, dword [ebx + 8]
add ebx, ecx
jmp 0x47c758
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c741
mov ebx, dword [ebp - 0xd4]
sub ecx, edx
add ebx, ecx
mov ecx, dword [ebp - 0xd4]
mov eax, ebx
sub eax, ecx
cmp eax, 0x200000
jge 0x47d490
movss xmm1, dword [0x551130]
lea eax, [ebp - 0x24]
xor edx, edx
cmp byte [ebp - 0xc8], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push ebx
push ecx
xor ecx, ecx
call fcn.004573c0
movss xmm2, dword [esi + 0x18dc]
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x10c]
push dword [esi + 0x18d8]
mov ecx, dword [eax + 0x290]
call fcn.00470910
mov edi, dword [0x56e280]
jmp 0x47d3cb
mov eax, dword [ebx + 8]
xor edx, edx
add eax, ecx
movss dword [ebp - 0x134], xmm6
movaps xmm7, xmm6
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xf0], eax
mov eax, 0xfffffc18
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x124], eax
cmp byte [ebp - 0xb0], dl
je 0x47c823
mov eax, dword [ebx + 0x3c]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x104], eax
or eax, 0xffffffff
mov dword [ebp - 0xc0], eax
lea edx, [eax + 2]
cmp byte [ebp - 0xc2], 0
je 0x47c850
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0x11c]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0x124], 0xffffffff
lea eax, [eax + ecx*2]
mov dword [ebp - 0x100], eax
mov esi, dword [ebp - 0x11c]
xor eax, eax
cmp byte [ebp - 0xc8], al
setne al
xor ecx, ecx
add edx, eax
mov eax, esi
movzx esi, word [esi]
test si, si
mov esi, dword [ebp - 0xd0]
je 0x47c8f3
mov edi, dword [ebp - 0xc0]
mov esi, eax
mov ebx, dword [ebp - 0x104]
movzx ecx, word [esi]
xor esi, esi
nop dword [eax]
cmp cx, 0xa
jne 0x47c8c3
inc esi
cmp edi, 0xffffffff
jne 0x47c8a7
cmp eax, ebx
jb 0x47c8a7
dec edx
mov edi, esi
test edx, edx
jle 0x47c8cf
cmp dword [ebp - 0x124], 0xffffffff
jne 0x47c8c3
cmp eax, dword [ebp - 0x100]
jb 0x47c8c3
dec edx
mov dword [ebp - 0x124], esi
test edx, edx
jle 0x47c8cf
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x47c890
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xc0], edi
mov edi, dword [0x56e280]
mov eax, dword [ebp - 0xc0]
inc ecx
mov edx, dword [ebp - 0x104]
cmp eax, 0xffffffff
mov dword [ebp - 0xf4], ecx
cmove eax, ecx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x124]
cmp eax, 0xffffffff
cmove eax, ecx
mov ecx, edx
mov dword [ebp - 0x124], eax
cmp edx, dword [ebp - 0x11c]
jbe 0x47c948
mov esi, dword [ebp - 0x11c]
cmp word [ecx - 2], 0xa
je 0x47c942
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x47c934
mov esi, dword [ebp - 0xd0]
mov eax, dword [edi + 0x18d8]
movaps xmm1, xmm6
movss xmm3, dword [edi + 0x18dc]
movaps xmm4, xmm6
divss xmm3, dword [eax + 0x10]
cmp ecx, edx
jae 0x47c9b3
mov ebx, eax
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x47c97b
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x47c9a9
cmp eax, 0xd
je 0x47c9a9
mov edx, eax
cmp edx, dword [ebx]
jge 0x47c990
mov eax, dword [ebx + 8]
movss xmm2, dword [eax + edx*4]
jmp 0x47c995
movss xmm2, dword [ebx + 0xc]
mov edx, dword [ebp - 0x104]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm4
movaps xmm4, xmm0
cmp ecx, edx
jb 0x47c967
mov ebx, dword [ebp - 0x110]
cmp dword [ebp - 0x124], 0
maxss xmm4, xmm1
mov eax, dword [ebp - 0xc0]
movss xmm3, dword [esi + 0x18dc]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x158], xmm4
mulss xmm5, xmm3
movss dword [ebp - 8], xmm5
jl 0x47caa1
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x11c]
cmp ecx, edx
jbe 0x47ca0e
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x47ca0e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x47ca00
movaps xmm1, xmm6
mov eax, dword [edi + 0x18d8]
movaps xmm7, xmm6
movss xmm2, dword [edi + 0x18dc]
mov dword [ebp - 0x134], eax
divss xmm2, dword [eax + 0x10]
cmp ecx, dword [ebp - 0x100]
jae 0x47ca86
mov esi, dword [ebp - 0x100]
mov edi, eax
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x47ca54
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x47ca76
cmp eax, 0xd
je 0x47ca76
mov edx, eax
cmp edx, dword [edi]
jge 0x47ca69
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x47ca6e
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, esi
jb 0x47ca40
mov edi, dword [0x56e280]
mov esi, dword [ebp - 0xd0]
movd xmm0, dword [ebp - 0x124]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x134], xmm0
mov ecx, dword [ebp - 0xc8]
test cl, cl
je 0x47cad7
movd xmm0, dword [ebp - 0xf4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0xfc]
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xf8], xmm0
jmp 0x47cadf
movss xmm3, dword [ebp - 0xfc]
cmp byte [ebp - 0xb0], 0
je 0x47cbd7
cmp byte [ebx + 0xe64], 0
je 0x47cbd7
test dword [ebp + 0x14], 0x1000
jne 0x47cb46
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x551090]
movaps xmm1, xmm4
jbe 0x47cb27
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x47cb34
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x47cb4d
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x47cb4d
mov dword [ebx + 0x38], 0
test cl, cl
je 0x47cb9f
mov eax, dword [ebp - 0x10c]
movaps xmm1, xmm5
subss xmm1, dword [esi + 0x18dc]
movss xmm4, dword [eax + 0x54]
comiss xmm4, xmm1
jbe 0x47cb75
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x47cb84
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0x118]
maxss xmm0, xmm4
subss xmm4, xmm0
movss dword [eax + 0x54], xmm0
addss xmm4, dword [ebp - 0xe0]
movss dword [ebp - 0xe0], xmm4
jmp 0x47cba7
movss xmm4, dword [ebp - 0xe0]
mov byte [ebx + 0xe64], 0
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x148], xmm0
jmp 0x47cbdf
movss xmm4, dword [ebp - 0xe0]
cmp byte [ebp - 0xc2], 0
movss xmm0, dword [ebx + 0x38]
movss xmm5, dword [ebp - 0xe4]
movss dword [ebp - 0xc0], xmm4
movss dword [ebp - 0x118], xmm0
je 0x47cf88
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x11c]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb0], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x11c]
lea edx, [eax + edx*2]
mov dword [ebp - 0xfc], edx
je 0x47cc44
movss xmm1, dword [0x551130]
jmp 0x47cc4c
movss xmm1, dword [0x5510e0]
mov ecx, 0x2a
call fcn.004573c0
mov ecx, dword [ebp - 0xc8]
xorps xmm6, xmm6
mov dword [ebp - 0x100], eax
test cl, cl
je 0x47cc7b
movss dword [ebp - 0x104], xmm6
movss dword [ebp - 0xf4], xmm6
jmp 0x47cc9b
movss xmm0, dword [0x5511f0]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0x551148]
movss dword [ebp - 0xf4], xmm0
movss xmm5, dword [ebp - 0xc0]
movss xmm4, dword [ebp - 0xe4]
addss xmm4, xmm7
movss xmm7, dword [ebp - 0x118]
addss xmm5, dword [ebp - 0x134]
subss xmm4, xmm7
subss xmm5, xmm6
movss dword [ebp - 0x134], xmm5
cmp esi, edx
jae 0x47cf70
movss xmm0, dword [ebp - 0x108]
movss xmm1, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0x100]
movss xmm7, dword [ecx + 0x18dc]
addss xmm0, xmm7
comiss xmm5, xmm0
ja 0x47cf44
comiss xmm1, xmm5
jbe 0x47cd2c
cmp esi, edx
jae 0x47cd1f
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x47cd1f
cmp esi, edx
jb 0x47cd10
movss xmm0, dword [ebp - 0x108]
jmp 0x47cf16
xorps xmm2, xmm2
mov edx, dword [edi + 0x18d8]
movss xmm3, dword [edi + 0x18dc]
divss xmm3, dword [edx + 0x10]
cmp esi, dword [ebp - 0xfc]
jae 0x47cd9d
nop word [eax + eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x47cd8a
cmp eax, 0xd
je 0x47cd80
mov ecx, eax
cmp ecx, dword [edx]
jge 0x47cd70
mov eax, dword [edx + 8]
movss xmm1, dword [eax + ecx*4]
jmp 0x47cd75
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
cmp esi, dword [ebp - 0xfc]
jb 0x47cd50
jmp 0x47cd97
xorps xmm0, xmm0
movaps xmm6, xmm0
maxss xmm6, xmm2
movaps xmm2, xmm0
mov ecx, dword [ebp - 0xd0]
maxss xmm2, xmm6
xorps xmm6, xmm6
comiss xmm6, xmm2
jb 0x47cdd9
mov eax, dword [ecx + 0x18d8]
cmp dword [eax], 0x20
jle 0x47cdc1
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x47cdc6
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x5510c8]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm0, dword [ebp - 0x104]
movaps xmm3, xmm4
subss xmm0, xmm7
movaps xmm1, xmm5
addss xmm1, dword [ebp - 0xf4]
addss xmm3, xmm2
movaps xmm2, xmm5
addss xmm4, xmm6
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x108]
minss xmm1, xmm0
minss xmm3, dword [ebp - 0xb8]
maxss xmm4, dword [ebp - 0x148]
maxss xmm2, dword [ebp - 0x20]
comiss xmm1, dword [ebp - 0x20]
movss dword [ebp - 0x128], xmm4
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x34], eax
movss dword [ebp - 0x124], xmm2
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x30], eax
movss dword [ebp - 0x120], xmm3
mov eax, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x28], eax
jbe 0x47cf0b
comiss xmm0, xmm2
jbe 0x47cf0b
comiss xmm3, dword [ebp - 0x148]
jbe 0x47cf0b
movss xmm1, dword [ebp - 0xb8]
comiss xmm1, xmm4
jbe 0x47cf0b
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x290]
mov dword [ebp - 0x100], eax
test ebx, 0xff000000
je 0x47cf0b
push 4
push 6
mov ecx, eax
call fcn.0046ea90
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x2c]
push ebx
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0046eb90
movss xmm1, dword [ebp - 0x1c]
xorps xmm6, xmm6
movss xmm0, dword [ebp - 0x18]
mov edi, dword [0x56e280]
movss xmm5, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xd0]
movss dword [ebp - 0xb8], xmm1
movss xmm1, dword [ebp - 0x24]
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x148], xmm1
mov edx, dword [ebp - 0xfc]
movss xmm1, dword [ebp - 0x20]
movss xmm4, dword [ebp - 0xe4]
movss xmm7, dword [ebp - 0x118]
subss xmm4, xmm7
addss xmm5, dword [ecx + 0x18dc]
movss dword [ebp - 0x134], xmm5
cmp esi, edx
jb 0x47ccf0
jmp 0x47cf4c
movss xmm7, dword [ebp - 0x118]
movss xmm4, dword [ebp - 0xc0]
movss xmm5, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0x110]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc8]
jmp 0x47cf90
movss xmm4, dword [ebp - 0xc0]
movss xmm5, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd0]
jmp 0x47cf90
movss xmm7, dword [ebp - 0x118]
mov edx, dword [ebp - 0xf0]
test cl, cl
jne 0x47cfad
mov eax, edx
sub eax, dword [ebp - 0xd4]
cmp eax, 0x200000
jge 0x47d211
movups xmm0, xmmword [edi + 0x15d8]
movss xmm2, dword [edi + 0x1520]
movups xmmword [ebp - 0x34], xmm0
movss xmm1, dword [ebp - 0x34]
comiss xmm6, xmm1
shufps xmm0, xmm0, 0xff
mulss xmm2, xmm0
jbe 0x47cfd7
movaps xmm0, xmm6
jmp 0x47cfe3
movss xmm0, dword [0x551130]
minss xmm0, xmm1
movss xmm1, dword [0x5511ac]
movss xmm3, dword [ebp - 0x30]
comiss xmm6, xmm3
mulss xmm0, xmm1
addss xmm0, dword [0x5510c8]
cvttss2si ecx, xmm0
jbe 0x47d00a
movaps xmm0, xmm6
jmp 0x47d016
movss xmm0, dword [0x551130]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x2c]
mulss xmm0, xmm1
addss xmm0, dword [0x5510c8]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x47d03a
movaps xmm0, xmm6
jmp 0x47d046
movss xmm0, dword [0x551130]
minss xmm0, xmm3
movss xmm3, dword [0x5510c8]
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm2
jbe 0x47d069
movaps xmm0, xmm6
jmp 0x47d075
movss xmm0, dword [0x551130]
minss xmm0, xmm2
mulss xmm0, xmm1
mov dword [ebp - 0xb8], edx
lea edx, [ebp - 0x24]
movss xmm2, dword [esi + 0x18dc]
mov dword [ebp - 0x134], 0
addss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm5
subss xmm0, xmm7
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x10c]
cmp byte [ebp - 0xc8], 0
mov dword [ebp - 0x104], eax
cmovne edx, dword [ebp - 0x134]
mov ecx, dword [ecx + 0x290]
movss dword [ebp - 0x14c], xmm0
movaps xmm0, xmm4
mov dword [ebp - 0xf4], ecx
subss xmm0, xmm6
movss dword [ebp - 0x148], xmm0
test eax, 0xff000000
je 0x47d211
cmp dword [ebp - 0xf0], 0
jne 0x47d12b
mov ecx, dword [ebp - 0xd4]
lea eax, [ecx + 1]
mov dword [ebp - 0x134], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d108
sub ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xd4]
add eax, ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xb8], eax
jmp 0x47d131
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0xd4], eax
je 0x47d211
mov edi, dword [esi + 0x18d8]
test edi, edi
jne 0x47d14d
mov eax, dword [ecx + 0x28]
mov edi, dword [eax + 8]
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x47d15e
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0x140], xmm0
test edx, edx
je 0x47d1cc
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x140]
comiss xmm0, xmm1
jae 0x47d186
movss dword [ebp - 0x140], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x13c]
comiss xmm0, xmm1
jae 0x47d1a0
movss dword [ebp - 0x13c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x138]
ja 0x47d1b6
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x134]
ja 0x47d1cc
movss dword [ebp - 0x134], xmm0
push dword [ebp - 0x148]
test edx, edx
mov edx, dword [ebp - 0xb8]
push dword [ebp - 0x14c]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x140]
push edx
push dword [ebp - 0xd4]
push eax
push dword [ebp - 0x104]
push ecx
mov ecx, edi
call fcn.00474110
mov edi, dword [0x56e280]
cmp byte [ebp - 0xb0], 0
je 0x47d3c5
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
je 0x47d283
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x47d283
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
fld qword [ebp - 0x138]
fld qword [0x551140]
call fcn.00507a6a
movss xmm0, dword [0x55110c]
fstp qword [ebp - 0x138]
movsd xmm1, qword [ebp - 0x138]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x47d283
xor al, al
jmp 0x47d285
mov al, 1
movss xmm0, dword [ebp - 0xc0]
movss xmm4, dword [ebp - 0xe4]
movss xmm5, dword [0x551130]
addss xmm0, dword [ebp - 8]
addss xmm4, dword [ebp - 0x158]
subss xmm0, dword [0x551050]
subss xmm4, dword [ebp - 0x118]
movss dword [ebp - 0xc0], xmm0
movaps xmm1, xmm0
movss dword [ebp - 8], xmm4
movaps xmm3, xmm4
movss dword [ebp - 0x34], xmm4
movaps xmm2, xmm0
addss xmm3, xmm5
subss xmm1, dword [esi + 0x18dc]
subss xmm2, dword [0x55113c]
movss dword [ebp - 0x2c], xmm3
addss xmm1, dword [0x5510c8]
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x30], xmm1
test al, al
je 0x47d38c
comiss xmm2, dword [ebp - 0x20]
jbe 0x47d38c
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm1
jbe 0x47d384
comiss xmm3, dword [ebp - 0x24]
jbe 0x47d384
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x47d384
sub esp, 8
movss dword [ebp - 0x15c], xmm4
movaps xmm1, xmm5
movss dword [ebp - 0x158], xmm2
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.004573c0
add esp, 4
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x290]
call fcn.00470580
mov edi, dword [0x56e280]
movss xmm4, dword [ebp - 8]
movss xmm5, dword [0x551130]
movss xmm0, dword [ebp - 0xc0]
cmp byte [ebp - 0xcc], 0
mov ebx, dword [ebp - 0xf0]
jne 0x47d3cb
subss xmm0, dword [esi + 0x18dc]
subss xmm4, xmm5
movss dword [ebp - 8], xmm0
movss dword [ebp - 0xc], xmm4
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x2e08], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x2e0c], eax
jmp 0x47d3cb
mov ebx, dword [ebp - 0xf0]
cmp byte [ebp - 0xc8], 0
je 0x47d490
mov eax, dword [edi + 0x1a18]
movss xmm1, dword [esi + 0x18dc]
movss xmm2, dword [ebp - 0xf8]
addss xmm2, dword [0x551050]
addss xmm1, dword [ebp - 0xbc]
mov byte [eax + 0x7c], 1
mov ecx, dword [edi + 0x1a18]
movss dword [ebp - 0x15c], xmm2
movss dword [ebp - 0x158], xmm1
cmp byte [ecx + 0x7f], 0
jne 0x47d480
movss xmm0, dword [ecx + 0xc8]
mov eax, dword [ecx + 0xc8]
addss xmm0, xmm2
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0xcc]
mov dword [ebp - 0x30], eax
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ecx + 0xcc]
lea ecx, [ebp - 0x15c]
mov eax, dword [ebp - 0xc]
addss xmm0, xmm1
movss xmm1, dword [0x5511f0]
mov dword [ebp - 0x2c], eax
movss dword [ebp - 8], xmm0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
call fcn.00460fb0
push 0
xor edx, edx
lea ecx, [ebp - 0x34]
call fcn.004610f0
add esp, 4
call fcn.0045c140
call fcn.00461500
mov edi, dword [0x56e280]
mov eax, dword [ebp - 0x144]
test al, al
je 0x47d4ab
call fcn.00460c20
mov edi, dword [0x56e280]
mov eax, dword [ebp - 0x144]
cmp byte [esi + 0x2e44], 0
je 0x47d4d3
test al, al
jne 0x47d4d3
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xe4]
push ebx
call fcn.004657a0
mov edi, dword [0x56e280]
add esp, 4
movss xmm0, dword [ebp - 0x154]
comiss xmm0, dword [0x551050]
jbe 0x47d532
movss xmm0, dword [esi + 0x1570]
xor edx, edx
addss xmm0, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x150]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [esi + 0x155c]
addss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0xe0], xmm0
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push 1
call fcn.00457520
mov edi, dword [0x56e280]
add esp, 0xc
mov dl, byte [ebp - 0xe9]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x47d55d
test ecx, 0x200000
jne 0x47d55d
mov eax, dword [edi + 0x1a18]
mov word [edi + 0x1a5f], 0x101
or dword [eax + 0x110], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xc1]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d7d33
mov esp, ebp
pop ebp
ret