Function at 0x46b4e0
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 0x46b8a9
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 0x46b59e
call fcn.0044d430
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.00442c30
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [esi + 0x1a34], eax
jne 0x46b5d2
mov dword [esi + 0x1a38], eax
cmp dword [esi + 0x1a6c], eax
jne 0x46b5e1
mov byte [esi + 0x1a70], 1
mov eax, dword [ebp - 0x154]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x46b606
nop
mov dl, byte [ecx]
test dl, dl
je 0x46b606
cmp dl, 0x23
jne 0x46b600
cmp byte [ecx + 1], dl
je 0x46b606
inc ecx
cmp ecx, 0xffffffff
jb 0x46b5f0
movss xmm2, dword [esi + 0x18d0]
cmp eax, ecx
jne 0x46b61f
xorps xmm6, xmm6
movss dword [ebp - 0x158], xmm6
jmp 0x46b673
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.004603e0
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 0x46b68d
movss xmm2, dword [edi + 0x18d0]
mulss xmm2, dword [0x550b08]
test byte [esi + 0x1ad8], 1
mov eax, dword [esi + 0x1a00]
je 0x46b6a6
movss xmm0, dword [esi + 0x1adc]
jmp 0x46b6ae
movss xmm0, dword [eax + 0x1a8]
comiss xmm6, xmm0
jbe 0x46b6e4
cmp dword [eax + 0x190], 0
movss xmm1, dword [eax + 0x244]
je 0x46b6cc
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 0x46b734
comiss xmm6, xmm2
jbe 0x46b755
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x244]
movss xmm1, dword [ecx + 0x248]
je 0x46b755
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x550ad4]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x46b76b
movaps xmm7, xmm4
jmp 0x46b783
comiss xmm6, xmm7
jbe 0x46b78b
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 0x46b7a6
movss dword [ebp - 0x114], xmm3
jmp 0x46b7c6
comiss xmm6, xmm0
jbe 0x46b7c6
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 0x46b7e0
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x1568]
jmp 0x46b7e3
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 0x46baa3
mov ebx, dword [ebp - 0xc8]
lea eax, [ebp - 0x4c]
push eax
mov edx, ebx
lea ecx, [ebp - 0x14]
call fcn.0044d1c0
add esp, 4
test al, al
jne 0x46b8bc
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.0044d090
call fcn.0044d560
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c2e59
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.004525d0
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.00452510
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.00452510
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.00452510
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.00447fb0
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.00443590
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 0x46ba6e
call fcn.00448260
jmp 0x46b8a4
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 0x46bae8
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.0044d090
mov esi, dword [ebp - 0xc8]
lea eax, [ebp - 0x4c]
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.0044d1c0
add esp, 4
test al, al
je 0x46b8a9
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.00444e90
mov byte [ebp - 0xae], al
test al, al
je 0x46bb06
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.004450f0
mov byte [ebp - 0xd6], al
test al, al
je 0x46bbae
cmp dword [edi + 0x1c40], esi
jne 0x46bbae
mov ecx, dword [edi + 0x1c48]
cmp ecx, dword [esi + 0x19c]
jne 0x46bbae
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xbe], 0
cmp byte [ebp - 0xae], 0
je 0x46bb75
cmp byte [edi + 0x3e0], 0
mov byte [ebp - 0xb5], 1
jne 0x46bb7c
mov byte [ebp - 0xb5], 0
mov esi, dword [edi + 0x1a34]
mov eax, dword [ebp - 0xc8]
cmp esi, eax
je 0x46bbc9
cmp dword [edi + 0x1b40], eax
je 0x46bba5
cmp dword [edi + 0x1b34], eax
jne 0x46bbc9
cmp dword [edi + 0x1b58], 3
jne 0x46bbc9
mov byte [ebp - 0xad], 1
jmp 0x46bbd0
mov byte [ebp - 0xaf], 0
test al, al
je 0x46bb55
mov byte [ebp - 0xbe], 1
mov byte [ebp - 0xaf], 0
jmp 0x46bb5c
mov byte [ebp - 0xad], 0
mov eax, dword [ebp - 0xcc]
test al, al
je 0x46bc1e
test ebx, ebx
je 0x46bc1e
test esi, esi
jne 0x46bc1e
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.00442c30
add esp, 4
cmp dword [edi + 0x1a6c], eax
jne 0x46bc18
mov byte [ebp - 0xb6], 1
jmp 0x46bc34
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0xb6], 0
test al, al
je 0x46bc61
mov byte [ebp - 0xb6], 0
test ebx, ebx
je 0x46bc61
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.00442c30
add esp, 4
cmp esi, eax
jne 0x46bc61
mov al, 1
jmp 0x46bc63
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 0x46bc9a
test byte [ebp + 0x14], 0x10
jne 0x46bc8a
test cl, cl
je 0x46bc9a
cmp byte [ebp - 0xcc], 0
mov byte [ebp - 0xdc], 1
je 0x46bca1
mov byte [ebp - 0xdc], 0
cmp byte [ebp - 0xd6], 0
jne 0x46bcd5
cmp byte [ebp - 0xb5], 0
jne 0x46bcd5
cmp byte [ebp - 0xb6], 0
jne 0x46bcd5
test cl, cl
jne 0x46bcd5
mov byte [ebp - 0xb6], cl
test al, al
jne 0x46bcdc
mov byte [ebp - 0xbd], al
jmp 0x46bf18
mov byte [ebp - 0xb6], 1
mov byte [ebp - 0xbd], 1
cmp esi, edx
je 0x46bf18
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 0x46bd10
mov eax, dword [ebx + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x46bd4d
test eax, eax
je 0x46bd36
cdq
sub eax, edx
lea edx, [ebx + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x46bd3e
mov ecx, 8
lea edx, [ebx + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00452a10
push esi
push dword [ebp - 0xc4]
mov dword [ebx + 0x24], esi
push dword [ebx + 0x2c]
call fcn.004c5520
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 0x46bdab
test esi, esi
je 0x46bd8d
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x46bd92
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00452a80
mov edx, dword [ebp - 0xbc]
lea eax, [ebx + 0xc]
mov dword [eax], edx
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x46bdcd
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.00452a10
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 0x46be3c
mov edi, eax
cmp byte [edi], 0
je 0x46be2a
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442ea0
mov edx, dword [ebp - 0xbc]
add edi, eax
mov eax, dword [ebp - 8]
add esp, 4
test eax, eax
je 0x46be2a
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x46bdf6
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 0x46be7f
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 0x46bee0
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 0x46bee6
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 0x46bef5
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x46bf18
cmp byte [ebp - 0xbe], cl
jne 0x46bf11
cmp byte [ebp - 0xb5], cl
je 0x46bf18
cmp byte [edi + 0x100], cl
je 0x46bf18
mov byte [ebp - 0xdc], 1
mov esi, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], esi
je 0x46bfd3
cmp byte [ebp - 0xb6], 0
je 0x46bfcb
mov edx, dword [ebp - 0x110]
mov ecx, esi
call fcn.00444cd0
call fcn.0044ec90
mov ecx, edx
call fcn.0044ca00
mov eax, dword [edi + 0x1a48]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xcc], 0
mov dword [edi + 0x1a48], eax
jne 0x46bf6f
test dl, dl
jns 0x46bf78
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 0x46bfb4
or eax, 0x60
mov dword [edi + 0x1a54], ecx
mov dword [edi + 0x1a50], eax
test edx, 0x440
je 0x46bfcb
or eax, 1
mov dword [edi + 0x1a54], ecx
mov dword [edi + 0x1a50], eax
cmp dword [edi + 0x1a34], esi
jne 0x46c00e
test ebx, ebx
jne 0x46bfe0
xor edx, edx
xor ecx, ecx
call fcn.00444cd0
cmp dword [edi + 0x1a34], esi
jne 0x46c00e
cmp byte [edi + 0x3e0], 0
je 0x46c01b
cmp byte [ebp - 0xbd], 0
jne 0x46c01b
cmp byte [ebp - 0xb6], 0
jne 0x46c01b
mov byte [ebp - 0xcd], 1
mov cl, 1
jmp 0x46c021
test ebx, ebx
je 0x46c01f
cmp byte [ebp - 0xb7], 0
je 0x46c01f
mov cl, 1
jmp 0x46c021
xor cl, cl
mov byte [ebp - 0xb5], cl
test ebx, ebx
je 0x46c03e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46c03e
test cl, cl
je 0x46c03e
mov edx, 1
jmp 0x46c040
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 0x46c173
test ebx, ebx
je 0x46c173
test cl, cl
jne 0x46c07c
test dl, dl
je 0x46c17b
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x10]
inc esi
cmp esi, eax
jle 0x46c0b1
test eax, eax
je 0x46c09a
cdq
sub eax, edx
lea edx, [ebx + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x46c0a2
mov ecx, 8
lea edx, [ebx + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00452a80
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 0x46c116
mov edi, eax
cmp byte [edi], 0
je 0x46c104
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442ea0
mov edx, dword [ebp - 0xbc]
add edi, eax
mov eax, dword [ebp - 8]
add esp, 4
test eax, eax
je 0x46c104
mov ecx, dword [ebp + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x46c0d1
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 0x46c183
test dl, dl
jne 0x46c183
cmp dword [edi + 0x1a34], esi
jne 0x46c197
test al, al
jne 0x46c197
test ebx, ebx
je 0x46c197
mov byte [ebp - 0xd5], 1
cmp byte [ebx + 0x30], al
jne 0x46c19e
mov byte [ebp - 0xd5], 0
cmp byte [ebp - 0x144], 0
je 0x46c245
mov esi, dword [edi + 0x18cc]
cmp dword [esi + 0x14], 0x2a
ja 0x46c1bc
mov eax, dword [esi + 0x2c]
jmp 0x46c1db
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x46c1d2
mov eax, dword [esi + 0x2c]
jmp 0x46c1db
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.0044ccd0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x130], 0
cmp dword [edi + 0x1a34], ecx
jne 0x46c689
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 0x46c2ea
mov eax, dword [ebp - 0xf8]
movss xmm2, dword [edi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edi + 0x1554]
jmp 0x46c2fa
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 0x46c476
mov cl, byte [ebp - 0xae]
test cl, cl
je 0x46c32d
test al, al
jne 0x46c392
cmp byte [edi + 0x3e5], al
jne 0x46c476
cmp byte [edi + 0x3e0], 0
je 0x46c3e9
cmp byte [ebx + 0xe65], 0
jne 0x46c3e9
test cl, cl
je 0x46c497
cmp byte [ebx + 0x4c], 0
je 0x46c369
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.00469c10
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00469f40
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 0x46c491
cmp byte [edi + 0x3e5], 0
je 0x46c32d
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a330
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.0046a330
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x46c491
cmp byte [edi + 0xf0], 0
je 0x46c497
cmp byte [ebx + 0xe65], 0
jne 0x46c4a0
movss xmm0, dword [edi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x46c428
movss xmm0, dword [edi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x46c497
cmp byte [ebx + 0x4c], 0
je 0x46c442
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.00469c10
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46c450
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00469f40
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 0x46c491
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 0x46c4b0
cmp byte [edi + 0xf0], 0
jne 0x46c4b0
mov byte [ebx + 0xe65], 0
cmp byte [edi + 0x100], 0
je 0x46c4c2
cmp byte [edi + 0x102], 0
je 0x46c4cf
test al, al
je 0x46c4d8
cmp byte [edi + 0x103], 0
je 0x46c4d8
mov byte [ebp - 0xae], 1
jmp 0x46c4df
mov byte [ebp - 0xae], 0
test edx, 0x400
je 0x46c59a
mov esi, dword [0x57bab8]
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x46c5a0
call fcn.00447e90
mov ecx, dword [ebp - 0xd4]
test al, al
mov al, byte [ebp - 0xae]
je 0x46c5ac
test al, al
jne 0x46c5ac
cmp byte [edi + 0x101], al
jne 0x46c5ac
test cl, cl
jne 0x46c5ac
mov ecx, dword [edi + 0x1514]
mov eax, dword [edi + 0x150c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x46c554
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x46c5a0
cmp ecx, edx
jb 0x46c544
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
mov dword [ebp - 0xbc], 9
call fcn.0046b330
add esp, 8
test al, al
je 0x46c59a
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a330
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 0x46c68f
test al, al
jne 0x46c649
test cl, cl
jne 0x46c649
cmp byte [ebp - 0xad], cl
jne 0x46c649
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 0x46c5fe
cmp byte [edi + 0x101], 0
jne 0x46c63a
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
sub esp, 8
call fcn.0046b330
add esp, 8
test al, al
je 0x46c63a
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a330
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [edi + 0x150c]
jl 0x46c5e0
mov esi, dword [0x57bab8]
mov ecx, dword [edi + 0x1510]
lea eax, [edi + 0x150c]
test ecx, ecx
jns 0x46c681
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.00452a80
mov esi, dword [0x57bab8]
lea eax, [edi + 0x150c]
mov dword [eax], 0
jmp 0x46c68f
mov esi, dword [0x57bab8]
mov eax, dword [ebp - 0xc8]
xor cl, cl
mov byte [ebp - 0xad], cl
cmp dword [edi + 0x1a34], eax
jne 0x46d38d
cmp byte [edi + 0x1a40], cl
jne 0x46d034
cmp byte [ebp - 0xcd], cl
jne 0x46d034
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 0x46c6f9
cmp dword [edi + 0x380], 0xa
jne 0x46c6f9
mov byte [ebp - 0xb7], 1
jmp 0x46c704
mov byte [ebp - 0xb7], 0
test al, al
je 0x46c72f
cmp byte [edi + 0x103], 0
mov al, byte [edi + 0x102]
mov byte [ebp - 0xb6], al
je 0x46c742
cmp byte [edi + 0x100], 0
jne 0x46c742
test al, al
jne 0x46c742
mov byte [ebp - 0xaf], 1
jmp 0x46c749
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 0x46c75d
cmp eax, 8
jmp 0x46c760
cmp eax, 1
mov esi, dword [0x57bab8]
sete cl
mov byte [ebp - 0xae], cl
test cl, cl
je 0x46c78c
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x46c78c
call fcn.00447e90
test al, al
jne 0x46c7a1
mov eax, dword [edi + 0x380]
cmp eax, 2
jne 0x46c7cd
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x46c7cd
call fcn.00447e90
test al, al
je 0x46c7cd
cmp byte [ebp - 0xd4], 0
jne 0x46c7cd
cmp byte [ebp - 0x144], 0
jne 0x46c7cd
cmp byte [ebp - 0xcc], 0
je 0x46c7c4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46c7cd
mov byte [ebp - 0xbd], 1
jmp 0x46c7d4
mov byte [ebp - 0xbd], 0
cmp byte [ebp - 0xae], 0
je 0x46c7ed
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x46c7ed
call fcn.00447e90
test al, al
jne 0x46c806
cmp dword [edi + 0x380], 1
jne 0x46c829
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x46c829
call fcn.00447e90
test al, al
je 0x46c829
cmp byte [ebp - 0x144], 0
jne 0x46c829
cmp byte [ebp - 0xcc], 0
je 0x46c820
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x46c829
mov byte [ebp - 0xf9], 1
jmp 0x46c830
mov byte [ebp - 0xf9], 0
cmp byte [ebp - 0xae], 0
je 0x46c849
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x46c849
call fcn.00447e90
test al, al
jne 0x46c862
cmp dword [edi + 0x380], 2
jne 0x46c872
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x46c872
call fcn.00447e90
test al, al
je 0x46c872
cmp byte [ebp - 0xd4], 0
mov byte [ebp - 0xfa], 1
je 0x46c879
mov byte [ebp - 0xfa], 0
mov al, byte [ebp - 0xae]
test al, al
je 0x46c8b7
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x46c8b7
call fcn.00447e90
test al, al
je 0x46c8b1
cmp byte [ebp - 0xd4], 0
jne 0x46c8b1
cmp byte [ebp - 0xf4], 0
je 0x46c8b1
mov byte [ebp - 0xe9], 1
jmp 0x46c8c2
mov al, byte [ebp - 0xae]
mov byte [ebp - 0xe9], 0
test al, al
je 0x46c8d5
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x46c8d5
call fcn.00447e90
test al, al
jne 0x46c8f1
cmp byte [ebp - 0xb7], 0
je 0x46c90a
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x46c90a
call fcn.00447e90
test al, al
je 0x46c90a
cmp byte [ebp - 0xd4], 0
jne 0x46c90a
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xb7], 1
jne 0x46c911
mov byte [ebp - 0xb7], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x46c96f
call fcn.00447e90
test al, al
je 0x46c96f
cmp byte [ebp - 0xaf], 0
je 0x46c945
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.0046a330
jmp 0x46cff1
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x46c9ad
call fcn.00447e90
test al, al
je 0x46c9ad
cmp byte [ebp - 0xaf], 0
je 0x46c9a3
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.0046a330
jmp 0x46cff1
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x46c94f
mov ecx, dword [esi + 0x40]
test ecx, ecx
js 0x46ca1e
call fcn.00447e90
test al, al
je 0x46ca1e
cmp byte [ebp - 0xcc], 0
je 0x46ca1e
cmp byte [edi + 0x100], 0
je 0x46c9fa
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 0x46d005
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x44]
test ecx, ecx
js 0x46ca93
call fcn.00447e90
test al, al
je 0x46ca93
cmp byte [ebp - 0xcc], 0
je 0x46ca93
cmp byte [edi + 0x100], 0
je 0x46ca6f
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 0x46d005
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x46cad0
call fcn.00447e90
test al, al
je 0x46cad0
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x46cb0d
call fcn.00447e90
test al, al
je 0x46cb0d
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x46cb42
call fcn.00447e90
test al, al
je 0x46cb42
cmp byte [ebp - 0xd4], 0
jne 0x46cb42
mov ecx, dword [ebp - 0xe0]
lea edx, [ebx + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, ebx
call fcn.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x46cbe2
call fcn.00447e90
test al, al
je 0x46cbe2
cmp byte [ebp - 0xd4], 0
jne 0x46cbe2
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46cbc6
cmp byte [ebp - 0xb6], 0
je 0x46cb7f
push 0x60000c
jmp 0x46cba8
cmp byte [ebp - 0xfb], 0
je 0x46cbc6
cmp byte [edi + 0x103], 0
je 0x46cbc6
cmp byte [edi + 0x102], 0
jne 0x46cbc6
cmp byte [edi + 0x100], 0
jne 0x46cbc6
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a330
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.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x46cbf2
call fcn.00447e90
test al, al
jne 0x46cc06
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x46cc83
call fcn.00447e90
test al, al
je 0x46cc83
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xcc], 0
je 0x46cc27
mov cl, byte [edi + 0x100]
test al, al
je 0x46cc3a
test cl, cl
jne 0x46cc3e
mov byte [ebp - 0xcd], 1
mov byte [ebp - 0xbe], 1
jmp 0x46d005
test cl, cl
jne 0x46cc27
cmp byte [ebp - 0xd4], 0
jne 0x46d005
sub esp, 8
mov dword [ebp - 0xbc], 0xa
lea ecx, [ebp - 0xbc]
call fcn.0046b330
add esp, 8
test al, al
je 0x46d005
push dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a330
jmp 0x46cff1
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x46cca0
call fcn.00447e90
test al, al
je 0x46cca0
mov cl, 1
mov byte [ebp - 0xcd], cl
jmp 0x46d00b
mov al, byte [ebp - 0xe9]
test al, al
jne 0x46cfd2
cmp byte [ebp - 0xb7], al
jne 0x46cfd2
cmp byte [ebp - 0xae], al
je 0x46cceb
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x46cceb
call fcn.00447e90
test al, al
je 0x46cceb
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 0x46cffe
mov al, byte [ebp - 0xbd]
test al, al
jne 0x46cec1
cmp byte [ebp - 0xf9], al
jne 0x46cec1
cmp byte [ebp - 0xfa], al
je 0x46d005
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x46cd3c
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x46d005
mov esi, dword [0x57bab8]
jmp 0x46cd47
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 0x46cd50
sub ecx, edx
test esi, esi
je 0x46cd63
inc dword [esi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.004d0775
mov esi, dword [ebp - 0xbc]
add esp, 4
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x110], 0
cmp byte [esi], 0
je 0x46cdf0
xor edi, edi
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xb4]
call fcn.00442ea0
add esp, 4
add esi, eax
cmp dword [ebp - 0xb4], 0
je 0x46cdd8
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xb4]
sub esp, 8
call fcn.0046b330
add esp, 8
test al, al
je 0x46cdd3
mov ax, word [ebp - 0xb4]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x46cd92
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 0x46ce9f
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 0x46ce3a
cmp edx, ecx
jle 0x46ce21
mov dword [ebx + 0x40], ecx
mov edx, ecx
cmp dword [ebx + 0x44], ecx
jle 0x46ce2f
mov dword [ebx + 0x44], ecx
mov dword [ebp - 0xbc], ecx
cmp edx, dword [ebp - 0xbc]
jne 0x46ce3a
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x3c], ecx
jle 0x46ce42
mov dword [ebx + 0x3c], ecx
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a2a0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push esi
push dword [ebp - 0xe4]
call fcn.00469df0
add esp, 8
test al, al
je 0x46ce7e
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push esi
push 0
call fcn.0046b040
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], esi
jmp 0x46ce92
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x46ce92
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0xe4]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x46ceb3
mov ecx, dword [0x57bab8]
test ecx, ecx
je 0x46ceb3
dec dword [ecx + 0x374]
push eax
call fcn.004cba1d
add esp, 4
jmp 0x46d005
cmp dword [edi + 0xd4], 0
je 0x46cf93
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x46cee8
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0xb4], edx
jmp 0x46cef5
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.00443110
inc eax
mov dword [ebp - 8], eax
test esi, esi
je 0x46cf1d
inc dword [esi + 0x374]
push eax
call fcn.004d0775
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.00443040
mov eax, dword [0x57bab8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x46cf76
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x57bab8]
add esp, 8
test esi, esi
je 0x46cf84
test eax, eax
je 0x46cf84
dec dword [eax + 0x374]
push esi
call fcn.004cba1d
mov al, byte [ebp - 0xbd]
add esp, 4
test al, al
je 0x46d005
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x46cfb3
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 0x46d005
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0046a2a0
mov byte [ebx + 0x4b], 0
jmp 0x46d005
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.0046a330
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 0x46d020
cmp byte [ebp - 0xb5], 0
je 0x46d020
mov al, 1
jmp 0x46d022
xor al, al
or byte [ebp - 0x108], al
mov esi, dword [0x57bab8]
mov eax, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], eax
jne 0x46d38d
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe8], 0
test cl, cl
je 0x46d472
cmp byte [ebp - 0xd4], 0
jne 0x46d261
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebp - 0xc4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46d092
test dl, dl
je 0x46d08e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46d092
add eax, 2
add ecx, 2
test dl, dl
jne 0x46d072
xor eax, eax
jmp 0x46d097
sbb eax, eax
or eax, 1
test eax, eax
je 0x46d261
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 0x46d1c6
lea ebx, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0xb4], eax
test ebx, ebx
je 0x46d0d7
cmp edi, ebx
jae 0x46d0fb
cmp byte [edi], 0
je 0x46d0fb
push ebx
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442ea0
add edi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d0fb
inc eax
jmp 0x46d0c9
mov ebx, dword [ebp - 0x12c]
lea edx, [eax + 1]
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0xbc], edx
test edx, edx
jle 0x46d145
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x46d145
test esi, esi
je 0x46d12e
inc dword [esi + 0x374]
add eax, eax
push eax
call fcn.004d0775
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 0x46d1c1
mov edi, dword [ebp - 8]
test edi, edi
je 0x46d17f
cmp esi, edi
jae 0x46d1b5
cmp byte [esi], 0
je 0x46d1b5
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442ea0
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [ebp - 0xb4]
add esp, 4
test ecx, ecx
je 0x46d1b5
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebp - 0x10c]
jb 0x46d177
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.0046b040
mov edx, eax
add esp, 8
test edx, edx
je 0x46d205
xor ecx, ecx
test esi, esi
jle 0x46d205
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x46d1f5
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00469d90
mov esi, dword [ebp - 8]
add esp, 4
test esi, esi
jle 0x46d239
push esi
push dword [ebp - 0xdc]
xor edx, edx
mov ecx, ebx
call fcn.00469df0
add esp, 8
test al, al
je 0x46d239
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x4b], 0
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x46d25b
mov eax, dword [0x57bab8]
test eax, eax
je 0x46d252
dec dword [eax + 0x374]
push ecx
call fcn.004cba1d
add esp, 4
mov esi, dword [0x57bab8]
cmp byte [ebp - 0xbe], 0
mov eax, dword [ebp + 0x14]
je 0x46d275
test al, 0x20
jne 0x46d475
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xf0]
test edx, edx
je 0x46d36f
cmp byte [ebp - 0x100], 0
je 0x46d32c
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 0x46d368
jbe 0x46d35d
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp - 0xc4]
call fcn.004c9e90
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 0x46d3b3
cmp dword [edi + 0x1a34], ecx
jne 0x46d3b3
xor edx, edx
xor ecx, ecx
call fcn.00444cd0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
test al, al
jne 0x46d803
mov edx, ecx
lea ecx, [ebp - 0x4c]
push 1
call fcn.00444200
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.00443370
movss xmm2, dword [edi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.00443ff0
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 0x46d868
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xd4], 0
jne 0x46d4e8
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 0x46d4d2
lea esi, [ebx + 0x18]
test eax, eax
je 0x46d4b2
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, dword [esi + 4]
jmp 0x46d4b7
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, esi
push eax
call fcn.00452a10
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.00443040
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x46d7ac
test al, 0x40
je 0x46d516
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x46d516
call fcn.00447e90
test al, al
je 0x46d513
mov edx, dword [ebp + 0x14]
mov eax, 0x40
xor ecx, ecx
jmp 0x46d56f
mov eax, dword [ebp + 0x14]
test al, al
jns 0x46d554
mov ecx, dword [esi + 0x40]
test ecx, ecx
js 0x46d537
call fcn.00447e90
test al, al
je 0x46d537
mov edx, dword [ebp + 0x14]
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x46d56f
mov ecx, dword [esi + 0x44]
test ecx, ecx
js 0x46d554
call fcn.00447e90
test al, al
je 0x46d554
mov edx, dword [ebp + 0x14]
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x46d56f
mov edx, dword [ebp + 0x14]
mov ecx, 0x100
test edx, 0x100
mov eax, 0
cmovne eax, ecx
mov ecx, 0x16
test eax, eax
je 0x46d7a9
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.00443110
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00443110
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.00443110
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 0x46d641
mov esi, dword [ebp - 0x68]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d613
cmp esi, edi
jae 0x46d637
cmp byte [esi], 0
je 0x46d637
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442ea0
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d637
inc eax
jmp 0x46d605
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x10c]
je 0x46d689
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d662
cmp esi, edi
jae 0x46d686
cmp byte [esi], 0
je 0x46d686
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442ea0
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d686
inc eax
jmp 0x46d654
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x13c]
je 0x46d6d1
mov esi, dword [ebp - 0x68]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xb4], eax
test edi, edi
je 0x46d6aa
cmp esi, edi
jae 0x46d6ce
cmp byte [esi], 0
je 0x46d6ce
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.00442ea0
add esi, eax
add esp, 4
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xb4]
je 0x46d6ce
inc eax
jmp 0x46d69c
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x5c], 0
je 0x46d79d
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x130]
cmp esi, ecx
jle 0x46d72a
cmp byte [ebp - 0x100], 0
je 0x46d72a
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x46d728
test edi, edi
je 0x46d710
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x46d715
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00452a80
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 0x46d781
nop dword [eax]
cmp byte [edi], 0
je 0x46d77b
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.00442ea0
add edi, eax
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x46d77b
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x10c]
jb 0x46d750
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 0x46d275
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebx + 0x20]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46d7e2
test dl, dl
je 0x46d7de
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46d7e2
add eax, 2
add ecx, 2
test dl, dl
jne 0x46d7c2
xor eax, eax
jmp 0x46d7e7
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x46d275
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebx + 8]
jmp 0x46d27b
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 0x46d8cf
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0xc4], edx
jmp 0x46d8d5
mov edx, dword [ebp - 0xc4]
cmp byte [ebp - 0xb5], 0
jne 0x46dae1
cmp byte [ebp - 0x108], 0
jne 0x46dae1
test al, al
je 0x46d94b
mov ebx, dword [ebp - 0xc4]
xor ecx, ecx
mov dl, byte [edx]
inc ebx
test dl, dl
je 0x46d914
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x46d902
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xc8], ebx
cmp al, 0xa
je 0x46d927
cmp al, 0xd
je 0x46d927
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 0x46d98c
mov eax, dword [ebp - 0xc8]
cmp dword [edi + 0x1a34], eax
jne 0x46d960
mov ebx, dword [ebx + 8]
add ebx, edx
jmp 0x46d977
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d965
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 0x46e6b8
movss xmm1, dword [0x5509c8]
xor ecx, ecx
call fcn.00443370
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 0x46e604
test eax, eax
jne 0x46da1e
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 0x46da00
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 0x46e604
test ecx, ecx
jne 0x46da36
mov eax, dword [ebx + 0x28]
mov esi, dword [eax + 8]
jmp 0x46da3c
mov esi, dword [edi + 0x18cc]
xorps xmm5, xmm5
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x46da50
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 0x46daa1
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.004606f0
jmp 0x46e5fe
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 0x46db47
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 0x46db7a
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 0x46dc19
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x100]
movzx esi, word [ebx]
xor ebx, ebx
cmp si, 0xa
jne 0x46dbe7
inc ebx
cmp edi, 0xffffffff
jne 0x46dbcb
cmp ecx, dword [ebp - 0x130]
jb 0x46dbcb
dec edx
mov edi, ebx
test edx, edx
jle 0x46dbf5
cmp dword [ebp - 0xf0], 0xffffffff
jne 0x46dbe7
cmp ecx, dword [ebp - 0xe4]
jb 0x46dbe7
dec edx
mov dword [ebp - 0xf0], ebx
test edx, edx
jle 0x46dbf5
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x46dbb0
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 0x46dc60
cmp word [edx - 2], 0xa
je 0x46dc60
add edx, 0xfffffffe
cmp edx, ecx
ja 0x46dc52
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 0x46dcf6
mov ebx, dword [ebp - 0x130]
mov edi, eax
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x46dca9
maxss xmm4, xmm1
movaps xmm1, xmm0
jmp 0x46dcce
cmp esi, 0xd
je 0x46dcce
mov esi, eax
cmp esi, dword [edi]
jge 0x46dcbe
mov eax, dword [edi + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x46dcc3
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp edx, ebx
jb 0x46dc93
comiss xmm1, xmm4
mov ebx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x104]
movss dword [ebp - 0x100], xmm4
jbe 0x46dcf6
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 0x46ddea
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
cmp edx, esi
jbe 0x46dd40
cmp word [edx - 2], 0xa
je 0x46dd40
add edx, 0xfffffffe
cmp edx, esi
ja 0x46dd32
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 0x46ddc3
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 0x46dd86
maxss xmm7, xmm1
movaps xmm1, xmm0
jmp 0x46ddab
cmp esi, 0xd
je 0x46ddab
mov esi, eax
cmp esi, dword [ebx]
jge 0x46dd9b
mov eax, dword [ebx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x46dda0
movss xmm0, dword [ebx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp edx, edi
jb 0x46dd70
comiss xmm1, xmm7
mov ebx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x104]
jbe 0x46ddc3
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 0x46de20
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 0x46de28
movss xmm0, dword [ebp - 0x124]
cmp byte [ebp - 0xb5], 0
je 0x46def8
cmp byte [ebx + 0xe64], 0
je 0x46def8
test dword [ebp + 0x14], 0x1000
jne 0x46de96
movss xmm1, dword [ebx + 0x38]
movaps xmm2, xmm0
comiss xmm1, xmm4
mulss xmm2, dword [0x550980]
jbe 0x46de70
movaps xmm1, xmm4
xorps xmm0, xmm0
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x46de84
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0x124]
comiss xmm0, xmm1
jb 0x46de9d
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x46de9d
mov dword [ebx + 0x38], 0
test dl, dl
je 0x46def1
mov eax, dword [ebp - 0xf8]
movaps xmm2, xmm3
subss xmm2, dword [edi + 0x18d0]
movss xmm1, dword [eax + 0x54]
comiss xmm1, xmm2
jbe 0x46dec5
xorps xmm0, xmm0
maxss xmm0, xmm2
jmp 0x46ded4
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 0x46e1de
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 0x46df4d
movss xmm1, dword [0x5509c8]
jmp 0x46df55
movss xmm1, dword [0x550998]
mov ecx, 0x2a
call fcn.00443370
cmp byte [ebp - 0xcc], 0
mov dword [ebp - 0x114], eax
je 0x46df76
xorps xmm0, xmm0
xorps xmm6, xmm6
jmp 0x46df86
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 0x46e222
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 0x46e1b4
movss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm4
jbe 0x46e02f
cmp esi, ecx
jae 0x46e184
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x46e184
cmp esi, ecx
jb 0x46e016
jmp 0x46e184
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 0x46e09c
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x46e089
cmp ecx, 0xd
je 0x46e07d
cmp ecx, dword [edx]
jge 0x46e070
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x46e075
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xb4]
cmp esi, ecx
jb 0x46e050
jmp 0x46e099
mov ecx, dword [ebp - 0xb4]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x46e0d5
mov eax, dword [edi + 0x18cc]
cmp dword [eax], 0x20
jle 0x46e0bd
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x46e0c2
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 0x46e184
comiss xmm7, xmm2
jbe 0x46e184
comiss xmm1, dword [ebp - 0x4c]
jbe 0x46e184
comiss xmm6, xmm3
jbe 0x46e184
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.0045d1b0
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 0x46dff0
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 0x46e1fe
mov eax, edx
sub eax, dword [ebp - 0xc4]
cmp eax, 0x200000
jge 0x46e469
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 0x46e240
xorps xmm0, xmm0
jmp 0x46e24c
movss xmm4, dword [ebp - 0xe4]
movss xmm6, dword [ebp - 0xe8]
mov ecx, dword [0x57bab8]
mov edx, dword [ebp - 0xcc]
jmp 0x46e1e1
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 0x46e273
xorps xmm0, xmm0
jmp 0x46e27f
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 0x46e2a3
xorps xmm0, xmm0
jmp 0x46e2af
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 0x46e2d2
xorps xmm0, xmm0
jmp 0x46e2de
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 0x46e469
cmp dword [ebp - 0xc8], 0
jne 0x46e3a1
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 0x46e380
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 0x46e469
cmp dword [edi + 0x18cc], 0
jne 0x46e3c2
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x46e3d3
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 0x46e42a
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.004606f0
cmp byte [ebp - 0xb5], 0
je 0x46e5fe
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
je 0x46e4db
xorps xmm5, xmm5
comiss xmm5, xmm0
jae 0x46e4db
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x150], xmm0
fld qword [ebp - 0x150]
fld qword [0x550a38]
call fcn.004e660a
movss xmm0, dword [0x5509b8]
fstp qword [ebp - 0x150]
movsd xmm1, qword [ebp - 0x150]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x46e4db
xor al, al
jmp 0x46e4dd
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 0x46e5d9
comiss xmm1, dword [ebp - 0x48]
jbe 0x46e5d9
movss xmm5, dword [ebp - 0x10c]
comiss xmm5, xmm0
jbe 0x46e5d9
comiss xmm2, dword [ebp - 0x4c]
jbe 0x46e5d9
movss xmm0, dword [ebp - 8]
comiss xmm0, xmm3
jbe 0x46e5d9
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.00443370
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.0045cfb0
movss xmm3, dword [ebp - 0xe8]
movss xmm4, dword [ebp - 0xdc]
movss xmm6, dword [0x5509c8]
cmp byte [ebp - 0xd4], 0
jne 0x46e5fe
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 0x46e6b2
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 0x46e6a2
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.0044d090
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.0044d1c0
add esp, 4
call fcn.00448260
call fcn.0044d560
mov esi, dword [0x57bab8]
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x144]
test al, al
je 0x46e71f
mov eax, dword [esi + 0x1a00]
mov ecx, dword [eax + 0x278]
dec dword [ecx + 0x4c]
call fcn.0045b740
mov ecx, dword [esi + 0x1b04]
sub ecx, 1
mov dword [esi + 0x1b04], ecx
jne 0x46e704
mov esi, dword [0x57bab8]
mov ecx, dword [esi + 0xa4]
test ecx, ecx
jne 0x46e714
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
jmp 0x46e714
mov eax, dword [esi + 0x1b0c]
mov esi, dword [0x57bab8]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.0044cc40
mov eax, dword [ebp - 0x144]
cmp byte [edi + 0x2dc8], 0
je 0x46e747
test al, al
jne 0x46e747
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x11c]
push ebx
call fcn.004517f0
mov esi, dword [0x57bab8]
add esp, 4
movss xmm0, dword [ebp - 0x158]
comiss xmm0, dword [0x550938]
jbe 0x46e7a6
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.00443610
mov esi, dword [0x57bab8]
add esp, 0xc
mov dl, byte [ebp - 0xd6]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x46e7d1
test ecx, 0x200000
jne 0x46e7d1
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.004c2e59
mov esp, ebp
pop ebp
ret