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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x571180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [0x57bab8]
push edi
mov edi, esi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x154], ecx
mov eax, dword [edi + 0x1a00]
mov dword [ebp - 0x104], edi
mov byte [eax + 0x7c], 1
mov ebx, dword [edi + 0x1a00]
mov dword [ebp - 0x110], ebx
cmp byte [ebx + 0x7f], 0
jne 0x46b7a9
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0xd4], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xcc], 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 - 0x100], eax
test dl, dl
je 0x46b49e
call fcn.0044d320
mov esi, dword [0x57bab8]
mov ecx, dword [ebx + 0xbc]
xor edx, edx
mov eax, dword [ebx + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x154]
call fcn.00442b20
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [esi + 0x1a34], eax
jne 0x46b4d2
mov dword [esi + 0x1a38], eax
cmp dword [esi + 0x1a6c], eax
jne 0x46b4e1
mov byte [esi + 0x1a70], 1
mov eax, dword [ebp - 0x154]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x46b506
nop
mov dl, byte [ecx]
test dl, dl
je 0x46b506
cmp dl, 0x23
jne 0x46b500
cmp byte [ecx + 1], dl
je 0x46b506
inc ecx
cmp ecx, 0xffffffff
jb 0x46b4f0
movss xmm2, dword [esi + 0x18d0]
cmp eax, ecx
jne 0x46b51f
xorps xmm6, xmm6
movss dword [ebp - 0x158], xmm6
jmp 0x46b573
movss xmm3, dword [0x550b90]
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18cc]
lea eax, [ebp - 0x11c]
mov dword [esp], 0xbf800000
push eax
call fcn.004602e0
movss xmm0, dword [ebp - 0x11c]
xorps xmm6, xmm6
addss xmm0, dword [0x5509c4]
movss xmm2, dword [ebp - 0x118]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x158], xmm0
mov edx, dword [ebp - 0xcc]
test dl, dl
je 0x46b58d
movss xmm2, dword [edi + 0x18d0]
mulss xmm2, dword [0x550b08]
test byte [esi + 0x1ad8], 1
mov eax, dword [esi + 0x1a00]
je 0x46b5a6
movss xmm0, dword [esi + 0x1adc]
jmp 0x46b5ae
movss xmm0, dword [eax + 0x1a8]
comiss xmm6, xmm0
jbe 0x46b5e4
cmp dword [eax + 0x190], 0
movss xmm1, dword [eax + 0x244]
je 0x46b5cc
movss xmm1, dword [eax + 0x224]
subss xmm1, dword [eax + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x5509c8]
maxss xmm0, xmm1
movss xmm5, dword [edi + 0x1554]
xorps xmm1, xmm1
mov ecx, dword [esi + 0x1a00]
movaps xmm3, xmm5
cvttss2si eax, xmm0
addss xmm3, xmm5
xorps xmm0, xmm0
movd xmm4, eax
mov eax, dword [ebp - 8]
addss xmm3, xmm2
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm2, dword [eax + 4]
movss dword [ebp - 0x124], xmm7
movss dword [ebp - 0x114], xmm2
ja 0x46b634
comiss xmm6, xmm2
jbe 0x46b655
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x244]
movss xmm1, dword [ecx + 0x248]
je 0x46b655
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x550ad4]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x46b66b
movaps xmm7, xmm4
jmp 0x46b683
comiss xmm6, xmm7
jbe 0x46b68b
subss xmm0, dword [ecx + 0xc8]
addss xmm0, xmm7
movaps xmm7, xmm2
maxss xmm7, xmm0
movss dword [ebp - 0x124], xmm7
movss xmm0, dword [ebp - 0x114]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x46b6a6
movss dword [ebp - 0x114], xmm3
jmp 0x46b6c6
comiss xmm6, xmm0
jbe 0x46b6c6
subss xmm1, dword [ecx + 0xcc]
addss xmm1, xmm0
movaps xmm0, xmm2
maxss xmm0, xmm1
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x158]
comiss xmm0, xmm6
jbe 0x46b6e0
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x1568]
jmp 0x46b6e3
xorps xmm2, xmm2
movss xmm4, dword [ebx + 0xcc]
movaps xmm1, xmm7
movss xmm3, dword [ebx + 0xc8]
movaps xmm0, xmm4
movss dword [ebp - 0x4c], xmm3
addss xmm1, xmm3
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
mov dword [ebp - 0xf8], ebx
movss dword [ebp - 0x44], xmm1
movss xmm1, dword [ebp - 0x114]
addss xmm1, xmm4
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm7
addss xmm0, xmm2
addss xmm0, xmm3
movss dword [ebp - 0xc], xmm0
test dl, dl
je 0x46b9a3
mov ebx, dword [ebp - 0xc8]
lea eax, [ebp - 0x4c]
push eax
mov edx, ebx
lea ecx, [ebp - 0x14]
call fcn.0044d0b0
add esp, 4
test al, al
jne 0x46b7bc
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x11c]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [edi + 0x1554]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x118], xmm0
call fcn.0044cf80
call fcn.0044d450
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c2b19
mov esp, ebp
pop ebp
ret
mov esi, dword [0x57bab8]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 3
movups xmm0, xmmword [esi + 0x15fc]
lea ecx, [esi + 0x1aec]
movups xmmword [ebp - 0x24], xmm0
call fcn.004524c0
movups xmm0, xmmword [edi + 0x163c]
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 6
push eax
movups xmmword [esi + 0x15fc], xmm0
mov esi, dword [0x57bab8]
movss xmm0, dword [edi + 0x1558]
movss dword [ebp - 8], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1af8]
movss dword [ebp - 0x11c], xmm0
call fcn.00452400
movss xmm0, dword [ebp - 8]
lea eax, [ebp - 0x120]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x57bab8]
movss xmm0, dword [edi + 0x155c]
movss dword [ebp - 8], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1af8]
mov dword [ebp - 0x120], 7
movss dword [ebp - 0x11c], xmm0
call fcn.00452400
movss xmm0, dword [ebp - 8]
lea eax, [ebp - 0x120]
movss dword [esi + 0x1544], xmm0
mov esi, dword [0x57bab8]
push eax
mov dword [ebp - 0x120], 1
movss xmm0, dword [esi + 0x151c]
lea ecx, [esi + 0x1af8]
movss xmm1, dword [esi + 0x1520]
movss dword [ebp - 0x11c], xmm0
movss dword [ebp - 0x118], xmm1
call fcn.00452400
movss xmm0, dword [ebp - 0x44]
mov edx, ebx
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [edi + 0x1550]
mov ecx, dword [edi + 0x1554]
push 0x10004
mov dword [esi + 0x151c], eax
lea eax, [ebp - 0x11c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
mov dword [esi + 0x1520], ecx
mov ecx, dword [ebp - 0x154]
push 1
push eax
movss dword [ebp - 0x118], xmm0
call fcn.00447ea0
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.00443480
mov esi, dword [0x57bab8]
mov ecx, dword [esi + 0x1aec]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1af4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15cc], xmm0
dec dword [esi + 0x1aec]
test bl, bl
jne 0x46b96e
call fcn.00448150
jmp 0x46b7a4
mov ebx, dword [edi + 0x1a00]
movss xmm0, dword [ebp - 0x124]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf8], ebx
subss xmm0, dword [ebx + 0x70]
mov eax, dword [ebx + 0x138]
or dword [ebx + 0x140], eax
movss dword [ebp - 0x124], xmm0
jmp 0x46b9e8
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x11c]
movss dword [ebp - 0x118], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x11c], xmm0
call fcn.0044cf80
mov esi, dword [ebp - 0xc8]
lea eax, [ebp - 0x4c]
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.0044d0b0
add esp, 4
test al, al
je 0x46b7a9
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00444d80
mov byte [ebp - 0xae], al
test al, al
je 0x46ba06
mov dword [edi + 0x1d94], 1
mov ebx, dword [0x57bab8]
xor eax, eax
add ebx, 0x1e64
mov edx, esi
cmp dword [ebx], esi
mov esi, dword [ebp - 0x110]
mov ecx, esi
cmovne ebx, eax
mov dword [ebp - 0x12c], ebx
call fcn.00444fe0
mov byte [ebp - 0xd6], al
test al, al
je 0x46baae
cmp dword [edi + 0x1c40], esi
jne 0x46baae
mov ecx, dword [edi + 0x1c48]
cmp ecx, dword [esi + 0x19c]
jne 0x46baae
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xbe], 0
cmp byte [ebp - 0xae], 0
je 0x46ba75
cmp byte [edi + 0x3e0], 0
mov byte [ebp - 0xb5], 1
jne 0x46ba7c
mov byte [ebp - 0xb5], 0
mov esi, dword [edi + 0x1a34]
mov eax, dword [ebp - 0xc8]
cmp esi, eax
je 0x46bac9
cmp dword [edi + 0x1b40], eax
je 0x46baa5
cmp dword [edi + 0x1b34], eax
jne 0x46bac9
cmp dword [edi + 0x1b58], 3
jne 0x46bac9
mov byte [ebp - 0xad], 1
jmp 0x46bad0
mov byte [ebp - 0xaf], 0
test al, al
je 0x46ba55
mov byte [ebp - 0xbe], 1
mov byte [ebp - 0xaf], 0
jmp 0x46ba5c
mov byte [ebp - 0xad], 0
mov eax, dword [ebp - 0xcc]
test al, al
je 0x46bb1e
test ebx, ebx
je 0x46bb1e
test esi, esi
jne 0x46bb1e
mov eax, dword [ebp - 0xf8]
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.00442b20
add esp, 4
cmp dword [edi + 0x1a6c], eax
jne 0x46bb18
mov byte [ebp - 0xb6], 1
jmp 0x46bb34
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0xb6], 0
test al, al
je 0x46bb61
mov byte [ebp - 0xb6], 0
test ebx, ebx
je 0x46bb61
mov eax, dword [ebp - 0xf8]
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.00442b20
add esp, 4
cmp esi, eax
jne 0x46bb61
mov al, 1
jmp 0x46bb63
xor al, al
mov edx, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xad]
mov byte [ebp - 0xb7], al
mov byte [ebp - 0xcd], 0
cmp esi, edx
je 0x46bb9a
test byte [ebp + 0x14], 0x10
jne 0x46bb8a
test cl, cl
je 0x46bb9a
cmp byte [ebp - 0xcc], 0
mov byte [ebp - 0xdc], 1
je 0x46bba1
mov byte [ebp - 0xdc], 0
cmp byte [ebp - 0xd6], 0
jne 0x46bbd5
cmp byte [ebp - 0xb5], 0
jne 0x46bbd5
cmp byte [ebp - 0xb6], 0
jne 0x46bbd5
test cl, cl
jne 0x46bbd5
mov byte [ebp - 0xb6], cl
test al, al
jne 0x46bbdc
mov byte [ebp - 0xbd], al
jmp 0x46be18
mov byte [ebp - 0xb6], 1
mov byte [ebp - 0xbd], 1
cmp esi, edx
je 0x46be18
mov ecx, dword [ebp - 0xc4]
lea ebx, [edi + 0x1e64]
mov dword [ebp - 0x12c], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46bc10
mov eax, dword [ebx + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x46bc4d
test eax, eax
je 0x46bc36
cdq
sub eax, edx
lea edx, [ebx + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x46bc3e
mov ecx, 8
lea edx, [ebx + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00452900
push esi
push dword [ebp - 0xc4]
mov dword [ebx + 0x24], esi
push dword [ebx + 0x2c]
call fcn.004c51e0
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0xbc], edx
cmp edx, esi
jle 0x46bcab
test esi, esi
je 0x46bc8d
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x46bc92
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00452970
mov edx, dword [ebp - 0xbc]
lea eax, [ebx + 0xc]
mov dword [eax], edx
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x46bccd
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.00452900
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc4]
dec ecx
mov dword [ebx + 0x18], 0
mov edx, dword [ebx + 0x14]
mov esi, edx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xbc], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x46bd3c
mov edi, eax
cmp byte [edi], 0
je 0x46bd2a
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442d90
mov edx, dword [ebp - 0xbc]
add edi, eax
mov eax, dword [ebp - 8]
add esp, 4
test eax, eax
je 0x46bd2a
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x46bcf6
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0xc4]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 4], esi
cmp dword [ebx], eax
jne 0x46bd7f
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x46bde0
mov dword [ebx], eax
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0xe58], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x50], ecx
mov ecx, dword [ebp - 0xcc]
mov al, cl
xor al, 1
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x48], 0x10000
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x46bde6
mov ecx, dword [ebp - 0xdc]
mov eax, 1
cmp byte [ebp - 0xaf], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp + 0x14]
test edx, 0x2000
je 0x46bdf5
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x46be18
cmp byte [ebp - 0xbe], cl
jne 0x46be11
cmp byte [ebp - 0xb5], cl
je 0x46be18
cmp byte [edi + 0x100], cl
je 0x46be18
mov byte [ebp - 0xdc], 1
mov esi, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], esi
je 0x46bed3
cmp byte [ebp - 0xb6], 0
je 0x46becb
mov edx, dword [ebp - 0x110]
mov ecx, esi
call fcn.00444bc0
call fcn.0044eb80
mov ecx, edx
call fcn.0044c8f0
mov eax, dword [edi + 0x1a48]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xcc], 0
mov dword [edi + 0x1a48], eax
jne 0x46be6f
test dl, dl
jns 0x46be78
or eax, 0xc
mov dword [edi + 0x1a48], eax
mov eax, dword [edi + 0x1a50]
or dword [edi + 0x1a4c], 2
or eax, 0x180
cmp byte [ebp - 0xcc], 0
mov ecx, dword [edi + 0x1a54]
mov dword [edi + 0x1a50], eax
mov dword [edi + 0x1a54], ecx
je 0x46beb4
or eax, 0x60
mov dword [edi + 0x1a54], ecx
mov dword [edi + 0x1a50], eax
test edx, 0x440
je 0x46becb
or eax, 1
mov dword [edi + 0x1a54], ecx
mov dword [edi + 0x1a50], eax
cmp dword [edi + 0x1a34], esi
jne 0x46bf0e
test ebx, ebx
jne 0x46bee0
xor edx, edx
xor ecx, ecx
call fcn.00444bc0
cmp dword [edi + 0x1a34], esi
jne 0x46bf0e
cmp byte [edi + 0x3e0], 0
je 0x46bf1b
cmp byte [ebp - 0xbd], 0
jne 0x46bf1b
cmp byte [ebp - 0xb6], 0
jne 0x46bf1b
mov byte [ebp - 0xcd], 1
mov cl, 1
jmp 0x46bf21
test ebx, ebx
je 0x46bf1f
cmp byte [ebp - 0xb7], 0
je 0x46bf1f
mov cl, 1
jmp 0x46bf21
xor cl, cl
mov byte [ebp - 0xb5], cl
test ebx, ebx
je 0x46bf3e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46bf3e
test cl, cl
je 0x46bf3e
mov edx, 1
jmp 0x46bf40
xor dl, dl
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x108], edx
mov byte [ebp - 0xd5], dl
mov byte [ebp - 0xd6], 0
mov byte [ebp - 0xbe], 0
test al, al
je 0x46c073
test ebx, ebx
je 0x46c073
test cl, cl
jne 0x46bf7c
test dl, dl
je 0x46c07b
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x10]
inc esi
cmp esi, eax
jle 0x46bfb1
test eax, eax
je 0x46bf9a
cdq
sub eax, edx
lea edx, [ebx + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x46bfa2
mov ecx, 8
lea edx, [ebx + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00452970
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0xc], esi
mov edx, dword [ebx + 0x14]
mov esi, edx
mov dword [ebp - 0xbc], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x46c016
mov edi, eax
cmp byte [edi], 0
je 0x46c004
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442d90
mov edx, dword [ebp - 0xbc]
add edi, eax
mov eax, dword [ebp - 8]
add esp, 4
test eax, eax
je 0x46c004
mov ecx, dword [ebp + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x46bfd1
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0xc4]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dword [ebx + 4], 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 + 8], eax
cmovl esi, dword [ebx + 0x44]
xor edx, edx
movzx eax, byte [ebp - 0xd5]
cmp ecx, esi
mov dword [ebx + 0x40], ecx
mov cl, byte [ebp - 0xb5]
cmovne edx, eax
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x108], edx
test cl, cl
jne 0x46c083
test dl, dl
jne 0x46c083
cmp dword [edi + 0x1a34], esi
jne 0x46c097
test al, al
jne 0x46c097
test ebx, ebx
je 0x46c097
mov byte [ebp - 0xd5], 1
cmp byte [ebx + 0x30], al
jne 0x46c09e
mov byte [ebp - 0xd5], 0
cmp byte [ebp - 0x144], 0
je 0x46c145
mov esi, dword [edi + 0x18cc]
cmp dword [esi + 0x14], 0x2a
ja 0x46c0bc
mov eax, dword [esi + 0x2c]
jmp 0x46c0db
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x46c0d2
mov eax, dword [esi + 0x2c]
jmp 0x46c0db
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xb4], eax
lea edx, [edi + 0x2cd8]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x18cc]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [edi + 0x18cc]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x18cc]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [edi + 0x18cc]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [edi + 0x18cc]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
call fcn.0044cbc0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x130], 0
cmp dword [edi + 0x1a34], ecx
jne 0x46c589
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0xe68], edx
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
cmp byte [edi + 0xf0], 0
mov dword [edi + 0x2fec], 1
sete al
cmp byte [ebp - 0xcc], 0
mov byte [edi + 0x1a41], al
movss xmm7, dword [edi + 0xe8]
subss xmm7, dword [ebp - 0x4c]
subss xmm7, dword [edi + 0x1550]
addss xmm7, dword [ebx + 0x38]
je 0x46c1ea
mov eax, dword [ebp - 0xf8]
movss xmm2, dword [edi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edi + 0x1554]
jmp 0x46c1fa
movss xmm2, dword [edi + 0x18d0]
mulss xmm2, dword [0x550994]
cmp byte [ebp - 0xdc], 0
mov al, byte [edi + 0xb1]
mov byte [ebp - 0xaf], al
jne 0x46c376
mov cl, byte [ebp - 0xae]
test cl, cl
je 0x46c22d
test al, al
jne 0x46c292
cmp byte [edi + 0x3e5], al
jne 0x46c376
cmp byte [edi + 0x3e0], 0
je 0x46c2e9
cmp byte [ebx + 0xe65], 0
jne 0x46c2e9
test cl, cl
je 0x46c397
cmp byte [ebx + 0x4c], 0
je 0x46c269
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.00469b10
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00469e40
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x46c391
cmp byte [edi + 0x3e5], 0
je 0x46c22d
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a230
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.0046a230
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x46c391
cmp byte [edi + 0xf0], 0
je 0x46c397
cmp byte [ebx + 0xe65], 0
jne 0x46c3a0
movss xmm0, dword [edi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x46c328
movss xmm0, dword [edi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x46c397
cmp byte [ebx + 0x4c], 0
je 0x46c342
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.00469b10
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46c350
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00469e40
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x46c391
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 - 0xaf]
cmp byte [ebx + 0xe65], 0
je 0x46c3b0
cmp byte [edi + 0xf0], 0
jne 0x46c3b0
mov byte [ebx + 0xe65], 0
cmp byte [edi + 0x100], 0
je 0x46c3c2
cmp byte [edi + 0x102], 0
je 0x46c3cf
test al, al
je 0x46c3d8
cmp byte [edi + 0x103], 0
je 0x46c3d8
mov byte [ebp - 0xae], 1
jmp 0x46c3df
mov byte [ebp - 0xae], 0
test edx, 0x400
je 0x46c49a
mov esi, dword [0x57bab8]
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x46c4a0
call fcn.00447d80
mov ecx, dword [ebp - 0xd4]
test al, al
mov al, byte [ebp - 0xae]
je 0x46c4ac
test al, al
jne 0x46c4ac
cmp byte [edi + 0x101], al
jne 0x46c4ac
test cl, cl
jne 0x46c4ac
mov ecx, dword [edi + 0x1514]
mov eax, dword [edi + 0x150c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x46c454
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x46c4a0
cmp ecx, edx
jb 0x46c444
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
mov dword [ebp - 0xbc], 9
call fcn.0046b230
add esp, 8
test al, al
je 0x46c49a
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a230
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov esi, dword [0x57bab8]
mov ecx, dword [ebp - 0xd4]
mov al, byte [ebp - 0xae]
cmp dword [edi + 0x150c], 0
jle 0x46c58f
test al, al
jne 0x46c549
test cl, cl
jne 0x46c549
cmp byte [ebp - 0xad], cl
jne 0x46c549
xor esi, esi
nop word [eax + eax]
mov eax, dword [edi + 0x1514]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xbc], eax
cmp eax, 9
jne 0x46c4fe
cmp byte [edi + 0x101], 0
jne 0x46c53a
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
call fcn.0046b230
add esp, 8
test al, al
je 0x46c53a
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a230
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [edi + 0x150c]
jl 0x46c4e0
mov esi, dword [0x57bab8]
mov ecx, dword [edi + 0x1510]
lea eax, [edi + 0x150c]
test ecx, ecx
jns 0x46c581
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x150c]
call fcn.00452970
mov esi, dword [0x57bab8]
lea eax, [edi + 0x150c]
mov dword [eax], 0
jmp 0x46c58f
mov esi, dword [0x57bab8]
mov eax, dword [ebp - 0xc8]
xor cl, cl
mov byte [ebp - 0xad], cl
cmp dword [edi + 0x1a34], eax
jne 0x46d28d
cmp byte [edi + 0x1a40], cl
jne 0x46cf34
cmp byte [ebp - 0xcd], cl
jne 0x46cf34
xor eax, eax
mov ecx, 0x400000
cmp byte [edi + 0x101], al
cmovne eax, ecx
mov dword [ebp - 0xe0], eax
mov al, byte [edi + 0xb1]
mov byte [ebp - 0xfb], al
test al, al
je 0x46c5f9
cmp dword [edi + 0x380], 0xa
jne 0x46c5f9
mov byte [ebp - 0xb7], 1
jmp 0x46c604
mov byte [ebp - 0xb7], 0
test al, al
je 0x46c62f
cmp byte [edi + 0x103], 0
mov al, byte [edi + 0x102]
mov byte [ebp - 0xb6], al
je 0x46c642
cmp byte [edi + 0x100], 0
jne 0x46c642
test al, al
jne 0x46c642
mov byte [ebp - 0xaf], 1
jmp 0x46c649
mov al, byte [edi + 0x100]
mov byte [ebp - 0xb6], al
mov byte [ebp - 0xb7], 0
mov byte [ebp - 0xaf], 0
cmp byte [edi + 0xb1], 0
mov eax, dword [edi + 0x380]
je 0x46c65d
cmp eax, 8
jmp 0x46c660
cmp eax, 1
mov esi, dword [0x57bab8]
sete cl
mov byte [ebp - 0xae], cl
test cl, cl
je 0x46c68c
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x46c68c
call fcn.00447d80
test al, al
jne 0x46c6a1
mov eax, dword [edi + 0x380]
cmp eax, 2
jne 0x46c6cd
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x46c6cd
call fcn.00447d80
test al, al
je 0x46c6cd
cmp byte [ebp - 0xd4], 0
jne 0x46c6cd
cmp byte [ebp - 0x144], 0
jne 0x46c6cd
cmp byte [ebp - 0xcc], 0
je 0x46c6c4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46c6cd
mov byte [ebp - 0xbd], 1
jmp 0x46c6d4
mov byte [ebp - 0xbd], 0
cmp byte [ebp - 0xae], 0
je 0x46c6ed
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x46c6ed
call fcn.00447d80
test al, al
jne 0x46c706
cmp dword [edi + 0x380], 1
jne 0x46c729
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x46c729
call fcn.00447d80
test al, al
je 0x46c729
cmp byte [ebp - 0x144], 0
jne 0x46c729
cmp byte [ebp - 0xcc], 0
je 0x46c720
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46c729
mov byte [ebp - 0xf9], 1
jmp 0x46c730
mov byte [ebp - 0xf9], 0
cmp byte [ebp - 0xae], 0
je 0x46c749
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x46c749
call fcn.00447d80
test al, al
jne 0x46c762
cmp dword [edi + 0x380], 2
jne 0x46c772
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x46c772
call fcn.00447d80
test al, al
je 0x46c772
cmp byte [ebp - 0xd4], 0
mov byte [ebp - 0xfa], 1
je 0x46c779
mov byte [ebp - 0xfa], 0
mov al, byte [ebp - 0xae]
test al, al
je 0x46c7b7
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x46c7b7
call fcn.00447d80
test al, al
je 0x46c7b1
cmp byte [ebp - 0xd4], 0
jne 0x46c7b1
cmp byte [ebp - 0xf4], 0
je 0x46c7b1
mov byte [ebp - 0xe9], 1
jmp 0x46c7c2
mov al, byte [ebp - 0xae]
mov byte [ebp - 0xe9], 0
test al, al
je 0x46c7d5
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x46c7d5
call fcn.00447d80
test al, al
jne 0x46c7f1
cmp byte [ebp - 0xb7], 0
je 0x46c80a
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x46c80a
call fcn.00447d80
test al, al
je 0x46c80a
cmp byte [ebp - 0xd4], 0
jne 0x46c80a
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xb7], 1
jne 0x46c811
mov byte [ebp - 0xb7], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x46c86f
call fcn.00447d80
test al, al
je 0x46c86f
cmp byte [ebp - 0xaf], 0
je 0x46c845
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.0046a230
jmp 0x46cef1
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0xb6], 0
lea edx, [ebx + 0x3c]
cmovne eax, ecx
mov ecx, ebx
or eax, dword [ebp - 0xe0]
push eax
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x46c8ad
call fcn.00447d80
test al, al
je 0x46c8ad
cmp byte [ebp - 0xaf], 0
je 0x46c8a3
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.0046a230
jmp 0x46cef1
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x46c84f
mov ecx, dword [esi + 0x40]
test ecx, ecx
js 0x46c91e
call fcn.00447d80
test al, al
je 0x46c91e
cmp byte [ebp - 0xcc], 0
je 0x46c91e
cmp byte [edi + 0x100], 0
je 0x46c8fa
mov edx, dword [ebp - 0xf8]
xorps xmm5, xmm5
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [edi + 0x18d0]
mov dword [edx + 0x6c], 0
maxss xmm0, xmm5
movss dword [edx + 0x64], xmm0
jmp 0x46cf05
movzx eax, byte [ebp - 0xaf]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0xe0]
push eax
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x44]
test ecx, ecx
js 0x46c993
call fcn.00447d80
test al, al
je 0x46c993
cmp byte [ebp - 0xcc], 0
je 0x46c993
cmp byte [edi + 0x100], 0
je 0x46c96f
mov ecx, dword [ebp - 0xf8]
movss xmm0, dword [edi + 0x18d0]
mov eax, dword [esi + 0x1a00]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
movss dword [ecx + 0x64], xmm0
jmp 0x46cf05
movzx eax, byte [ebp - 0xaf]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0xe0]
push eax
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x46c9d0
call fcn.00447d80
test al, al
je 0x46c9d0
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [edi + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, ebx
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x46ca0d
call fcn.00447d80
test al, al
je 0x46ca0d
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [edi + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, ebx
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x46ca42
call fcn.00447d80
test al, al
je 0x46ca42
cmp byte [ebp - 0xd4], 0
jne 0x46ca42
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, ebx
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x46cae2
call fcn.00447d80
test al, al
je 0x46cae2
cmp byte [ebp - 0xd4], 0
jne 0x46cae2
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46cac6
cmp byte [ebp - 0xb6], 0
je 0x46ca7f
push 0x60000c
jmp 0x46caa8
cmp byte [ebp - 0xfb], 0
je 0x46cac6
cmp byte [edi + 0x103], 0
je 0x46cac6
cmp byte [edi + 0x102], 0
jne 0x46cac6
cmp byte [edi + 0x100], 0
jne 0x46cac6
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a230
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, ebx
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x46caf2
call fcn.00447d80
test al, al
jne 0x46cb06
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x46cb83
call fcn.00447d80
test al, al
je 0x46cb83
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xcc], 0
je 0x46cb27
mov cl, byte [edi + 0x100]
test al, al
je 0x46cb3a
test cl, cl
jne 0x46cb3e
mov byte [ebp - 0xcd], 1
mov byte [ebp - 0xbe], 1
jmp 0x46cf05
test cl, cl
jne 0x46cb27
cmp byte [ebp - 0xd4], 0
jne 0x46cf05
sub esp, 8
mov dword [ebp - 0xbc], 0xa
lea ecx, [ebp - 0xbc]
call fcn.0046b230
add esp, 8
test al, al
je 0x46cf05
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a230
jmp 0x46cef1
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x46cba0
call fcn.00447d80
test al, al
je 0x46cba0
mov cl, 1
mov byte [ebp - 0xcd], cl
jmp 0x46cf0b
mov al, byte [ebp - 0xe9]
test al, al
jne 0x46ced2
cmp byte [ebp - 0xb7], al
jne 0x46ced2
cmp byte [ebp - 0xae], al
je 0x46cbeb
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x46cbeb
call fcn.00447d80
test al, al
je 0x46cbeb
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x46cefe
mov al, byte [ebp - 0xbd]
test al, al
jne 0x46cdc1
cmp byte [ebp - 0xf9], al
jne 0x46cdc1
cmp byte [ebp - 0xfa], al
je 0x46cf05
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x46cc3c
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x46cf05
mov esi, dword [0x57bab8]
jmp 0x46cc47
mov eax, 0x534829
mov dword [ebp - 0xbc], eax
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46cc50
sub ecx, edx
test esi, esi
je 0x46cc63
inc dword [esi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.004d0435
mov esi, dword [ebp - 0xbc]
add esp, 4
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x110], 0
cmp byte [esi], 0
je 0x46ccf0
xor edi, edi
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xb4]
call fcn.00442d90
add esp, 4
add esi, eax
cmp dword [ebp - 0xb4], 0
je 0x46ccd8
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xb4]
sub esp, 8
call fcn.0046b230
add esp, 8
test al, al
je 0x46ccd3
mov ax, word [ebp - 0xb4]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x46cc92
mov ebx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0x110]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x46cd9f
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xbc], edx
mov edx, dword [ebx + 0x40]
cmp edx, dword [ebx + 0x44]
je 0x46cd3a
cmp edx, ecx
jle 0x46cd21
mov dword [ebx + 0x40], ecx
mov edx, ecx
cmp dword [ebx + 0x44], ecx
jle 0x46cd2f
mov dword [ebx + 0x44], ecx
mov dword [ebp - 0xbc], ecx
cmp edx, dword [ebp - 0xbc]
jne 0x46cd3a
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x3c], ecx
jle 0x46cd42
mov dword [ebx + 0x3c], ecx
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a1a0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push esi
push dword [ebp - 0xe4]
call fcn.00469cf0
add esp, 8
test al, al
je 0x46cd7e
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push esi
push 0
call fcn.0046af40
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], esi
jmp 0x46cd92
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x46cd92
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0xe4]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x46cdb3
mov ecx, dword [0x57bab8]
test ecx, ecx
je 0x46cdb3
dec dword [ecx + 0x374]
push eax
call fcn.004cb6de
add esp, 4
jmp 0x46cf05
cmp dword [edi + 0xd4], 0
je 0x46ce93
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x46cde8
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0xb4], edx
jmp 0x46cdf5
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xb4], 0
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xbc], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0xb4]
lea ecx, [eax + ecx*2]
call fcn.00443000
inc eax
mov dword [ebp - 8], eax
test esi, esi
je 0x46ce1d
inc dword [esi + 0x374]
push eax
call fcn.004d0435
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xb4]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x10c]
push ecx
mov ecx, esi
call fcn.00442f30
mov eax, dword [0x57bab8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x46ce76
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x57bab8]
add esp, 8
test esi, esi
je 0x46ce84
test eax, eax
je 0x46ce84
dec dword [eax + 0x374]
push esi
call fcn.004cb6de
mov al, byte [ebp - 0xbd]
add esp, 4
test al, al
je 0x46cf05
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46ceb3
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 0x46cf05
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a1a0
mov byte [ebx + 0x4b], 0
jmp 0x46cf05
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.0046a230
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
mov cl, byte [ebp - 0xad]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46cf20
cmp byte [ebp - 0xb5], 0
je 0x46cf20
mov al, 1
jmp 0x46cf22
xor al, al
or byte [ebp - 0x108], al
mov esi, dword [0x57bab8]
mov eax, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], eax
jne 0x46d28d
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe8], 0
test cl, cl
je 0x46d372
cmp byte [ebp - 0xd4], 0
jne 0x46d161
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebp - 0xc4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46cf92
test dl, dl
je 0x46cf8e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46cf92
add eax, 2
add ecx, 2
test dl, dl
jne 0x46cf72
xor eax, eax
jmp 0x46cf97
sbb eax, eax
or eax, 1
test eax, eax
je 0x46d161
mov eax, dword [ebx + 0x24]
xor edx, edx
mov ecx, dword [ebx + 0x2c]
dec eax
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xdc], edx
test eax, eax
jle 0x46d0c6
lea ebx, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0xb4], eax
test ebx, ebx
je 0x46cfd7
cmp edi, ebx
jae 0x46cffb
cmp byte [edi], 0
je 0x46cffb
push ebx
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442d90
add edi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46cffb
inc eax
jmp 0x46cfc9
mov ebx, dword [ebp - 0x12c]
lea edx, [eax + 1]
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0xbc], edx
test edx, edx
jle 0x46d045
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x46d045
test esi, esi
je 0x46d02e
inc dword [esi + 0x374]
add eax, eax
push eax
call fcn.004d0435
mov edx, dword [ebp - 0xbc]
add esp, 4
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf0]
add ecx, esi
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xdc]
mov eax, ecx
mov dword [ebp - 0xb4], eax
lea ecx, [ecx + edx*2]
add ecx, 0xfffffffe
mov dword [ebp - 0x10c], ecx
cmp eax, ecx
jae 0x46d0c1
mov edi, dword [ebp - 8]
test edi, edi
je 0x46d07f
cmp esi, edi
jae 0x46d0b5
cmp byte [esi], 0
je 0x46d0b5
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442d90
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [ebp - 0xb4]
add esp, 4
test ecx, ecx
je 0x46d0b5
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebp - 0x10c]
jb 0x46d077
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0xbc]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0xe8], ecx
cmovle eax, ecx
lea ecx, [ebx + 0x54]
push eax
push esi
xor edx, edx
mov dword [ebp - 8], eax
call fcn.0046af40
mov edx, eax
add esp, 8
test edx, edx
je 0x46d105
xor ecx, ecx
test esi, esi
jle 0x46d105
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x46d0f5
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00469c90
mov esi, dword [ebp - 8]
add esp, 4
test esi, esi
jle 0x46d139
push esi
push dword [ebp - 0xdc]
xor edx, edx
mov ecx, ebx
call fcn.00469cf0
add esp, 8
test al, al
je 0x46d139
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x4b], 0
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x46d15b
mov eax, dword [0x57bab8]
test eax, eax
je 0x46d152
dec dword [eax + 0x374]
push ecx
call fcn.004cb6de
add esp, 4
mov esi, dword [0x57bab8]
cmp byte [ebp - 0xbe], 0
mov eax, dword [ebp + 0x14]
je 0x46d175
test al, 0x20
jne 0x46d375
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xf0]
test edx, edx
je 0x46d26f
cmp byte [ebp - 0x100], 0
je 0x46d22c
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0xa0], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
xor eax, eax
movlpd qword [ebp - 0x8c], xmm0
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xa4], 0
call eax
mov eax, dword [ebp - 0x98]
add esp, 4
mov esi, dword [0x57bab8]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp + 0xc], eax
lea ecx, [eax - 1]
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0xc], ecx
cmp ecx, 1
jb 0x46d268
jbe 0x46d25d
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp - 0xc4]
call fcn.004c9b50
mov esi, dword [0x57bab8]
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc4]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0xd6], 1
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xcd], 0
mov ecx, dword [ebp - 0xc8]
je 0x46d2b3
cmp dword [edi + 0x1a34], ecx
jne 0x46d2b3
xor edx, edx
xor ecx, ecx
call fcn.00444bc0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
test al, al
jne 0x46d703
mov edx, ecx
lea ecx, [ebp - 0x4c]
push 1
call fcn.004440f0
movss xmm1, dword [0x5509c8]
add esp, 4
mov ecx, 7
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.00443260
movss xmm2, dword [edi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.00443ee0
movss xmm7, dword [ebp - 0x4c]
add esp, 0x10
movss xmm1, dword [ebp - 0x48]
movaps xmm2, xmm7
movss xmm4, dword [ebp - 0x124]
movaps xmm6, xmm7
movss xmm0, dword [ebp - 0x114]
addss xmm2, xmm4
addss xmm6, dword [edi + 0x1550]
mov esi, dword [0x57bab8]
addss xmm0, xmm1
mov eax, dword [ebp - 0xcc]
movaps xmm5, xmm1
addss xmm5, dword [edi + 0x1554]
movss dword [ebp - 0x3c], xmm7
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x14c], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 8], xmm2
movss dword [ebp - 0x10c], xmm0
jmp 0x46d768
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd4], 0
jne 0x46d3e8
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
lea edx, [eax*4 + 1]
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xbc], edx
cmp edx, eax
jle 0x46d3d2
lea esi, [ebx + 0x18]
test eax, eax
je 0x46d3b2
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, dword [esi + 4]
jmp 0x46d3b7
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, esi
push eax
call fcn.00452900
mov esi, dword [0x57bab8]
mov edx, dword [ebp - 0xbc]
mov dword [ebx + 0x18], edx
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.00442f30
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x46d6ac
test al, 0x40
je 0x46d416
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x46d416
call fcn.00447d80
test al, al
je 0x46d413
mov edx, dword [ebp + 0x14]
mov eax, 0x40
xor ecx, ecx
jmp 0x46d46f
mov eax, dword [ebp + 0x14]
test al, al
jns 0x46d454
mov ecx, dword [esi + 0x40]
test ecx, ecx
js 0x46d437
call fcn.00447d80
test al, al
je 0x46d437
mov edx, dword [ebp + 0x14]
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x46d46f
mov ecx, dword [esi + 0x44]
test ecx, ecx
js 0x46d454
call fcn.00447d80
test al, al
je 0x46d454
mov edx, dword [ebp + 0x14]
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x46d46f
mov edx, dword [ebp + 0x14]
mov ecx, 0x100
test edx, 0x100
mov eax, 0
cmovne eax, ecx
mov ecx, 0x16
test eax, eax
je 0x46d6a9
mov dword [ebp - 0x7c], eax
xor esi, esi
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 word [ebp - 0x5b], si
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x6c], ecx
mov ecx, esi
mov dword [ebp - 0x70], 0
lea edx, [esi + eax*2]
mov byte [ebp - 0x59], 0
mov byte [ebp - 0x5c], 0
call fcn.00443000
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00443000
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00443000
mov dword [ebp - 0x13c], 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 0x46d541
mov esi, dword [ebp - 0x68]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d513
cmp esi, edi
jae 0x46d537
cmp byte [esi], 0
je 0x46d537
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442d90
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d537
inc eax
jmp 0x46d505
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x10c]
je 0x46d589
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d562
cmp esi, edi
jae 0x46d586
cmp byte [esi], 0
je 0x46d586
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442d90
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d586
inc eax
jmp 0x46d554
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x13c]
je 0x46d5d1
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d5aa
cmp esi, edi
jae 0x46d5ce
cmp byte [esi], 0
je 0x46d5ce
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442d90
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d5ce
inc eax
jmp 0x46d59c
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x5c], 0
je 0x46d69d
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x130]
cmp esi, ecx
jle 0x46d62a
cmp byte [ebp - 0x100], 0
je 0x46d62a
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x46d628
test edi, edi
je 0x46d610
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x46d615
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00452970
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x13c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x10c], eax
cmp ecx, eax
jae 0x46d681
nop dword [eax]
cmp byte [edi], 0
je 0x46d67b
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442d90
add edi, eax
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x46d67b
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x10c]
jb 0x46d650
mov ecx, dword [ebp - 0x13c]
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 esi, dword [0x57bab8]
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd4], 0
jne 0x46d175
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebx + 0x20]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46d6e2
test dl, dl
je 0x46d6de
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46d6e2
add eax, 2
add ecx, 2
test dl, dl
jne 0x46d6c2
xor eax, eax
jmp 0x46d6e7
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x46d175
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebx + 8]
jmp 0x46d17b
movss xmm1, dword [ebp - 0x4c]
movss xmm4, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x48]
movaps xmm3, xmm4
movss xmm2, dword [ebp - 0x114]
addss xmm3, xmm1
mov ecx, dword [ebp - 0xf8]
addss xmm2, xmm0
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm0
movss xmm6, dword [ecx + 0xc8]
movaps xmm1, xmm3
movss xmm5, dword [ecx + 0xcc]
movaps xmm0, xmm2
movss dword [ebp - 8], xmm3
movss dword [ebp - 0x14c], xmm1
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x10c], xmm2
cmp byte [ebp - 0xd5], 0
xorps xmm1, xmm1
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0xf4], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x13c], xmm5
movss dword [ebp - 0x140], xmm6
movss dword [ebp - 0xdc], xmm5
movss dword [ebp - 0xe8], xmm6
movss dword [ebp - 0x11c], xmm6
movss dword [ebp - 0x118], xmm5
movss dword [ebp - 0x110], xmm1
movss dword [ebp - 0xbc], xmm1
je 0x46d7cf
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0xc4], edx
jmp 0x46d7d5
mov edx, dword [ebp - 0xc4]
cmp byte [ebp - 0xb5], 0
jne 0x46d9e1
cmp byte [ebp - 0x108], 0
jne 0x46d9e1
test al, al
je 0x46d84b
mov ebx, dword [ebp - 0xc4]
xor ecx, ecx
mov dl, byte [edx]
inc ebx
test dl, dl
je 0x46d814
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x46d802
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xc8], ebx
cmp al, 0xa
je 0x46d827
cmp al, 0xd
je 0x46d827
inc ecx
movd xmm7, ecx
movaps xmm1, xmm4
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x110], xmm1
mulss xmm7, dword [edi + 0x18d0]
movss dword [ebp - 0xbc], xmm7
jmp 0x46d88c
mov eax, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], eax
jne 0x46d860
mov ebx, dword [ebx + 8]
add ebx, edx
jmp 0x46d877
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d865
sub ecx, edx
mov edx, dword [ebp - 0xc4]
lea ebx, [edx + ecx]
mov eax, ebx
mov dword [ebp - 0xc8], ebx
sub eax, edx
cmp eax, 0x200000
jge 0x46e5b8
movss xmm1, dword [0x5509c8]
xor ecx, ecx
call fcn.00443260
cmp byte [ebp - 0xcc], 0
lea edx, [ebp - 0x3c]
mov ecx, dword [edi + 0x18cc]
movss xmm2, dword [edi + 0x18d0]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 8], 0
cmovne edx, dword [ebp - 8]
test dword [ebp - 0xb4], 0xff000000
mov ebx, dword [eax + 0x278]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], eax
je 0x46e504
test eax, eax
jne 0x46d91e
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + 1]
mov dword [ebp - 8], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d900
sub ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc4]
add eax, ecx
mov ecx, dword [edi + 0x18cc]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xc4], eax
je 0x46e504
test ecx, ecx
jne 0x46d936
mov eax, dword [ebx + 0x28]
mov esi, dword [eax + 8]
jmp 0x46d93c
mov esi, dword [edi + 0x18cc]
xorps xmm5, xmm5
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x46d950
mov eax, dword [ebx + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x14], xmm0
test edx, edx
je 0x46d9a1
movss xmm0, dword [ebp - 0x14]
maxss xmm0, dword [edx]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x10]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 8]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 8], xmm0
push dword [ebp - 0x13c]
test edx, edx
push dword [ebp - 0x140]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x14]
push dword [ebp - 0xf4]
mov ecx, esi
push dword [ebp - 0xc4]
push eax
push dword [ebp - 0xb4]
push ebx
call fcn.004605f0
jmp 0x46e4fe
mov eax, dword [ebx + 8]
mov esi, 0xfffffc18
mov ecx, dword [ebx + 0x14]
add eax, edx
xor edx, edx
mov dword [ebp - 0xc8], eax
xorps xmm7, xmm7
mov dword [ebp - 0xe0], ecx
movss dword [ebp - 0x128], xmm0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xf0], esi
cmp byte [ebp - 0xb5], dl
je 0x46da47
mov eax, dword [ebx + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x100], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x130], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x108], 0
je 0x46da7a
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0xe0]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0xf0], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], eax
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xcc]
movzx eax, al
add edx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0x104]
je 0x46db19
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x100]
movzx esi, word [ebx]
xor ebx, ebx
cmp si, 0xa
jne 0x46dae7
inc ebx
cmp edi, 0xffffffff
jne 0x46dacb
cmp ecx, dword [ebp - 0x130]
jb 0x46dacb
dec edx
mov edi, ebx
test edx, edx
jle 0x46daf5
cmp dword [ebp - 0xf0], 0xffffffff
jne 0x46dae7
cmp ecx, dword [ebp - 0xe4]
jb 0x46dae7
dec edx
mov dword [ebp - 0xf0], ebx
test edx, edx
jle 0x46daf5
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x46dab0
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0xb4], ebx
mov ebx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xb4]
inc eax
cmp esi, 0xffffffff
mov ecx, eax
mov dword [ebp - 0xb4], eax
cmovne ecx, esi
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x13c], ecx
mov edx, esi
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xe0]
cmp esi, ecx
jbe 0x46db60
cmp word [edx - 2], 0xa
je 0x46db60
add edx, 0xfffffffe
cmp edx, ecx
ja 0x46db52
mov ecx, dword [0x57bab8]
movaps xmm4, xmm0
movss dword [ebp - 0x100], xmm4
movaps xmm1, xmm0
mov eax, dword [ecx + 0x18cc]
movss xmm2, dword [ecx + 0x18d0]
divss xmm2, dword [eax + 0x10]
cmp edx, esi
jae 0x46dbf6
mov ebx, dword [ebp - 0x130]
mov edi, eax
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x46dba9
maxss xmm4, xmm1
movaps xmm1, xmm0
jmp 0x46dbce
cmp esi, 0xd
je 0x46dbce
mov esi, eax
cmp esi, dword [edi]
jge 0x46dbbe
mov eax, dword [edi + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x46dbc3
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp edx, ebx
jb 0x46db93
comiss xmm1, xmm4
mov ebx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x104]
movss dword [ebp - 0x100], xmm4
jbe 0x46dbf6
movaps xmm4, xmm1
movss dword [ebp - 0x100], xmm1
cmp dword [ebp - 0xf0], 0
movd xmm3, dword [ebp - 0x13c]
movss xmm0, dword [edi + 0x18d0]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x13c], xmm3
jl 0x46dcea
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
cmp edx, esi
jbe 0x46dc40
cmp word [edx - 2], 0xa
je 0x46dc40
add edx, 0xfffffffe
cmp edx, esi
ja 0x46dc32
xorps xmm0, xmm0
mov eax, dword [ecx + 0x18cc]
xorps xmm7, xmm7
movss xmm2, dword [ecx + 0x18d0]
xorps xmm1, xmm1
divss xmm2, dword [eax + 0x10]
cmp edx, dword [ebp - 0xe4]
jae 0x46dcc3
mov edi, dword [ebp - 0xe4]
mov ebx, eax
nop dword [eax]
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x46dc86
maxss xmm7, xmm1
movaps xmm1, xmm0
jmp 0x46dcab
cmp esi, 0xd
je 0x46dcab
mov esi, eax
cmp esi, dword [ebx]
jge 0x46dc9b
mov eax, dword [ebx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x46dca0
movss xmm0, dword [ebx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp edx, edi
jb 0x46dc70
comiss xmm1, xmm7
mov ebx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x104]
jbe 0x46dcc3
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0xf0]
movss xmm0, dword [edi + 0x18d0]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x128], xmm3
movss xmm3, dword [ebp - 0x13c]
mov edx, dword [ebp - 0xcc]
test dl, dl
je 0x46dd20
movd xmm1, dword [ebp - 0xb4]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xbc], xmm1
movaps xmm1, xmm0
movss dword [ebp - 0x110], xmm1
jmp 0x46dd28
movss xmm0, dword [ebp - 0x124]
cmp byte [ebp - 0xb5], 0
je 0x46ddf8
cmp byte [ebx + 0xe64], 0
je 0x46ddf8
test dword [ebp + 0x14], 0x1000
jne 0x46dd96
movss xmm1, dword [ebx + 0x38]
movaps xmm2, xmm0
comiss xmm1, xmm4
mulss xmm2, dword [0x550980]
jbe 0x46dd70
movaps xmm1, xmm4
xorps xmm0, xmm0
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x46dd84
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0x124]
comiss xmm0, xmm1
jb 0x46dd9d
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x46dd9d
mov dword [ebx + 0x38], 0
test dl, dl
je 0x46ddf1
mov eax, dword [ebp - 0xf8]
movaps xmm2, xmm3
subss xmm2, dword [edi + 0x18d0]
movss xmm1, dword [eax + 0x54]
comiss xmm1, xmm2
jbe 0x46ddc5
xorps xmm0, xmm0
maxss xmm0, xmm2
jmp 0x46ddd4
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0x114]
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [eax + 0x54], xmm0
addss xmm5, xmm1
movss dword [ebp - 0xdc], xmm5
movss dword [ebp - 0x118], xmm5
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0x108], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0xe4], xmm4
je 0x46e0de
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xe0]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb5], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xe0]
lea eax, [eax + edx*2]
mov dword [ebp - 0xb4], eax
je 0x46de4d
movss xmm1, dword [0x5509c8]
jmp 0x46de55
movss xmm1, dword [0x550998]
mov ecx, 0x2a
call fcn.00443260
cmp byte [ebp - 0xcc], 0
mov dword [ebp - 0x114], eax
je 0x46de76
xorps xmm0, xmm0
xorps xmm6, xmm6
jmp 0x46de86
movss xmm6, dword [0x550ba8]
movss xmm0, dword [0x550a4c]
movss xmm5, dword [ebp - 0xdc]
movss xmm3, dword [ebp - 0xe8]
movaps xmm4, xmm5
addss xmm4, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xb4]
addss xmm3, xmm7
movss dword [ebp - 0x130], xmm0
xorps xmm7, xmm7
movss dword [ebp - 0x108], xmm6
subss xmm4, xmm7
subss xmm3, dword [ebp - 0xe4]
movss dword [ebp - 0x128], xmm4
cmp esi, ecx
jae 0x46e122
movss xmm7, dword [ebp - 0xf4]
mov ebx, dword [0x57bab8]
nop dword [eax + eax]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x18d0]
comiss xmm4, xmm0
ja 0x46e0b4
movss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm4
jbe 0x46df2f
cmp esi, ecx
jae 0x46e084
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x46e084
cmp esi, ecx
jb 0x46df16
jmp 0x46e084
mov edx, dword [ebx + 0x18cc]
xorps xmm0, xmm0
movss xmm2, dword [ebx + 0x18d0]
xorps xmm5, xmm5
xorps xmm1, xmm1
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x46df9c
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x46df89
cmp ecx, 0xd
je 0x46df7d
cmp ecx, dword [edx]
jge 0x46df70
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x46df75
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xb4]
cmp esi, ecx
jb 0x46df50
jmp 0x46df99
mov ecx, dword [ebp - 0xb4]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x46dfd5
mov eax, dword [edi + 0x18cc]
cmp dword [eax], 0x20
jle 0x46dfbd
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x46dfc2
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x550994]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x130]
addss xmm1, xmm3
movaps xmm2, xmm6
addss xmm0, xmm4
subss xmm2, dword [edi + 0x18d0]
movss xmm6, dword [ebp - 0x14c]
xorps xmm5, xmm5
addss xmm3, xmm5
minss xmm1, xmm6
minss xmm0, xmm7
addss xmm2, xmm4
maxss xmm3, dword [ebp - 0x4c]
movss dword [ebp - 0x1c], xmm1
comiss xmm0, dword [ebp - 0x48]
maxss xmm2, dword [ebp - 0x48]
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x20], xmm2
jbe 0x46e084
comiss xmm7, xmm2
jbe 0x46e084
comiss xmm1, dword [ebp - 0x4c]
jbe 0x46e084
comiss xmm6, xmm3
jbe 0x46e084
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push dword [ebp - 0x114]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x278]
call fcn.0045d0b0
movss xmm4, dword [ebp - 0x128]
movss xmm7, dword [ebp - 0xf4]
mov ebx, dword [0x57bab8]
mov ecx, dword [ebp - 0xb4]
movss xmm3, dword [ebp - 0xe8]
movss xmm6, dword [ebp - 0x108]
addss xmm4, dword [edi + 0x18d0]
subss xmm3, dword [ebp - 0xe4]
movss dword [ebp - 0x128], xmm4
cmp esi, ecx
jb 0x46def0
movss xmm4, dword [ebp - 0xe4]
movss xmm6, dword [ebp - 0xe8]
movss xmm5, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x12c]
mov ecx, dword [0x57bab8]
mov edx, dword [ebp - 0xcc]
xorps xmm7, xmm7
test dl, dl
mov edx, dword [ebp - 0xc8]
jne 0x46e0fe
mov eax, edx
sub eax, dword [ebp - 0xc4]
cmp eax, 0x200000
jge 0x46e369
movups xmm2, xmmword [ecx + 0x15cc]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ecx + 0x1518]
movups xmmword [ebp - 0x24], xmm2
jbe 0x46e140
xorps xmm0, xmm0
jmp 0x46e14c
movss xmm4, dword [ebp - 0xe4]
movss xmm6, dword [ebp - 0xe8]
mov ecx, dword [0x57bab8]
mov edx, dword [ebp - 0xcc]
jmp 0x46e0e1
movss xmm0, dword [0x5509c8]
minss xmm0, xmm2
movss xmm2, dword [0x550b60]
movss xmm3, dword [ebp - 0x20]
comiss xmm7, xmm3
mulss xmm0, xmm2
addss xmm0, dword [0x550994]
cvttss2si ecx, xmm0
jbe 0x46e173
xorps xmm0, xmm0
jmp 0x46e17f
movss xmm0, dword [0x5509c8]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm2
addss xmm0, dword [0x550994]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x46e1a3
xorps xmm0, xmm0
jmp 0x46e1af
movss xmm0, dword [0x5509c8]
minss xmm0, xmm3
movss xmm3, dword [0x550994]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x46e1d2
xorps xmm0, xmm0
jmp 0x46e1de
movss xmm0, dword [0x5509c8]
minss xmm0, xmm1
mov eax, dword [ebp - 0xf8]
mulss xmm0, xmm2
mov dword [ebp - 0xb4], 0
movss xmm2, dword [edi + 0x18d0]
addss xmm0, xmm3
cvttss2si esi, xmm0
movaps xmm0, xmm6
subss xmm0, xmm4
shl esi, 0x18
or esi, ecx
mov ecx, dword [eax + 0x278]
mov eax, dword [edi + 0x18cc]
cmp byte [ebp - 0xcc], 0
mov dword [ebp - 0x128], eax
mov eax, edx
movss dword [ebp - 0x134], xmm0
lea edx, [ebp - 0x3c]
cmovne edx, dword [ebp - 0xb4]
movaps xmm0, xmm5
mov dword [ebp - 0xf4], ecx
subss xmm0, xmm7
mov dword [ebp - 0x14c], eax
movss dword [ebp - 0x130], xmm0
test esi, 0xff000000
je 0x46e369
cmp dword [ebp - 0xc8], 0
jne 0x46e2a1
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + 1]
mov dword [ebp - 0x14c], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46e280
sub ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0xc4]
add eax, ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0xc4], eax
je 0x46e369
cmp dword [edi + 0x18cc], 0
jne 0x46e2c2
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x46e2d3
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ecx + 0x40]
shl ecx, 4
mov eax, dword [eax + 0x48]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x24], xmm0
test edx, edx
je 0x46e32a
movss xmm0, dword [ebp - 0x24]
maxss xmm0, dword [edx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x130]
test edx, edx
push dword [ebp - 0x134]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x24]
mov dword [esp], 0
push dword [ebp - 0x14c]
push dword [ebp - 0xc4]
push eax
push esi
push dword [ebp - 0xf4]
call fcn.004605f0
cmp byte [ebp - 0xb5], 0
je 0x46e4fe
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
je 0x46e3db
xorps xmm5, xmm5
comiss xmm5, xmm0
jae 0x46e3db
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x150], xmm0
fld qword [ebp - 0x150]
fld qword [0x550a38]
call fcn.004e62ca
movss xmm0, dword [0x5509b8]
fstp qword [ebp - 0x150]
movsd xmm1, qword [ebp - 0x150]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x46e3db
xor al, al
jmp 0x46e3dd
mov al, 1
movss xmm4, dword [ebp - 0xdc]
movss xmm3, dword [ebp - 0xe8]
movss xmm6, dword [0x5509c8]
addss xmm4, dword [ebp - 0x13c]
addss xmm3, dword [ebp - 0x100]
subss xmm4, dword [0x550938]
subss xmm3, dword [ebp - 0xe4]
movss dword [ebp - 0xdc], xmm4
movaps xmm0, xmm4
movss dword [ebp - 0xe8], xmm3
movaps xmm2, xmm3
movss dword [ebp - 0x24], xmm3
movaps xmm1, xmm4
addss xmm2, xmm6
subss xmm0, dword [edi + 0x18d0]
subss xmm1, dword [0x5509f0]
movss dword [ebp - 0x1c], xmm2
addss xmm0, dword [0x550994]
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x20], xmm0
test al, al
je 0x46e4d9
comiss xmm1, dword [ebp - 0x48]
jbe 0x46e4d9
movss xmm5, dword [ebp - 0x10c]
comiss xmm5, xmm0
jbe 0x46e4d9
comiss xmm2, dword [ebp - 0x4c]
jbe 0x46e4d9
movss xmm0, dword [ebp - 8]
comiss xmm0, xmm3
jbe 0x46e4d9
sub esp, 8
movss dword [ebp - 8], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xc], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00443260
add esp, 4
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x278]
call fcn.0045cea0
movss xmm3, dword [ebp - 0xe8]
movss xmm4, dword [ebp - 0xdc]
movss xmm6, dword [0x5509c8]
cmp byte [ebp - 0xd4], 0
jne 0x46e4fe
subss xmm4, dword [edi + 0x18d0]
subss xmm3, xmm6
movss dword [edi + 0x2d90], xmm4
movss dword [edi + 0x2d8c], xmm3
mov esi, dword [0x57bab8]
cmp byte [ebp - 0xcc], 0
je 0x46e5b2
mov eax, dword [esi + 0x1a00]
movss xmm1, dword [ebp - 0xbc]
addss xmm1, dword [edi + 0x18d0]
movss xmm0, dword [ebp - 0x110]
addss xmm0, dword [0x550938]
mov byte [eax + 0x7c], 1
mov eax, dword [esi + 0x1a00]
movss dword [ebp - 8], xmm1
movss dword [ebp - 0xc], xmm0
cmp byte [eax + 0x7f], 0
jne 0x46e5a2
movss xmm3, dword [eax + 0xc8]
lea ecx, [ebp - 0xc]
movaps xmm4, xmm3
movss dword [ebp - 0x24], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xcc]
movaps xmm2, xmm0
movss dword [ebp - 0x20], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x550ba8]
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x18], xmm2
call fcn.0044cf80
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.0044d0b0
add esp, 4
call fcn.00448150
call fcn.0044d450
mov esi, dword [0x57bab8]
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x144]
test al, al
je 0x46e61f
mov eax, dword [esi + 0x1a00]
mov ecx, dword [eax + 0x278]
dec dword [ecx + 0x4c]
call fcn.0045b630
mov ecx, dword [esi + 0x1b04]
sub ecx, 1
mov dword [esi + 0x1b04], ecx
jne 0x46e604
mov esi, dword [0x57bab8]
mov ecx, dword [esi + 0xa4]
test ecx, ecx
jne 0x46e614
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
jmp 0x46e614
mov eax, dword [esi + 0x1b0c]
mov esi, dword [0x57bab8]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.0044cb30
mov eax, dword [ebp - 0x144]
cmp byte [edi + 0x2dc8], 0
je 0x46e647
test al, al
jne 0x46e647
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x11c]
push ebx
call fcn.004516e0
mov esi, dword [0x57bab8]
add esp, 4
movss xmm0, dword [ebp - 0x158]
comiss xmm0, dword [0x550938]
jbe 0x46e6a6
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [edi + 0x1568]
mov ecx, dword [ebp - 0x154]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [edi + 0x1554]
movss dword [ebp - 0x118], xmm0
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push 1
call fcn.00443500
mov esi, dword [0x57bab8]
add esp, 0xc
mov dl, byte [ebp - 0xd6]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x46e6d1
test ecx, 0x200000
jne 0x46e6d1
mov eax, dword [esi + 0x1a00]
mov word [esi + 0x1a43], 0x101
or dword [eax + 0x110], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xbe]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c2b19
mov esp, ebp
pop ebp
ret