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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x502060
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [0x60752c]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x210], eax
mov eax, dword [ecx + 0x3e50]
mov byte [eax + 0x90], 1
mov edi, dword [ecx + 0x3e50]
mov dword [ebp - 0x1e8], edi
cmp byte [edi + 0x93], 0
jne 0x49fe4c
mov ecx, dword [ebp + 0x1c]
mov edx, ecx
mov esi, dword [0x60752c]
mov eax, ecx
shr eax, 0xe
and eax, 0xffffff01
shr edx, 0x1a
mov dword [ebp - 0x1e0], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0x1a0], esi
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x244], eax
mov eax, ecx
shr eax, 0x10
not al
mov dword [ebp - 0x1c4], edx
and eax, 0xffffff01
mov dword [ebp - 0x1c8], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x230], eax
test dl, dl
je 0x49f9fd
call fcn.004866b0
mov esi, dword [0x60752c]
mov ecx, dword [edi + 0xc8]
mov eax, dword [edi + 0xd0]
push dword [eax + ecx*4 - 4]
push 0
push dword [ebp - 0x240]
call fcn.0049e590
add esp, 0xc
mov dword [ebp - 0x1cc], eax
cmp dword [esi + 0x3e70], eax
jne 0x49fa44
push 0
push dword [ebp - 0x240]
push 0xb
push eax
call fcn.0048de10
mov esi, dword [0x60752c]
add esp, 0x10
mov edx, dword [ebp - 0x240]
xor ecx, ecx
mov eax, edx
cmp edx, 0xffffffff
jae 0x49fa70
mov dl, byte [eax]
test dl, dl
je 0x49fa6a
cmp dl, 0x23
jne 0x49fa64
cmp byte [eax + 1], dl
cmove ecx, eax
inc eax
cmp eax, 0xffffffff
jb 0x49fa53
mov edx, dword [ebp - 0x240]
movss xmm0, dword [0x5b710c]
test ecx, ecx
movss xmm1, dword [esi + 0x3bec]
movss dword [ebp - 0x228], xmm0
cmove ecx, eax
movss xmm0, dword [0x5b70f8]
mov eax, dword [esi + 0x3be8]
movss dword [ebp - 0x23c], xmm0
xorps xmm0, xmm0
cmp edx, ecx
je 0x49fafd
push 0
push ecx
push edx
sub esp, 0xc
lea ecx, [ebp - 0x1fc]
mov dword [esp + 8], 0xbf800000
mov dword [esp + 4], 0x7f7fffff
movss dword [esp], xmm1
push ecx
mov ecx, eax
call fcn.0048a7d0
movss xmm0, dword [ebp - 0x1fc]
addss xmm0, dword [0x5b7044]
movss xmm1, dword [ebp - 0x1f8]
mov esi, dword [0x60752c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp byte [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x1a0]
movss dword [ebp - 0x250], xmm0
je 0x49fb24
movss xmm1, dword [ecx + 0x3bec]
mulss xmm1, dword [0x538d34]
movss xmm2, dword [ecx + 0x3810]
movaps xmm0, xmm2
addss xmm0, xmm2
push ecx
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.0048a3a0
mov eax, dword [ebp + 0x18]
push ecx
fstp dword [esp]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1fc]
push eax
call fcn.0048a2d0
movss xmm3, dword [ebp - 0x1fc]
add esp, 0x14
cmp dword [ebp - 0x1bc], 0
jge 0x49fb86
movss xmm0, dword [esi + 0x3810]
addss xmm0, xmm0
addss xmm0, dword [esi + 0x3bec]
subss xmm3, xmm0
movss xmm1, dword [ebp - 0x250]
xorps xmm0, xmm0
comiss xmm1, xmm0
mov esi, dword [ebp - 0x1a0]
movss dword [ebp - 0x1f0], xmm3
jbe 0x49fbae
addss xmm1, dword [esi + 0x3824]
jmp 0x49fbb1
xorps xmm1, xmm1
movss xmm2, dword [edi + 0xd4]
addss xmm1, xmm3
movss xmm4, dword [edi + 0xd8]
lea eax, [ebp - 0x290]
movaps xmm5, xmm2
movss dword [ebp - 0x1e4], xmm2
addss xmm5, xmm3
movss dword [ebp - 0x238], xmm4
movss xmm3, dword [ebp - 0x1f8]
movaps xmm0, xmm4
addss xmm0, xmm3
movss dword [ebp - 0x218], xmm3
push 0x3c
push 0
push eax
movss dword [ebp - 0x254], xmm5
movss dword [ebp - 0x12c], xmm0
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [ebp - 0x138], xmm2
movaps xmm1, xmm4
movss dword [ebp - 0x134], xmm4
addss xmm1, xmm3
movss dword [ebp - 0x130], xmm5
movss dword [ebp - 0x148], xmm2
movss dword [ebp - 0x144], xmm4
movss dword [ebp - 0x248], xmm0
movss dword [ebp - 0x140], xmm0
movss dword [ebp - 0x1b4], xmm1
movss dword [ebp - 0x13c], xmm1
mov dword [ebp - 0x1f4], edi
call fcn.004d65b0
movss xmm0, dword [ebp - 0x248]
lea eax, [ebp - 0x1fc]
subss xmm0, dword [ebp - 0x1e4]
movss xmm1, dword [ebp - 0x1b4]
add esp, 0xc
subss xmm1, dword [ebp - 0x238]
movss dword [ebp - 0x1fc], xmm0
movss xmm0, dword [esi + 0x3810]
push ecx
movss dword [esp], xmm0
push eax
movss dword [ebp - 0x1f8], xmm1
call fcn.004a4190
cmp byte [ebp - 0x1c4], 0
je 0x49fed6
push 0x100
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x148]
push eax
call fcn.004a3e00
add esp, 0x18
test al, al
je 0x49fe47
movups xmm0, xmmword [esi + 0x3efc]
mov eax, dword [esi + 0x3f04]
mov dword [ebp - 0x204], eax
lea eax, [esi + 0x3908]
movups xmmword [ebp - 0x290], xmm0
push eax
movups xmm0, xmmword [esi + 0x3f0c]
push 3
movups xmmword [ebp - 0x280], xmm0
movups xmm0, xmmword [esi + 0x3f1c]
movups xmmword [ebp - 0x270], xmm0
movq xmm0, qword [esi + 0x3f2c]
movq qword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x1e4]
movss dword [edi + 0xd4], xmm0
movss xmm0, dword [ebp - 0x238]
movss dword [edi + 0xd8], xmm0
call fcn.004b08c0
movss xmm0, dword [esi + 0x3814]
add esp, 4
movss dword [esp], xmm0
push 7
call fcn.004b0990
movss xmm0, dword [esi + 0x3818]
add esp, 4
movss dword [esp], xmm0
push 8
call fcn.004b0990
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0
push eax
push 2
mov dword [ebp - 0x1f8], 0
call fcn.004b0910
movss xmm1, dword [ebp - 0x130]
lea eax, [ebp - 0x1fc]
movss xmm0, dword [ebp - 0x138]
movss xmm2, dword [ebp - 0x134]
push 4
movss dword [ebp - 0x254], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1e4], xmm0
movss xmm0, dword [ebp - 0x12c]
push 1
push eax
push dword [ebp - 0x1cc]
subss xmm0, xmm2
movss dword [ebp - 0x238], xmm2
push dword [ebp - 0x240]
movss dword [ebp - 0x1fc], xmm1
movss dword [ebp - 0x1f8], xmm0
call fcn.00485a50
push 3
mov byte [ebp - 0x1cd], al
call fcn.004b00c0
push 1
call fcn.004b0070
add esp, 0x2c
cmp byte [ebp - 0x1cd], 0
jne 0x49fe69
call fcn.0048e660
call fcn.0048f020
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x3e50]
mov dword [ebp - 0x1f4], edx
movsx ecx, word [edx + 0x132]
mov eax, dword [edx + 0x12c]
bts ecx, eax
mov word [edx + 0x132], cx
movss xmm0, dword [esi + 0x380c]
addss xmm0, dword [edx + 0xd4]
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [esi + 0x3810]
addss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xd8], xmm0
movss xmm0, dword [ebp - 0x1f0]
subss xmm0, dword [edx + 0x84]
movss dword [ebp - 0x1f0], xmm0
jmp 0x49ff4a
add esp, 8
test dword [ebp - 0x1bc], 0x10000000
jne 0x49ff3e
push 0x100
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x148]
push eax
call fcn.004a3e00
add esp, 0x10
test al, al
je 0x49fe4c
movss xmm0, dword [ebp - 0x134]
movss xmm1, dword [ebp - 0x130]
movss dword [ebp - 0x238], xmm0
movss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x254], xmm1
movss dword [ebp - 0x1e4], xmm0
mov eax, dword [esi + 0x3f04]
mov dword [ebp - 0x204], eax
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x138]
push eax
call fcn.004a3ff0
mov dl, al
add esp, 8
mov byte [ebp - 0x1d5], dl
test dl, dl
je 0x49ff75
mov dword [esi + 0x4174], 1
mov edi, dword [0x60752c]
xor eax, eax
mov ecx, dword [ebp - 0x1cc]
add edi, 0x42a8
cmp dword [edi], ecx
cmovne edi, eax
mov eax, dword [ebp - 0x204]
shr eax, 8
and al, 1
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x204], eax
mov eax, dword [esi + 0x3e88]
cmp eax, ecx
je 0x49ffd1
cmp dword [esi + 0x4020], ecx
je 0x49ffc8
cmp dword [esi + 0x4014], ecx
jne 0x49ffd1
cmp dword [esi + 0x403c], 2
jne 0x49ffd1
mov byte [ebp - 0x1a3], 1
jmp 0x49ffd8
mov byte [ebp - 0x1a3], 0
test dl, dl
je 0x49ffec
cmp byte [esi + 0x3690], 0
mov byte [ebp - 0x1a1], 1
jne 0x49fff3
mov byte [ebp - 0x1a1], 0
cmp byte [ebp - 0x1c4], 0
je 0x4a0025
test edi, edi
je 0x4a0025
test eax, eax
jne 0x4a0025
push 1
push dword [ebp - 0x1f4]
call fcn.00494a60
add esp, 8
cmp dword [esi + 0x3eb0], eax
jne 0x4a0025
mov byte [ebp - 0x1a2], 1
jmp 0x4a0049
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 0x1a2], 0
test al, al
je 0x4a00cf
mov byte [ebp - 0x1a2], 0
test edi, edi
je 0x4a00cf
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xd0]
push dword [eax + ecx*4 - 4]
push 0
push str.SCROLLY
call fcn.0049e590
mov ecx, dword [0x60752c]
mov esi, eax
add esp, 0xc
cmp dword [ecx + 0x3e70], esi
jne 0x4a0090
push 0
push str.SCROLLY
push 0xb
push esi
call fcn.0048de10
add esp, 0x10
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1c4]
cmp dword [edx + 0x3e88], esi
jne 0x4a00d5
mov esi, dword [ebp - 0x1f4]
mov cl, 1
mov byte [ebp - 0x1af], cl
mov byte [ebp - 0x1bd], 0
mov byte [ebp - 0x1ac], 0
movss xmm0, dword [esi + 0x60]
movss dword [ebp - 0x23c], xmm0
jmp 0x4a010c
mov edx, dword [ebp - 0x1a0]
xor cl, cl
mov byte [ebp - 0x1bd], 0
mov byte [ebp - 0x1ac], 0
mov byte [ebp - 0x1af], cl
test al, al
je 0x4a0104
mov esi, dword [ebp - 0x1f4]
movss xmm0, dword [esi + 0x60]
movss dword [ebp - 0x23c], xmm0
jmp 0x4a010c
xor cl, cl
mov byte [ebp - 0x1af], cl
test edi, edi
je 0x4a011b
xor al, 1
cmp byte [edi + 0x53], al
je 0x4a011b
mov al, 1
jmp 0x4a011d
xor al, al
cmp byte [ebp - 0x1a1], 0
mov byte [ebp - 0x1ad], al
jne 0x4a015a
cmp byte [ebp - 0x1a2], 0
jne 0x4a015a
cmp byte [ebp - 0x1a3], 0
jne 0x4a015a
cmp byte [ebp - 0x204], 0
jne 0x4a015a
mov byte [ebp - 0x1a2], 0
test cl, cl
jne 0x4a0161
mov byte [ebp - 0x1a4], cl
jmp 0x4a0176
mov byte [ebp - 0x1a2], 1
mov ecx, dword [ebp - 0x1cc]
mov byte [ebp - 0x1a4], 1
cmp dword [edx + 0x3e88], ecx
jne 0x4a017e
test al, al
je 0x4a0402
mov esi, dword [ebp - 0x1b8]
lea edi, [edx + 0x42a8]
mov dword [ebp - 0x214], edi
mov dword [edi + 0x17c4], 0xbe99999a
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a01a0
mov eax, dword [edi + 0x28]
sub esi, ecx
lea edx, [esi + 1]
cmp edx, eax
jle 0x4a01de
test eax, eax
je 0x4a01c6
cdq
sub eax, edx
lea edx, [esi + 1]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x28]
jmp 0x4a01cb
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.004c7760
lea edx, [esi + 1]
push edx
push dword [ebp - 0x1b8]
mov dword [edi + 0x24], edx
push dword [edi + 0x2c]
call fcn.004d6030
mov eax, dword [ebp - 0x1cc]
add esp, 0xc
cmp dword [edi], eax
jne 0x4a022e
cmp byte [ebp - 0x1ad], 0
jne 0x4a022e
mov byte [ebp - 0x1a5], 1
cmp dword [edi + 8], esi
jne 0x4a022e
cmp byte [edi + 0x30], 0
je 0x4a0235
push esi
push dword [ebp - 0x1b8]
push dword [edi + 0x20]
call fcn.004e0000
add esp, 0xc
test eax, eax
je 0x4a0235
mov byte [ebp - 0x1a5], 0
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp + 0x14]
mov dword [edi], eax
inc edx
mov esi, dword [edi + 0x10]
lea eax, [edi + 0xc]
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x1b4], edx
cmp edx, esi
jle 0x4a0290
test esi, esi
je 0x4a0272
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x1b4]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x4a0277
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.004c7860
mov edx, dword [ebp - 0x1b4]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x4a02b2
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 + 0x18]
call fcn.004c7760
mov esi, dword [ebp - 0x1b8]
lea eax, [ebp - 0x224]
push eax
push 0
push esi
push dword [ebp + 0x14]
mov dword [edi + 0x18], 0
push dword [edi + 0x14]
mov byte [edi + 0x30], 0
call fcn.0049ea40
mov ecx, dword [ebp - 0x224]
add esp, 0x14
sub ecx, esi
mov edx, eax
mov dword [edi + 8], ecx
mov cl, byte [ebp - 0x1a5]
mov dword [edi + 4], edx
test cl, cl
je 0x4a031f
cmp dword [edi + 0x3c], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
mov cl, byte [ebp - 0x1a5]
mov dword [edi + 0x44], edx
jmp 0x4a0380
mov al, byte [ebp - 0x1c4]
xor al, 1
mov dword [edi + 0x38], 0
mov dword [edi + 0x17b4], 0x630000
mov dword [edi + 0x17b8], 0
mov dword [edi + 0x17bc], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov word [edi + 0x51], 1
mov dword [edi + 0x58], 0
mov byte [edi + 0x50], 0
mov byte [edi + 0x53], al
mov byte [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [ebp - 0x1c4], 0
jne 0x4a03f2
mov eax, dword [ebp - 0x1ac]
mov edx, 1
test byte [ebp - 0x1bc], 0x10
movzx eax, al
cmovne eax, edx
cmp byte [ebp - 0x1a3], 0
mov dword [ebp - 0x1ac], eax
je 0x4a03cb
test cl, cl
mov ecx, dword [ebp - 0x1a0]
je 0x4a03c3
test byte [ecx + 0x4024], 4
jne 0x4a03d1
mov byte [ebp - 0x1ac], dl
jmp 0x4a03d1
mov ecx, dword [ebp - 0x1a0]
cmp byte [ebp - 0x204], 0
jne 0x4a03ec
cmp byte [ebp - 0x1a1], 0
je 0x4a03f2
cmp byte [ecx + 0xd8c], 0
je 0x4a03f2
mov byte [ebp - 0x1ac], dl
test dword [ebp - 0x1bc], 0x2000
je 0x4a0402
mov byte [edi + 0x48], 1
mov esi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1cc]
cmp dword [esi + 0x3e88], eax
je 0x4a04e2
cmp byte [ebp - 0x1a2], 0
je 0x4a04da
mov esi, dword [ebp - 0x1e8]
push esi
push eax
call fcn.004b6800
push esi
push dword [ebp - 0x1cc]
call fcn.004b7030
push esi
call fcn.00491c00
mov esi, dword [ebp - 0x1a0]
add esp, 0x14
mov edx, dword [ebp - 0x1c4]
mov eax, dword [esi + 0x3ec8]
or eax, 3
mov dword [esi + 0x3ec8], eax
test dl, dl
jne 0x4a0472
mov ecx, dword [ebp - 0x1bc]
test cl, cl
jns 0x4a047b
or eax, 0xc
mov dword [esi + 0x3ec8], eax
or dword [esi + 0x3ecc], 2
mov eax, dword [0x60752c]
or dword [eax + 0x3ed0], 0x80
mov eax, dword [0x60752c]
or dword [eax + 0x3ed0], 0x100
test dl, dl
je 0x4a04bb
push 0x205
call fcn.004b6950
push 0x206
call fcn.004b6950
add esp, 8
test dword [ebp - 0x1bc], 0x440
je 0x4a04d4
push 0x200
call fcn.004b6950
add esp, 4
mov eax, dword [ebp - 0x1cc]
cmp dword [esi + 0x3e88], eax
jne 0x4a0524
test edi, edi
jne 0x4a04f6
push edi
push edi
call fcn.004b6800
mov eax, dword [ebp - 0x1cc]
add esp, 8
cmp dword [esi + 0x3e88], eax
jne 0x4a0524
cmp byte [esi + 0x3690], 0
je 0x4a0531
cmp byte [ebp - 0x1a4], 0
jne 0x4a0531
cmp byte [ebp - 0x1a2], 0
jne 0x4a0531
mov byte [ebp - 0x1bd], 1
mov cl, 1
jmp 0x4a0537
test edi, edi
je 0x4a0535
cmp byte [ebp - 0x1af], 0
je 0x4a0535
mov cl, 1
jmp 0x4a0537
xor cl, cl
mov byte [ebp - 0x1ae], cl
test edi, edi
je 0x4a055d
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a0552
cmp byte [ebp - 0x1ac], 0
je 0x4a055d
test cl, cl
je 0x4a055d
mov edx, 1
jmp 0x4a055f
xor dl, dl
cmp byte [ebp - 0x1e0], 0
mov dword [ebp - 0x204], edx
mov byte [ebp - 0x1be], dl
mov byte [ebp - 0x1cd], 0
mov byte [ebp - 0x1a2], 0
je 0x4a05ff
test edi, edi
je 0x4a05ff
test cl, cl
jne 0x4a058e
test dl, dl
je 0x4a0607
mov eax, dword [ebp + 0x14]
lea ecx, [edi + 0xc]
inc eax
mov dword [ebp - 0x1b4], 0
push eax
call fcn.004c7e10
lea eax, [ebp - 0x1b4]
push eax
push 0
push dword [ebp - 0x1b8]
push dword [edi + 0xc]
push dword [edi + 0x14]
call fcn.0049ea40
mov dword [edi + 4], eax
add esp, 0x14
mov eax, dword [ebp - 0x1b4]
mov ecx, edi
sub eax, dword [ebp - 0x1b8]
mov dword [edi + 8], eax
call fcn.0048d400
mov ecx, dword [edi + 0x40]
xor edx, edx
cmp ecx, dword [edi + 0x44]
movzx eax, byte [ebp - 0x1be]
mov esi, dword [ebp - 0x1a0]
cmovne edx, eax
mov cl, byte [ebp - 0x1ae]
mov dword [ebp - 0x204], edx
test cl, cl
jne 0x4a0615
test dl, dl
jne 0x4a0615
mov eax, dword [ebp - 0x1cc]
cmp dword [esi + 0x3e88], eax
jne 0x4a062c
cmp byte [ebp - 0x1e0], 0
jne 0x4a062c
test edi, edi
je 0x4a062c
cmp byte [edi + 0x30], 0
je 0x4a062c
mov al, 1
jmp 0x4a062e
xor al, al
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 0x1be], al
test edx, edx
je 0x4a0656
test al, al
je 0x4a0647
mov eax, dword [edi + 0x20]
jmp 0x4a064d
mov eax, dword [ebp - 0x1b8]
cmp byte [eax], 0
jne 0x4a0656
mov al, 1
jmp 0x4a0658
xor al, al
cmp byte [ebp - 0x244], 0
mov byte [ebp - 0x1a4], al
je 0x4a06da
test al, al
jne 0x4a06da
mov ecx, dword [esi + 0x3be8]
push 0x2a
call fcn.00491760
mov edx, eax
add esi, 0x5a78
mov eax, dword [ebp - 0x1a0]
push esi
mov ecx, dword [eax + 0x3be8]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0x10], ecx
mov ecx, dword [eax + 0x3be8]
mov ecx, dword [ecx + 0x4c]
mov dword [esi + 0x4c], ecx
mov ecx, dword [eax + 0x3be8]
mov eax, dword [ecx + 0x50]
mov ecx, dword [ebp - 0x1a0]
mov dword [esi + 0x50], eax
mov eax, dword [ecx + 0x3be8]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x54], eax
mov eax, dword [ecx + 0x3be8]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x30], eax
mov dword [esi + 0x2c], edx
mov eax, dword [edx + 4]
mov dword [esi + 0xc], eax
call fcn.004b05f0
add esp, 4
mov esi, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1cc]
movss xmm0, dword [0x538d10]
mov dword [ebp - 0x248], 0
cmp dword [esi + 0x3e88], ecx
jne 0x4a0bc5
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x1bc]
mov byte [edi + 0x17ca], 0
mov dword [edi + 0x17cc], edx
mov dword [ebp - 0x248], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xd7c], 0
mov dword [esi + 0x5e60], 1
sete al
cmp byte [ebp - 0x1c4], 0
mov byte [esi + 0x3e95], al
movss xmm7, dword [esi + 0xd74]
subss xmm7, dword [ebp - 0x1e4]
subss xmm7, dword [esi + 0x380c]
addss xmm7, dword [edi + 0x38]
je 0x4a077e
mov eax, dword [ebp - 0x1f4]
movss xmm1, dword [esi + 0xd78]
subss xmm1, dword [eax + 0xd8]
jmp 0x4a078a
movss xmm1, dword [esi + 0x3bec]
mulss xmm1, xmm0
cmp byte [ebp - 0x1ac], 0
mov cl, byte [esi + 0x59]
mov byte [ebp - 0x1a1], cl
je 0x4a07bc
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0x17c9], 1
jmp 0x4a0a37
mov dl, byte [ebp - 0x1d5]
test dl, dl
je 0x4a095a
cmp word [esi + 0x369a], 2
jb 0x4a095a
cmp byte [esi + 0xd8d], 0
jne 0x4a095a
sub esp, 8
lea esi, [edi + 0x3c]
movss dword [esp + 4], xmm1
movss dword [esp], xmm7
push esi
push edi
call fcn.004c8af0
mov ecx, dword [ebp - 0x1a0]
add esp, 0x10
mov esi, dword [esi]
movzx eax, word [ecx + 0x369a]
sub eax, 2
test al, 1
jne 0x4a0901
test esi, esi
je 0x4a082c
mov eax, dword [edi + 0x14]
cmp dword [eax + esi*4 - 4], 0xa
je 0x4a082c
xor cl, cl
jmp 0x4a082e
mov cl, 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a083a
test cl, cl
jne 0x4a0849
push 0x20000c
mov ecx, edi
call fcn.004af1d0
mov esi, dword [edi + 0x3c]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a0866
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
jne 0x4a0861
mov dword [edi + 0x44], esi
mov dword [edi + 0x40], esi
jmp 0x4a0866
mov dword [edi + 0x3c], eax
mov esi, eax
lea ecx, [esi + 1]
mov esi, dword [edi + 4]
cmp ecx, esi
jge 0x4a08c5
mov eax, dword [edi + 0x17cc]
and eax, 0x8000
mov dword [ebp - 0x1b4], eax
test eax, eax
jne 0x4a08be
test ecx, ecx
jle 0x4a08c3
mov edx, dword [edi + 0x14]
push dword [edx + ecx*4 - 4]
call fcn.004c4e80
add esp, 4
test al, al
jne 0x4a08b2
push dword [edx + ecx*4]
call fcn.004c4e80
add esp, 4
test al, al
je 0x4a08b2
mov eax, 1
jmp 0x4a08b4
xor eax, eax
test eax, eax
jne 0x4a08c3
mov eax, dword [ebp - 0x1b4]
inc ecx
cmp ecx, esi
jl 0x4a0881
cmp ecx, esi
cmovg ecx, esi
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x44], ecx
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x4a08ee
cmp eax, esi
jle 0x4a08de
mov dword [edi + 0x40], esi
mov eax, esi
cmp ecx, esi
jle 0x4a08e7
mov dword [edi + 0x44], esi
mov ecx, esi
cmp eax, ecx
jne 0x4a08ee
mov dword [edi + 0x3c], eax
cmp dword [edi + 0x3c], esi
jle 0x4a094f
mov dword [edi + 0x3c], esi
mov esi, dword [ebp - 0x1a0]
jmp 0x4a0a21
mov eax, dword [edi + 0x14]
mov ecx, edi
push 0x200004
mov esi, dword [eax + esi*4]
call fcn.004af1d0
push 0x600005
mov ecx, edi
call fcn.004af1d0
push 0x600001
mov ecx, edi
call fcn.004af1d0
cmp esi, 0xa
je 0x4a0948
cmp byte [ebp - 0x1c4], 0
je 0x4a0948
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x44]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov byte [edi + 0x17c8], 0
mov esi, dword [ebp - 0x1a0]
jmp 0x4a0a21
cmp byte [esi + 0x3690], 0
mov al, byte [edi + 0x17c9]
je 0x4a0995
test al, al
jne 0x4a0995
test dl, dl
je 0x4a0a31
sub esp, 8
lea eax, [edi + 0x3c]
movss dword [esp + 4], xmm1
movss dword [esp], xmm7
push eax
push edi
call fcn.004c8af0
add esp, 0x10
jmp 0x4a0a21
cmp byte [esi + 0xd7c], 0
je 0x4a0a31
test al, al
jne 0x4a0a31
movss xmm0, dword [esi + 0xd0]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x4a09cf
movss xmm0, dword [esi + 0xd4]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4a0a31
cmp byte [edi + 0x53], 0
je 0x4a09ef
push 0
lea eax, [ebp - 0x150]
push edi
push eax
call fcn.004b4f90
movss xmm1, dword [ebp - 0x144]
add esp, 0xc
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a09fd
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm7
push edi
call fcn.004c8520
mov dword [edi + 0x44], eax
add esp, 0xc
mov dword [edi + 0x3c], eax
mov byte [edi + 0x17c8], 1
mov cl, byte [ebp - 0x1a1]
mov dword [edi + 0x17c4], 0xbe99999a
mov edx, dword [ebp - 0x1bc]
cmp byte [edi + 0x17c9], 0
je 0x4a0a50
cmp byte [esi + 0xd7c], 0
jne 0x4a0a50
mov byte [edi + 0x17c9], 0
cmp byte [esi + 0xd8c], 0
je 0x4a0a62
cmp byte [esi + 0xd8e], 0
je 0x4a0a6f
test cl, cl
je 0x4a0a78
cmp byte [esi + 0xd8f], 0
je 0x4a0a78
mov byte [ebp - 0x199], 1
jmp 0x4a0a7f
mov byte [ebp - 0x199], 0
test edx, 0x400
je 0x4a0c68
push 1
push 0x200
call fcn.004a3990
mov cl, byte [ebp - 0x199]
add esp, 8
test al, al
je 0x4a0afc
test cl, cl
jne 0x4a0afc
cmp byte [esi + 0xd8d], cl
jne 0x4a0afc
cmp byte [ebp - 0x1e0], cl
jne 0x4a0afc
push 2
push dword [ebp - 0x210]
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 9
push dword [ebp - 0x208]
push dword [ebp - 0x1bc]
push eax
call fcn.004a3170
add esp, 0x14
test al, al
je 0x4a0af6
push dword [ebp - 0x1b4]
mov ecx, edi
call fcn.004af1d0
mov cl, byte [ebp - 0x199]
mov edx, dword [ebp - 0x1bc]
cmp dword [esi + 0x37a8], 0
lea eax, [esi + 0x37a8]
jle 0x4a0bc5
test cl, cl
jne 0x4a0bbc
cmp byte [ebp - 0x1e0], cl
jne 0x4a0bbc
cmp byte [ebp - 0x1a3], cl
jne 0x4a0bbc
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x37b0]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x1b4], eax
cmp eax, 9
je 0x4a0ba0
push 2
push dword [ebp - 0x210]
lea eax, [ebp - 0x1b4]
push dword [ebp - 0x208]
push edx
push eax
call fcn.004a3170
add esp, 0x14
test al, al
je 0x4a0ba0
push dword [ebp - 0x1b4]
lea eax, [edi + 0x3c]
push eax
push edi
call fcn.004c8e80
add esp, 0xc
mov byte [edi + 0x17c8], 1
mov dword [edi + 0x17c4], 0xbe99999a
mov eax, dword [ebp - 0x1a0]
inc esi
mov edx, dword [ebp - 0x1bc]
add eax, 0x37a8
cmp esi, dword [eax]
jl 0x4a0b40
mov esi, dword [ebp - 0x1a0]
push 0
mov ecx, eax
call fcn.004c7e10
mov eax, dword [ebp - 0x1cc]
xor cl, cl
mov byte [ebp - 0x199], cl
cmp dword [esi + 0x3e88], eax
jne 0x4a18d1
cmp byte [esi + 0x3e94], cl
jne 0x4a18d1
cmp byte [ebp - 0x1bd], cl
jne 0x4a18d1
movss xmm0, dword [ebp - 0x218]
mov ecx, 1
subss xmm0, dword [esi + 0x3810]
mov edx, dword [ebp - 0x1a0]
divss xmm0, dword [esi + 0x3bec]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor esi, esi
mov dword [edi + 0x4c], ecx
mov eax, 0x400000
cmp byte [edx + 0xd8d], 0
mov dword [ebp - 0x1b4], ecx
mov cl, byte [edx + 0x59]
cmovne esi, eax
mov byte [ebp - 0x219], cl
test cl, cl
je 0x4a0c73
cmp dword [edx + 0xde0], 0xa
jne 0x4a0c73
mov eax, 0xa
mov byte [ebp - 0x1ad], 1
mov dword [ebp - 0x1ac], eax
jmp 0x4a0c8a
mov cl, byte [ebp - 0x199]
jmp 0x4a0b02
mov eax, dword [edx + 0xde0]
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 0x1ad], 0
test cl, cl
je 0x4a0cb5
cmp byte [edx + 0xd8f], 0
mov cl, byte [edx + 0xd8e]
mov byte [ebp - 0x1af], cl
je 0x4a0cce
cmp byte [edx + 0xd8c], 0
jne 0x4a0cce
test cl, cl
jne 0x4a0cce
mov byte [ebp - 0x1a5], 1
jmp 0x4a0cd5
mov cl, byte [edx + 0xd8c]
mov byte [ebp - 0x1af], cl
mov byte [ebp - 0x1ad], 0
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 0x1a5], 0
cmp byte [edx + 0x59], 0
je 0x4a0ce0
cmp eax, 8
jmp 0x4a0ce3
cmp eax, 1
sete cl
mov byte [ebp - 0x1a3], cl
test cl, cl
je 0x4a0d09
push 1
push 0x239
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0d21
mov eax, dword [ebp - 0x1ac]
cmp eax, 2
jne 0x4a0d4d
push 1
push 0x20a
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0d4d
cmp byte [ebp - 0x1e0], 0
jne 0x4a0d4d
cmp byte [ebp - 0x244], 0
jne 0x4a0d4d
cmp byte [ebp - 0x1c4], 0
je 0x4a0d44
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x4a0d4d
mov byte [ebp - 0x1a1], 1
jmp 0x4a0d54
mov byte [ebp - 0x1a1], 0
cmp byte [ebp - 0x1a3], 0
je 0x4a0d70
push 1
push 0x224
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0d8c
cmp dword [ebp - 0x1ac], 1
jne 0x4a0daf
push 1
push 0x209
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0daf
cmp byte [ebp - 0x244], 0
jne 0x4a0daf
cmp byte [ebp - 0x1c4], 0
je 0x4a0da6
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x4a0daf
mov byte [ebp - 0x21a], 1
jmp 0x4a0db6
mov byte [ebp - 0x21a], 0
cmp byte [ebp - 0x1a3], 0
je 0x4a0dd2
push 1
push 0x237
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0dee
cmp dword [ebp - 0x1ac], 2
jne 0x4a0dfe
push 1
push 0x209
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0dfe
cmp byte [ebp - 0x1e0], 0
mov byte [ebp - 0x1d5], 1
je 0x4a0e05
mov byte [ebp - 0x1d5], 0
cmp byte [ebp - 0x1a3], 0
je 0x4a0e3c
push 1
push 0x23b
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0e3c
cmp byte [ebp - 0x1e0], 0
jne 0x4a0e3c
cmp byte [ebp - 0x1c8], 0
je 0x4a0e3c
mov byte [ebp - 0x21b], 1
jmp 0x4a0e4c
xor al, al
mov byte [ebp - 0x21b], al
cmp byte [ebp - 0x1a3], al
je 0x4a0e5f
push 1
push 0x23a
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0e7b
cmp byte [ebp - 0x1ad], 0
je 0x4a0e94
push 1
push 0x23b
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0e94
cmp byte [ebp - 0x1e0], 0
jne 0x4a0e94
cmp byte [ebp - 0x1c8], 0
mov byte [ebp - 0x1e9], 1
jne 0x4a0e9b
mov byte [ebp - 0x1e9], 0
push 1
push 0x20d
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0ec8
push 1
push 0x267
call fcn.004a3990
add esp, 8
mov byte [ebp - 0x1ad], 0
test al, al
je 0x4a0ecf
mov byte [ebp - 0x1ad], 1
mov eax, dword [0x60752c]
xorps xmm1, xmm1
movss xmm0, dword [eax + 0x36fc]
comiss xmm1, xmm0
ja 0x4a0ef7
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4a0ef7
movss xmm0, dword [0x538d18]
jmp 0x4a0efa
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x4a0f15
push 1
push 0x20c
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0f49
xorps xmm1, xmm1
mov eax, dword [0x60752c]
movss xmm0, dword [eax + 0x3704]
comiss xmm1, xmm0
ja 0x4a0f3a
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4a0f3a
movss xmm0, dword [0x538d18]
jmp 0x4a0f3d
xorps xmm0, xmm0
comiss xmm0, xmm1
mov byte [ebp - 0x21d], 0
jbe 0x4a0f50
mov byte [ebp - 0x21d], 1
push 1
push 0x20e
call fcn.004a3990
add esp, 8
test al, al
jne 0x4a0f9a
mov eax, dword [0x60752c]
xorps xmm1, xmm1
movss xmm0, dword [eax + 0x3700]
comiss xmm1, xmm0
ja 0x4a0f8b
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4a0f8b
movss xmm0, dword [0x538d18]
jmp 0x4a0f8e
xorps xmm0, xmm0
comiss xmm0, xmm1
mov byte [ebp - 0x21c], 0
jbe 0x4a0fa1
mov byte [ebp - 0x21c], 1
push 1
push 0x201
call fcn.004a3990
add esp, 8
test al, al
je 0x4a0ff4
cmp byte [ebp - 0x1a5], 0
je 0x4a0fd1
mov eax, 0x200004
mov ecx, edi
or esi, eax
push esi
call fcn.004af1d0
jmp 0x4a18a8
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0x1af], 0
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.004af1d0
jmp 0x4a18a8
push 1
push 0x202
call fcn.004a3990
add esp, 8
test al, al
je 0x4a102e
cmp byte [ebp - 0x1a5], 0
je 0x4a1024
mov eax, 0x200005
mov ecx, edi
or esi, eax
push esi
call fcn.004af1d0
jmp 0x4a18a8
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x4a0fdb
push 1
push 0x203
call fcn.004a3990
add esp, 8
test al, al
je 0x4a10ae
cmp byte [ebp - 0x1c4], 0
je 0x4a10ae
mov eax, dword [ebp - 0x1a0]
cmp byte [eax + 0xd8c], 0
je 0x4a1091
mov edx, dword [ebp - 0x1f4]
mov esi, eax
movss xmm0, dword [edx + 0x60]
subss xmm0, dword [esi + 0x3bec]
mov dword [edx + 0x78], 0
mov dword [edx + 0x80], 0
maxss xmm0, dword [0x5b6fc8]
movss dword [edx + 0x70], xmm0
jmp 0x4a18ae
movzx eax, byte [ebp - 0x1a5]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.004af1d0
jmp 0x4a18a8
push 1
push 0x204
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1136
cmp byte [ebp - 0x1c4], 0
je 0x4a1136
mov eax, dword [ebp - 0x1a0]
cmp byte [eax + 0xd8c], 0
je 0x4a1119
mov ecx, dword [ebp - 0x1f4]
mov esi, eax
mov eax, dword [0x60752c]
movss xmm0, dword [esi + 0x3bec]
mov eax, dword [eax + 0x3e50]
addss xmm0, dword [ecx + 0x60]
minss xmm0, dword [eax + 0x68]
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x80], 0
movss dword [ecx + 0x70], xmm0
jmp 0x4a18ae
movzx eax, byte [ebp - 0x1a5]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.004af1d0
jmp 0x4a18a8
push 1
push 0x205
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1194
cmp byte [ebp - 0x1c4], 0
je 0x4a1194
or esi, 0x20000e
mov ecx, edi
push esi
call fcn.004af1d0
mov edx, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1a0]
movss xmm1, dword [ebp - 0x23c]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bec]
subss xmm1, xmm0
movss dword [ebp - 0x23c], xmm1
jmp 0x4a18ae
push 1
push 0x206
call fcn.004a3990
add esp, 8
test al, al
je 0x4a11ee
cmp byte [ebp - 0x1c4], 0
je 0x4a11ee
or esi, 0x20000f
mov ecx, edi
push esi
call fcn.004af1d0
mov edx, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1a0]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bec]
addss xmm0, dword [ebp - 0x23c]
movss dword [ebp - 0x23c], xmm0
jmp 0x4a18ae
push 1
push 0x207
call fcn.004a3990
add esp, 8
test al, al
je 0x4a122b
mov eax, esi
or eax, 0x200006
or esi, 0x200004
mov ecx, dword [ebp - 0x1a0]
cmp byte [ecx + 0xd8c], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.004af1d0
jmp 0x4a18a8
push 1
push 0x208
call fcn.004a3990
add esp, 8
test al, al
je 0x4a124d
mov eax, esi
or eax, 0x200007
or esi, 0x200005
jmp 0x4a120e
push 1
push 0x20a
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1285
cmp byte [ebp - 0x1e0], 0
jne 0x4a1285
cmp byte [ebp - 0x1a1], 0
jne 0x4a1285
or esi, 0x200008
mov ecx, edi
push esi
call fcn.004af1d0
jmp 0x4a18a8
push 1
push 0x20b
call fcn.004a3990
mov edx, dword [ebp - 0x1e0]
add esp, 8
test al, al
je 0x4a131e
test dl, dl
jne 0x4a131e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a130b
cmp byte [ebp - 0x1af], dl
je 0x4a12d5
push 0x60000c
mov ecx, edi
call fcn.004af1d0
or esi, 0x200009
mov ecx, edi
push esi
call fcn.004af1d0
jmp 0x4a18a8
cmp byte [ebp - 0x219], 0
je 0x4a130b
mov eax, dword [ebp - 0x1a0]
cmp byte [eax + 0xd8f], 0
je 0x4a130b
cmp byte [eax + 0xd8e], 0
jne 0x4a130b
cmp byte [eax + 0xd8c], 0
jne 0x4a130b
push 0x600004
mov ecx, edi
call fcn.004af1d0
or esi, 0x200009
mov ecx, edi
push esi
call fcn.004af1d0
jmp 0x4a18a8
cmp byte [ebp - 0x1ad], 0
je 0x4a13ba
mov ecx, dword [ebp - 0x1bc]
mov eax, ecx
mov esi, dword [ebp - 0x1a0]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x1c4], 0
je 0x4a1354
test al, al
je 0x4a1367
cmp byte [esi + 0xd8c], 0
jne 0x4a1370
mov byte [ebp - 0x1bd], 1
mov byte [ebp - 0x1a2], 1
jmp 0x4a18ae
cmp byte [esi + 0xd8c], 0
jne 0x4a1354
test dl, dl
jne 0x4a18ae
push 2
push dword [ebp - 0x210]
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0xa
push dword [ebp - 0x208]
push ecx
push eax
call fcn.004a3170
add esp, 0x14
test al, al
je 0x4a18a8
push dword [ebp - 0x1b4]
mov ecx, edi
call fcn.004af1d0
jmp 0x4a18ae
cmp byte [ebp - 0x21d], 0
je 0x4a13d6
mov byte [ebp - 0x1bd], 1
mov byte [ebp - 0x1a2], 1
jmp 0x4a18a8
cmp byte [ebp - 0x21c], 0
je 0x4a13f8
mov esi, dword [ebp - 0x1a0]
mov cl, 1
mov byte [ebp - 0x199], cl
mov byte [ebp - 0x1bd], cl
jmp 0x4a18b4
mov al, byte [ebp - 0x21b]
test al, al
jne 0x4a188c
cmp byte [ebp - 0x1e9], al
jne 0x4a188c
cmp byte [ebp - 0x1a3], al
je 0x4a144a
push 1
push 0x222
call fcn.004a3990
add esp, 8
test al, al
je 0x4a144a
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0x17c8], 1
jmp 0x4a18a5
mov al, byte [ebp - 0x1a1]
test al, al
jne 0x4a1742
cmp byte [ebp - 0x21a], al
jne 0x4a1742
cmp byte [ebp - 0x1d5], al
je 0x4a18a8
mov eax, dword [0x60752c]
mov ecx, dword [eax + 0x9c]
test ecx, ecx
je 0x4a149c
push dword [eax + 0xa4]
call ecx
mov esi, eax
mov dword [ebp - 0x1dc], eax
add esp, 4
test esi, esi
je 0x4a18a8
jmp 0x4a14a7
mov esi, 0x503500
mov dword [ebp - 0x1dc], esi
push 0x100
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.004d65b0
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a14c0
mov eax, dword [ebp - 0x1a0]
sub esi, ecx
mov eax, dword [eax + 0x84]
cmp esi, eax
jbe 0x4a150e
push esi
push eax
push str.Paste_Error:_Max:__zu__Received:__zu
lea eax, [ebp - 0x110]
push 0x100
push eax
call fcn.004317b0
lea eax, [ebp - 0x110]
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x1dc], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a1505
sub esi, ecx
lea eax, [esi*4 + 4]
push eax
call fcn.004a55d0
mov ecx, dword [ebp - 0x1dc]
mov edx, eax
xor eax, eax
mov dword [ebp - 0x1c8], edx
add esp, 4
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b4], ecx
test esi, esi
jle 0x4a15c2
mov edi, ecx
push 0
lea eax, [ebp - 0x1e8]
push edi
push eax
call fcn.0049e6f0
add esp, 0xc
add edi, eax
cmp dword [ebp - 0x1e8], 0
je 0x4a15b0
push 4
push dword [ebp - 0x210]
lea eax, [ebp - 0x1e8]
push dword [ebp - 0x208]
push dword [ebp - 0x1bc]
push eax
call fcn.004a3170
add esp, 0x14
test al, al
je 0x4a15a4
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1e8]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp - 0x1ac], ecx
mov eax, edi
sub eax, dword [ebp - 0x1dc]
cmp eax, esi
jl 0x4a1544
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1c8]
mov dword [edx + eax*4], 0
test eax, eax
jle 0x4a171a
mov ecx, dword [edi + 0x44]
lea esi, [edi + 0x3c]
mov eax, dword [esi + 4]
cmp eax, ecx
je 0x4a1605
mov dword [esi + 0x1784], 1
mov edx, dword [edi + 4]
cmp eax, edx
jle 0x4a15f4
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x4a15fd
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x4a1608
mov dword [esi], eax
jmp 0x4a1608
mov edx, dword [edi + 4]
mov edi, dword [esi]
cmp edi, edx
mov dword [ebp - 0x1d4], edi
mov edi, dword [ebp - 0x214]
jle 0x4a1622
mov dword [esi], edx
mov dword [ebp - 0x1d4], edx
mov edx, dword [edi + 4]
cmp eax, ecx
je 0x4a1689
mov dword [ebp - 0x1dc], eax
cmp eax, edx
jle 0x4a1640
mov eax, edx
mov dword [esi + 4], edx
mov dword [ebp - 0x1dc], eax
jmp 0x4a1646
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e8], ecx
cmp ecx, edx
jle 0x4a1659
mov dword [esi + 8], edx
mov dword [ebp - 0x1e8], edx
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0x1e8]
mov edi, ecx
cmp dword [ebp - 0x1dc], edi
mov edi, dword [ebp - 0x214]
jne 0x4a1689
mov eax, dword [ebp - 0x1dc]
mov dword [esi], eax
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], edx
jle 0x4a1693
mov dword [esi], edx
cmp eax, ecx
je 0x4a16c6
jge 0x4a16ac
sub ecx, eax
push ecx
push eax
push esi
push edi
call fcn.004c8b50
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x4a16bd
sub eax, ecx
push eax
push ecx
push esi
push edi
call fcn.004c8b50
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 0x10
mov byte [esi + 0x16], 0
push dword [ebp - 0x1ac]
push dword [ebp - 0x1c8]
push dword [esi]
push edi
call fcn.004b4e60
add esp, 0x10
test al, al
je 0x4a1703
push dword [ebp - 0x1ac]
lea eax, [esi + 0x20]
push 0
push dword [esi]
push eax
call fcn.004c8410
mov eax, dword [ebp - 0x1ac]
add esp, 0x10
add dword [esi], eax
mov byte [esi + 0x16], 0
mov edx, dword [ebp - 0x1c8]
mov dword [esi + 0x1784], 0
mov byte [edi + 0x17c8], 1
test edx, edx
je 0x4a172d
mov eax, dword [0x60752c]
test eax, eax
je 0x4a172d
dec dword [eax + 0xcc]
push dword [0x6075ac]
push edx
call dword [0x5e0e2c]
add esp, 8
jmp 0x4a18a8
mov esi, dword [ebp - 0x1a0]
cmp dword [esi + 0xa0], 0
je 0x4a17f1
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
cmp ecx, eax
je 0x4a1769
mov edx, eax
cmovge eax, ecx
cmovl edx, ecx
jmp 0x4a176e
mov eax, dword [edi + 4]
xor edx, edx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x224], edx
lea eax, [ecx + eax*4]
push eax
lea eax, [ecx + edx*4]
push eax
call fcn.0049e9d0
lea esi, [eax + 1]
push esi
call fcn.004a55d0
mov edx, dword [edi + 0x14]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1c8], eax
lea ecx, [edx + ecx*4]
push ecx
mov ecx, dword [ebp - 0x224]
lea ecx, [edx + ecx*4]
push ecx
push esi
mov esi, eax
push esi
call fcn.0049ec00
push esi
call fcn.004b6a10
add esp, 0x20
test esi, esi
je 0x4a17d5
mov eax, dword [0x60752c]
test eax, eax
je 0x4a17d5
dec dword [eax + 0xcc]
push dword [0x6075ac]
push esi
call dword [0x5e0e2c]
mov al, byte [ebp - 0x1a1]
add esp, 8
mov esi, dword [ebp - 0x1a0]
test al, al
je 0x4a18ae
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4a1815
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
lea esi, [edi + 0x3c]
mov byte [edi + 0x17c8], 1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp eax, ecx
je 0x4a18a8
mov edx, dword [edi + 4]
cmp eax, edx
jle 0x4a1839
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x4a1842
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x4a1848
mov dword [esi], eax
cmp dword [esi], edx
jle 0x4a184e
mov dword [esi], edx
cmp eax, ecx
je 0x4a1886
jge 0x4a1870
sub ecx, eax
push ecx
push eax
push esi
push edi
call fcn.004c8b50
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0x16], 0
jmp 0x4a18a8
sub eax, ecx
push eax
push ecx
push esi
push edi
call fcn.004c8b50
mov eax, dword [esi + 8]
add esp, 0x10
mov dword [esi + 4], eax
mov dword [esi], eax
mov byte [esi + 0x16], 0
jmp 0x4a18a8
movzx eax, al
mov ecx, edi
xor eax, 1
add eax, 0x20000a
push eax
call fcn.004af1d0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov esi, dword [ebp - 0x1a0]
mov cl, byte [ebp - 0x199]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x4a18c9
cmp byte [ebp - 0x1ae], 0
je 0x4a18c9
mov al, 1
jmp 0x4a18cb
xor al, al
or byte [ebp - 0x204], al
xor eax, eax
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1cc]
cmp dword [esi + 0x3e88], eax
jne 0x4a1e7e
cmp byte [ebp - 0x1e0], 0
jne 0x4a1a60
test cl, cl
je 0x4a1a36
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0x1b8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4a1935
test dl, dl
je 0x4a1931
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4a1935
add eax, 2
add ecx, 2
test dl, dl
jne 0x4a1915
xor eax, eax
jmp 0x4a193a
sbb eax, eax
or eax, 1
test eax, eax
je 0x4a1a36
mov eax, dword [edi + 0x24]
mov ecx, esi
dec eax
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 4], 0
test eax, eax
jle 0x4a19ba
lea esi, [eax + ecx]
push esi
push ecx
call fcn.0049e840
add esp, 8
lea ecx, [ebp - 0x200]
inc eax
push eax
call fcn.004c7e10
push 0
push esi
push dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x200]
push esi
push dword [ebp - 0x1f8]
call fcn.0049ea40
add esp, 0x14
lea eax, [esi - 1]
jmp 0x4a19bc
xor eax, eax
mov esi, dword [edi + 4]
push eax
push esi
mov dword [ebp - 0x1b4], eax
lea eax, [edi + 0x5c]
push 0
push eax
call fcn.004c8410
mov edx, eax
add esp, 0x10
test edx, edx
je 0x4a19ef
xor ecx, ecx
test esi, esi
jle 0x4a19ef
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, esi
jl 0x4a19e1
push dword [edi + 4]
push 0
push edi
call fcn.004b4df0
mov esi, dword [ebp - 0x1b4]
add esp, 0xc
test esi, esi
jle 0x4a1a24
push esi
push dword [ebp - 0x1f8]
push 0
push edi
call fcn.004b4e60
add esp, 0x10
test al, al
je 0x4a1a24
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
lea ecx, [ebp - 0x200]
mov dword [ebp - 4], 0xffffffff
call fcn.00404cb0
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea eax, [eax*4 + 1]
push eax
call fcn.004c7dd0
push 0
push dword [edi + 0x14]
push dword [edi + 0x18]
push dword [edi + 0x20]
call fcn.0049ec00
add esp, 0x10
cmp byte [ebp - 0x199], 0
je 0x4a1b4b
cmp byte [ebp - 0x1a2], 0
je 0x4a1a84
mov eax, dword [ebp - 0x1bc]
test al, 0x20
jne 0x4a1b51
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1ac]
mov dword [edi + 0x17cc], 0
test edx, edx
je 0x4a1e72
cmp byte [ebp - 0x230], 0
je 0x4a1e3b
mov eax, dword [ebp - 0x1bc]
xorps xmm0, xmm0
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x184], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0x14], eax
movlpd qword [ebp - 0x18c], xmm0
cmovge eax, dword [ebp + 0x14]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x198]
push eax
movlpd qword [ebp - 0x178], xmm0
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x198], 0x40000
mov dword [ebp - 0x180], ecx
call dword [ebp - 0x208]
mov esi, dword [ebp - 0x17c]
add esp, 4
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b8], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x180], ecx
cmovl ecx, dword [ebp - 0x180]
jmp 0x4a1e3e
mov eax, dword [ebp - 0x1bc]
test eax, 0x801c0
je 0x4a1de8
xor esi, esi
test al, 0x40
je 0x4a1b88
push 1
push 0x200
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1b82
lea eax, [esi + 0x40]
mov esi, 0x200
jmp 0x4a1bf7
mov eax, dword [ebp - 0x1bc]
test al, al
jns 0x4a1bd0
push 1
push 0x203
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1bab
mov eax, 0x80
mov esi, 0x203
jmp 0x4a1bf7
push 1
push 0x204
call fcn.004a3990
add esp, 8
test al, al
je 0x4a1bca
mov eax, 0x80
mov esi, 0x204
jmp 0x4a1bf7
mov eax, dword [ebp - 0x1bc]
test eax, 0x80000
je 0x4a1be7
cmp byte [edi + 0x17ca], 0
je 0x4a1be7
mov eax, 0x80000
jmp 0x4a1bf7
test eax, 0x100
je 0x4a1de8
mov eax, 0x100
mov dword [ebp - 0x168], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x15c], 0
mov word [ebp - 0x147], cx
mov byte [ebp - 0x145], cl
cmp byte [ebp - 0x1e0], cl
jne 0x4a1c3f
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x154], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x14c], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x158], esi
mov esi, dword [edi + 0x14]
mov byte [ebp - 0x148], cl
lea eax, [esi + eax*4]
push eax
push esi
call fcn.0049e9d0
mov ecx, dword [ebp - 0x214]
mov edi, eax
mov dword [ebp - 0x144], edi
mov ecx, dword [ecx + 0x40]
lea ecx, [esi + ecx*4]
push ecx
push esi
call fcn.0049e9d0
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax + 0x44]
lea ecx, [esi + ecx*4]
push ecx
push esi
call fcn.0049e9d0
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x168]
push eax
call dword [ebp - 0x208]
mov ecx, dword [ebp - 0x144]
add esp, 0x1c
mov esi, dword [ebp - 0x154]
cmp ecx, edi
jne 0x4a1ce3
mov dl, byte [ebp - 0x148]
test dl, dl
je 0x4a1d0e
lea eax, [ecx + esi]
push eax
push esi
call fcn.0049e840
mov edi, dword [ebp - 0x214]
add esp, 8
mov dl, byte [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [edi + 0x3c], eax
mov byte [edi + 0x17c8], 1
jmp 0x4a1d14
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x1b4]
jne 0x4a1d26
test dl, dl
je 0x4a1d4c
cmp eax, ecx
jne 0x4a1d2f
mov ecx, dword [edi + 0x3c]
jmp 0x4a1d43
add eax, esi
push eax
push esi
call fcn.0049e840
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x140]
mov dl, byte [ebp - 0x148]
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0x224]
jne 0x4a1d62
test dl, dl
je 0x4a1de8
cmp ecx, eax
jne 0x4a1d6b
mov eax, dword [edi + 0x40]
jmp 0x4a1d78
lea eax, [ecx + esi]
push eax
push esi
call fcn.0049e840
add esp, 8
cmp byte [ebp - 0x148], 0
mov dword [edi + 0x44], eax
je 0x4a1de8
push dword [ebp - 0x150]
push esi
push edi
call fcn.004a3350
mov eax, dword [ebp - 0x150]
add esp, 0xc
mov edx, dword [ebp - 0x248]
cmp eax, edx
jle 0x4a1dba
cmp byte [ebp - 0x230], 0
je 0x4a1dba
lea ecx, [edi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.004c7e10
push 0
push 0
push dword [ebp - 0x154]
push dword [edi + 0xc]
push dword [edi + 0x14]
call fcn.0049ea40
mov dword [edi + 4], eax
add esp, 0x14
mov eax, dword [ebp - 0x150]
mov dword [edi + 8], eax
mov dword [edi + 0x17c4], 0xbe99999a
cmp byte [ebp - 0x1e0], 0
jne 0x4a1a84
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0x1b8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4a1e20
test dl, dl
je 0x4a1e1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4a1e20
add eax, 2
add ecx, 2
test dl, dl
jne 0x4a1e00
xor eax, eax
jmp 0x4a1e25
sbb eax, eax
or eax, 1
test eax, eax
je 0x4a1a84
mov ecx, dword [edi + 8]
mov dword [ebp - 0x1ac], esi
jmp 0x4a1a8a
mov esi, dword [ebp + 0x14]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x4a1e6b
jbe 0x4a1e60
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0x1b8]
call fcn.004e46d0
add esp, 0xc
mov eax, dword [ebp - 0x1b8]
mov byte [eax + esi - 1], 0
mov byte [ebp - 0x1cd], 1
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1a0]
cmp byte [ebp - 0x1bd], 0
je 0x4a1e9b
cmp dword [esi + 0x3e88], eax
jne 0x4a1e9b
push 0
push 0
call fcn.004b6800
add esp, 8
cmp byte [ebp - 0x1c4], 0
jne 0x4a1f83
push 1
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x138]
push eax
call fcn.004b2ca0
movss xmm0, dword [esi + 0x3814]
add esp, 8
movss dword [esp], xmm0
push 1
push ecx
mov dword [esp], 0x3f800000
push 7
call fcn.004923d0
add esp, 8
push eax
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebp - 0x138]
call fcn.004b26e0
movss xmm0, dword [ebp - 0x1e4]
add esp, 0x1c
movss xmm1, dword [ebp - 0x238]
movaps xmm6, xmm0
movss xmm7, dword [ebp - 0x1f0]
movaps xmm5, xmm1
addss xmm5, dword [ebp - 0x218]
addss xmm6, xmm7
movss dword [ebp - 0x128], xmm0
movss dword [ebp - 0x124], xmm1
movss dword [ebp - 0x11c], xmm5
movss dword [ebp - 0x120], xmm6
addss xmm0, dword [esi + 0x380c]
movss dword [ebp - 0x1e8], xmm6
movss dword [ebp - 0x210], xmm5
movss dword [ebp - 0x1fc], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x3810]
movss dword [ebp - 0x1f8], xmm0
jmp 0x4a1ff8
movss xmm0, dword [ebp - 0x1e4]
movss xmm7, dword [ebp - 0x1f0]
movss xmm1, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x1f4]
movss dword [ebp - 0x128], xmm0
addss xmm0, xmm7
movss dword [ebp - 0x124], xmm1
movss dword [ebp - 0x120], xmm0
movss dword [ebp - 0x1e8], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x218]
movss dword [ebp - 0x11c], xmm0
mov eax, dword [ecx + 0xd4]
mov ecx, dword [ecx + 0xd8]
movss dword [ebp - 0x210], xmm0
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], ecx
cmp byte [ebp - 0x1be], 0
lea eax, [ebp - 0x1fc]
movss xmm0, dword [eax + 4]
xorps xmm6, xmm6
movss xmm5, dword [eax]
movss dword [ebp - 0x114], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1dc], xmm5
movss dword [ebp - 0x118], xmm5
movss dword [ebp - 0x224], xmm0
movss dword [ebp - 0x1b4], xmm6
je 0x4a2047
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x1b8], eax
mov dh, byte [ebp - 0x1a4]
mov dword [ebp - 0x1ac], 0
test dh, dh
je 0x4a208e
mov eax, dword [ebp - 0x20c]
mov ecx, eax
mov dword [ebp - 0x1b8], eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a2070
sub ecx, edx
mov edx, dword [ebp - 0x20c]
lea eax, [edx + ecx]
mov dh, byte [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
mov al, byte [ebp - 0x1ae]
test al, al
jne 0x4a241f
cmp byte [ebp - 0x204], al
jne 0x4a241f
cmp byte [ebp - 0x1c4], al
je 0x4a210a
mov eax, dword [ebp - 0x1b8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x4a20d3
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x4a20c1
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0x1ac], edi
cmp al, 0xa
je 0x4a20e6
cmp al, 0xd
je 0x4a20e6
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bec]
movss dword [ebp - 0x1b4], xmm0
movaps xmm0, xmm7
movss dword [ebp - 0x224], xmm0
jmp 0x4a216a
test dh, dh
jne 0x4a2151
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1b8]
cmp dword [esi + 0x3e88], eax
jne 0x4a212f
mov eax, dword [edi + 8]
add eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x4a215d
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a2132
mov eax, dword [ebp - 0x1b8]
sub ecx, edx
mov dh, byte [ebp - 0x1a4]
add eax, ecx
mov dword [ebp - 0x1ac], eax
jmp 0x4a2157
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1b8]
sub eax, ecx
cmp eax, 0x200000
jge 0x4a22d2
push ecx
movzx eax, dh
mov dword [esp], 0x3f800000
push eax
call fcn.004923d0
mov ecx, dword [ebp - 0x1f4]
lea edx, [ebp - 0x128]
add esp, 8
mov dword [ebp - 0x228], 0
cmp byte [ebp - 0x1c4], 0
mov dword [ebp - 0x230], eax
mov esi, dword [ecx + 0x24c]
mov ecx, dword [ebp - 0x1a0]
cmovne edx, dword [ebp - 0x228]
mov edi, dword [ecx + 0x3be8]
movss xmm2, dword [ecx + 0x3bec]
mov ecx, dword [ebp - 0x1ac]
test eax, 0xff000000
je 0x4a22d2
test ecx, ecx
jne 0x4a21fd
mov ecx, dword [ebp - 0x1b8]
lea eax, [ecx + 1]
mov dword [ebp - 0x228], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a21e6
sub ecx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x1b8]
add ecx, eax
jmp 0x4a2203
mov eax, dword [ebp - 0x1b8]
cmp eax, ecx
je 0x4a22d2
test edi, edi
jne 0x4a2215
mov eax, dword [esi + 0x2c]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x5b6fc8]
lahf
test ah, 0x44
jp 0x4a222a
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movups xmmword [ebp - 0x138], xmm0
test edx, edx
je 0x4a229a
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x138]
comiss xmm0, xmm1
jae 0x4a2252
movss dword [ebp - 0x138], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x134]
comiss xmm0, xmm1
jae 0x4a226c
movss dword [ebp - 0x134], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x130]
ja 0x4a2282
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x12c]
ja 0x4a2298
movss dword [ebp - 0x12c], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x138]
push ecx
push dword [ebp - 0x1b8]
push eax
push dword [ebp - 0x230]
lea eax, [ebp - 0x118]
push eax
push ecx
movss dword [esp], xmm2
mov ecx, edi
push esi
call fcn.004b2ec0
mov edi, dword [ebp - 0x1a0]
cmp byte [ebp - 0x244], 0
je 0x4a22ef
cmp byte [ebp - 0x1a4], 0
jne 0x4a22ef
call fcn.004affb0
cmp byte [ebp - 0x1c4], 0
je 0x4a3070
mov ecx, dword [0x60752c]
movss xmm4, dword [ebp - 0x1b4]
addss xmm4, dword [edi + 0x3810]
movss xmm0, dword [ebp - 0x224]
mov eax, dword [ecx + 0x3e50]
movss dword [ebp - 0x1fc], xmm0
movss dword [ebp - 0x1f8], xmm4
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e50]
cmp byte [eax + 0x93], 0
jne 0x4a23ad
movss xmm2, dword [eax + 0xd4]
movaps xmm3, xmm2
movss dword [ebp - 0x148], xmm2
addss xmm3, xmm0
movss xmm0, dword [eax + 0xd8]
movaps xmm1, xmm0
movss dword [ebp - 0x144], xmm0
addss xmm1, xmm4
push ecx
lea eax, [ebp - 0x1fc]
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x140], xmm3
movss dword [ebp - 0x13c], xmm1
call fcn.004a4190
push 0
push 0
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.004a3e00
add esp, 0x18
mov esi, dword [edi + 0x3ee4]
mov eax, esi
or eax, 0x101
mov dword [edi + 0x3ee4], eax
call fcn.0048e660
mov eax, dword [edi + 0x3f04]
mov edi, dword [ebp - 0x288]
and eax, 0x80
or edi, eax
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x3ee4], esi
call fcn.0048f020
mov ecx, dword [ebp - 0x1a0]
cmp dword [ecx + 0x3efc], 0
jne 0x4a3076
mov eax, dword [ebp - 0x1cc]
mov dword [ecx + 0x3efc], eax
mov eax, dword [ebp - 0x28c]
mov dword [ecx + 0x3f00], eax
mov dword [ecx + 0x3f04], edi
jmp 0x4a3076
test dh, dh
jne 0x4a2438
mov eax, dword [edi + 8]
add eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1ac], eax
mov al, byte [ebp - 0x1ae]
mov ecx, dword [edi + 0x14]
mov esi, 0xfffffc18
xor edx, edx
mov dword [ebp - 0x208], ecx
movss dword [ebp - 0x230], xmm0
movss dword [ebp - 0x248], xmm0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1e4], esi
test al, al
je 0x4a2488
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
lea eax, [ecx + eax*4]
mov dword [ebp - 0x1f0], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x204], 0
je 0x4a24bb
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x208]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x1e4], 0xffffffff
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1c4]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [ebp - 0x1c8], eax
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x4a2524
xor edi, edi
cmp ecx, 0xa
jne 0x4a250e
inc edi
cmp esi, 0xffffffff
jne 0x4a24f2
cmp eax, dword [ebp - 0x1f0]
jb 0x4a24f2
dec edx
mov esi, edi
test edx, edx
jle 0x4a2518
cmp dword [ebp - 0x1e4], 0xffffffff
jne 0x4a250e
cmp eax, dword [ebp - 0x1d4]
jb 0x4a250e
dec edx
mov dword [ebp - 0x1e4], edi
test edx, edx
jle 0x4a2518
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x4a24d8
mov dword [ebp - 0x1c8], edi
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x208]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x1c8], eax
mov ecx, eax
cmovne ecx, esi
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x1e4]
cmp ecx, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1e4], ecx
mov ecx, eax
cmp eax, edx
jbe 0x4a2570
cmp dword [ecx - 4], 0xa
je 0x4a2570
add ecx, 0xfffffffc
cmp ecx, edx
ja 0x4a2563
mov eax, dword [0x60752c]
movaps xmm1, xmm0
movaps xmm4, xmm0
mov esi, dword [eax + 0x3be8]
movss xmm3, dword [eax + 0x3bec]
mov eax, dword [ebp - 0x1f0]
divss xmm3, dword [esi + 0x10]
cmp ecx, eax
jae 0x4a25de
mov edx, dword [ecx]
add ecx, 4
cmp edx, 0xa
jne 0x4a25ab
maxss xmm1, xmm4
movaps xmm4, xmm0
jmp 0x4a25d4
cmp edx, 0xd
je 0x4a25d4
cmp edx, dword [esi]
jge 0x4a25c4
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x1f0]
jmp 0x4a25c9
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm4, xmm0
xorps xmm0, xmm0
cmp ecx, eax
jb 0x4a2598
mov edx, dword [ebp - 0x208]
cmp dword [ebp - 0x1e4], 0
maxss xmm4, xmm1
movd xmm5, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1a0]
cvtdq2ps xmm5, xmm5
movss xmm2, dword [ecx + 0x3bec]
mulss xmm5, xmm2
movss dword [ebp - 0x1f0], xmm4
movss dword [ebp - 0x1f8], xmm5
jl 0x4a26b6
mov eax, dword [ebp - 0x1d4]
mov ecx, eax
cmp eax, edx
jbe 0x4a263b
cmp dword [ecx - 4], 0xa
je 0x4a2635
add ecx, 0xfffffffc
cmp ecx, edx
ja 0x4a2628
mov eax, dword [ebp - 0x1d4]
movaps xmm1, xmm0
movaps xmm4, xmm0
cmp ecx, eax
jae 0x4a2685
mov edx, dword [ecx]
add ecx, 4
cmp edx, 0xa
jne 0x4a2658
maxss xmm1, xmm4
movaps xmm4, xmm0
jmp 0x4a2681
cmp edx, 0xd
je 0x4a2681
cmp edx, dword [esi]
jge 0x4a2671
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x1d4]
jmp 0x4a2676
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm4, xmm0
xorps xmm0, xmm0
cmp ecx, eax
jb 0x4a2645
movd xmm0, dword [ebp - 0x1e4]
maxss xmm4, xmm1
mov ecx, dword [ebp - 0x1a0]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x230], xmm4
movss xmm4, dword [ebp - 0x1f0]
mulss xmm0, xmm2
movss dword [ebp - 0x248], xmm0
mov edx, dword [ebp - 0x1c4]
test dl, dl
je 0x4a26df
movd xmm6, dword [ebp - 0x1c8]
cvtdq2ps xmm6, xmm6
movss dword [ebp - 0x224], xmm7
mulss xmm6, xmm2
movss dword [ebp - 0x1b4], xmm6
cmp byte [ebp - 0x1ae], 0
je 0x4a2837
cmp byte [edi + 0x17c8], 0
je 0x4a2837
test dword [ebp - 0x1bc], 0x1000
jne 0x4a2751
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm7
comiss xmm2, xmm4
mulss xmm0, dword [0x5b7000]
movaps xmm1, xmm4
subss xmm7, dword [ecx + 0x380c]
jbe 0x4a2742
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x4a2758
subss xmm1, xmm7
comiss xmm1, xmm2
jb 0x4a2758
addss xmm0, xmm1
jmp 0x4a2730
mov dword [edi + 0x38], 0
xorps xmm4, xmm4
test dl, dl
je 0x4a2800
movss xmm3, dword [ebp - 0x23c]
movaps xmm0, xmm5
subss xmm0, dword [ecx + 0x3bec]
movss xmm7, dword [ebp - 0x218]
comiss xmm3, xmm0
jbe 0x4a278c
xorps xmm3, xmm3
maxss xmm3, xmm0
jmp 0x4a27b6
movss xmm2, dword [ecx + 0x3810]
movaps xmm1, xmm7
addss xmm2, xmm2
movaps xmm0, xmm5
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jb 0x4a27b6
movaps xmm3, xmm5
subss xmm3, xmm7
addss xmm3, xmm2
comiss xmm4, xmm3
movss xmm1, dword [ecx + 0x3810]
jbe 0x4a27c8
xorps xmm1, xmm1
jmp 0x4a27dc
addss xmm1, xmm1
addss xmm1, xmm6
subss xmm1, xmm7
maxss xmm1, xmm4
minss xmm1, xmm3
mov eax, dword [ebp - 0x1f4]
movss xmm0, dword [eax + 0x60]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x114], xmm0
movss dword [eax + 0x60], xmm1
mov byte [edi + 0x17c8], 0
movss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x210], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x1e8], xmm0
movss xmm0, dword [ebp - 0x118]
movss dword [ebp - 0x1dc], xmm0
cmp byte [ebp - 0x204], 0
movss xmm0, dword [edi + 0x38]
mov byte [ebp - 0x1be], 0
movss dword [ebp - 0x218], xmm0
je 0x4a2b6c
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x208]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x1ae], 0
lea esi, [esi + eax*4]
mov eax, dword [ebp - 0x208]
lea eax, [eax + edx*4]
mov dword [ebp - 0x1c8], eax
je 0x4a2893
movss xmm0, dword [0x538d18]
jmp 0x4a289b
movss xmm0, dword [0x538d14]
push ecx
movss dword [esp], xmm0
push 0x2f
call fcn.004923d0
add esp, 8
mov dword [ebp - 0x1d4], eax
cmp byte [ebp - 0x1c4], 0
xorps xmm0, xmm0
je 0x4a28ca
movss dword [ebp - 0x228], xmm0
xorps xmm7, xmm7
jmp 0x4a28d2
movss xmm7, dword [0x538d28]
movss xmm4, dword [ebp - 0x114]
addss xmm4, dword [ebp - 0x248]
movss xmm5, dword [ebp - 0x230]
addss xmm5, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1c8]
movss dword [ebp - 0x20c], xmm7
subss xmm4, xmm0
subss xmm5, dword [ebp - 0x218]
movss dword [ebp - 0x230], xmm4
cmp esi, ecx
jae 0x4a2b6c
movss xmm3, dword [ebp - 0x210]
movss xmm1, dword [ebp - 0x124]
mov edi, dword [ebp - 0x1a0]
nop dword [eax]
nop word [eax + eax]
movss xmm6, dword [edi + 0x3bec]
movaps xmm0, xmm3
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x4a2b66
comiss xmm1, xmm4
jbe 0x4a297c
cmp esi, ecx
jae 0x4a2b36
mov eax, dword [esi]
add esi, 4
cmp eax, 0xa
je 0x4a2b36
cmp esi, ecx
jb 0x4a2965
jmp 0x4a2b66
mov eax, dword [0x60752c]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x3be8]
movss xmm2, dword [eax + 0x3bec]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x4a29ea
mov ecx, dword [esi]
add esi, 4
cmp ecx, 0xa
je 0x4a29d7
cmp ecx, 0xd
je 0x4a29cb
cmp ecx, dword [edx]
jge 0x4a29be
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x4a29c3
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0x1c8]
cmp esi, ecx
jb 0x4a29a1
jmp 0x4a29e7
mov ecx, dword [ebp - 0x1c8]
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x4a2a23
mov eax, dword [edi + 0x3be8]
cmp dword [eax], 0x20
jle 0x4a2a0b
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x4a2a10
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x538d10]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x228]
addss xmm1, xmm5
addss xmm5, dword [0x5b6fc8]
movss xmm3, dword [ebp - 0x210]
subss xmm2, xmm6
movss xmm6, dword [ebp - 0x1e8]
movaps xmm0, xmm7
addss xmm0, xmm4
minss xmm1, xmm6
maxss xmm5, dword [ebp - 0x128]
addss xmm2, xmm4
minss xmm0, xmm3
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x148], xmm5
maxss xmm2, dword [ebp - 0x124]
comiss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x144], xmm2
movss dword [ebp - 0x13c], xmm0
jbe 0x4a2b2e
comiss xmm3, xmm2
jbe 0x4a2b2e
comiss xmm1, dword [ebp - 0x128]
jbe 0x4a2b2e
comiss xmm6, xmm5
jbe 0x4a2b2e
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x140]
push dword [ebp - 0x1d4]
mov byte [ebp - 0x1be], 1
push eax
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + 0x24c]
call fcn.00482d70
movss xmm3, dword [ebp - 0x11c]
movss xmm0, dword [ebp - 0x120]
movss xmm1, dword [ebp - 0x118]
movss xmm4, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x1c8]
movss dword [ebp - 0x210], xmm3
movss dword [ebp - 0x1e8], xmm0
movss dword [ebp - 0x1dc], xmm1
movss xmm1, dword [ebp - 0x124]
movss xmm5, dword [ebp - 0x1dc]
movss xmm7, dword [ebp - 0x20c]
addss xmm4, dword [edi + 0x3bec]
subss xmm5, dword [ebp - 0x218]
movss dword [ebp - 0x230], xmm4
cmp esi, ecx
jb 0x4a2940
mov edi, dword [ebp - 0x214]
cmp byte [ebp - 0x1c4], 0
jne 0x4a2b8c
mov eax, dword [ebp - 0x1ac]
sub eax, dword [ebp - 0x1b8]
cmp eax, 0x200000
jge 0x4a2e6f
movzx eax, byte [ebp - 0x1a4]
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.004923d0
add esp, 8
mov ecx, eax
cmp byte [ebp - 0x1be], 0
mov dword [ebp - 0x20c], ecx
je 0x4a2cce
mov ecx, dword [edi + 0x40]
mov edx, 4
mov esi, dword [edi + 0x44]
cmp ecx, esi
mov eax, esi
cmovl eax, ecx
cmovge esi, ecx
mov dword [ebp - 0x228], eax
xor ecx, ecx
mov eax, dword [edi + 0xc]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e0093
mov edx, eax
add esp, 4
mov dword [ebp - 0x230], edx
test edx, edx
je 0x4a2cbe
xor ecx, ecx
cmp dword [edi + 0xc], ecx
jbe 0x4a2c22
cmp ecx, dword [ebp - 0x228]
jb 0x4a2c13
cmp ecx, esi
jae 0x4a2c13
or eax, 0xffffffff
jmp 0x4a2c19
mov eax, dword [ebp - 0x20c]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, dword [edi + 0xc]
jb 0x4a2c02
movss xmm0, dword [ebp - 0x118]
lea eax, [ebp - 0x128]
subss xmm0, dword [ebp - 0x218]
mov esi, dword [ebp - 0x1a0]
xor ecx, ecx
cmp byte [ebp - 0x1c4], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
lea eax, [ebp - 0x22c]
push dword [ebp - 0x1ac]
movss dword [ebp - 0x22c], xmm0
push dword [ebp - 0x1b8]
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [0x5b6fc8]
push ecx
push edx
push eax
mov eax, dword [ebp - 0x1f4]
push ecx
movss dword [ebp - 0x228], xmm0
movss xmm0, dword [esi + 0x3bec]
movss dword [esp], xmm0
push dword [esi + 0x3be8]
push dword [eax + 0x24c]
call fcn.00496d20
push dword [ebp - 0x230]
call fcn.004e0078
add esp, 0x2c
xorps xmm1, xmm1
jmp 0x4a2e78
movss xmm0, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x20c]
jmp 0x4a2cd6
movss xmm0, dword [ebp - 0x1dc]
subss xmm0, dword [ebp - 0x218]
mov eax, dword [ebp - 0x1f4]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1a0]
cmp byte [ebp - 0x1c4], 0
mov dword [ebp - 0x230], 0
mov esi, dword [eax + 0x24c]
mov eax, dword [edx + 0x3be8]
movss xmm2, dword [edx + 0x3bec]
lea edx, [ebp - 0x128]
cmovne edx, dword [ebp - 0x230]
movss dword [ebp - 0x24c], xmm0
movss xmm0, dword [ebp - 0x114]
mov dword [ebp - 0x1c8], eax
subss xmm0, xmm1
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x228], eax
movss dword [ebp - 0x248], xmm0
test ecx, 0xff000000
je 0x4a2e72
test eax, eax
jne 0x4a2d91
mov ecx, dword [ebp - 0x1b8]
lea eax, [ecx + 1]
mov dword [ebp - 0x228], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a2d70
sub ecx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x1b8]
add eax, ecx
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x1b8], eax
je 0x4a2e72
cmp dword [ebp - 0x1c8], 0
jne 0x4a2db2
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c8], eax
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x4a2dc3
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movups xmmword [ebp - 0x138], xmm0
test edx, edx
je 0x4a2e33
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x138]
comiss xmm0, xmm1
jae 0x4a2deb
movss dword [ebp - 0x138], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x134]
comiss xmm0, xmm1
jae 0x4a2e05
movss dword [ebp - 0x134], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x130]
ja 0x4a2e1b
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x12c]
ja 0x4a2e31
movss dword [ebp - 0x12c], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x138]
push dword [ebp - 0x228]
push dword [ebp - 0x1b8]
push eax
push ecx
lea eax, [ebp - 0x24c]
push eax
push ecx
mov ecx, dword [ebp - 0x1c8]
movss dword [esp], xmm2
push esi
call fcn.004b2ec0
xorps xmm1, xmm1
mov esi, dword [ebp - 0x1a0]
cmp byte [ebp - 0x1ae], 0
je 0x4a22d2
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0x17c4]
movss dword [edi + 0x17c4], xmm0
mov edi, dword [ebp - 0x1a0]
cmp byte [edi + 0x5b], 0
je 0x4a2eea
comiss xmm1, xmm0
jae 0x4a2eea
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x22c], xmm0
fld qword [ebp - 0x22c]
fld qword [0x5b7078]
call fcn.004e07e0
movss xmm0, dword [0x5b7030]
fstp qword [ebp - 0x22c]
movsd xmm1, qword [ebp - 0x22c]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x4a2eea
xor cl, cl
jmp 0x4a2eec
mov cl, 1
movss xmm0, dword [ebp - 0x1f0]
addss xmm0, dword [ebp - 0x118]
subss xmm0, dword [ebp - 0x218]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0x1f8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x5b6fc8]
movss dword [ebp - 0x228], xmm1
movaps xmm5, xmm1
movss dword [ebp - 0x148], xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x538d18]
addss xmm5, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x140], xmm5
movss dword [ebp - 0x1f8], xmm3
movaps xmm2, xmm3
movaps xmm4, xmm3
subss xmm2, dword [edi + 0x3bec]
subss xmm4, dword [0x5b7068]
addss xmm2, dword [0x538d10]
movss dword [ebp - 0x13c], xmm4
movss dword [ebp - 0x144], xmm2
test cl, cl
je 0x4a302f
comiss xmm4, dword [ebp - 0x124]
jbe 0x4a302f
movss xmm0, dword [ebp - 0x11c]
comiss xmm0, xmm2
jbe 0x4a3027
comiss xmm5, dword [ebp - 0x128]
jbe 0x4a3027
movss xmm0, dword [ebp - 0x120]
comiss xmm0, xmm1
jbe 0x4a3027
sub esp, 8
movss dword [ebp - 0x234], xmm1
movss dword [ebp - 0x230], xmm4
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push 0
call fcn.004923d0
add esp, 8
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + 0x24c]
call fcn.00481cb0
movss xmm1, dword [ebp - 0x228]
movss xmm3, dword [ebp - 0x1f8]
movss xmm0, dword [0x538d18]
cmp byte [ebp - 0x1e0], 0
jne 0x4a22d8
subss xmm1, xmm0
mov byte [edi + 0x5b88], 1
movss xmm0, dword [edi + 0x3bec]
subss xmm3, xmm0
movss dword [edi + 0x5b94], xmm0
movss dword [edi + 0x5b8c], xmm1
movss dword [edi + 0x5b90], xmm3
jmp 0x4a22d8
mov ecx, dword [ebp - 0x1a0]
cmp byte [ecx + 0x5bf0], 0
je 0x4a30cb
cmp byte [ebp - 0x244], 0
je 0x4a3091
cmp byte [ebp - 0x1a4], 0
je 0x4a30cb
mov eax, dword [0x60752c]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b8]
mov dword [eax + 0x5c08], 0x5b5e84
mov dword [eax + 0x5c0c], 0x5b5e80
lea eax, [ebp - 0x118]
push eax
call fcn.004a50a0
mov ecx, dword [ebp - 0x1a0]
add esp, 0xc
movss xmm0, dword [ebp - 0x250]
comiss xmm0, dword [0x5b6fc8]
jbe 0x4a312a
movss xmm0, dword [ebp - 0x254]
addss xmm0, dword [ecx + 0x3824]
push 1
push 0
push dword [ebp - 0x240]
movss dword [ebp - 0x1fc], xmm0
movss xmm0, dword [ebp - 0x238]
addss xmm0, dword [ecx + 0x3810]
movss dword [ebp - 0x1f8], xmm0
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
call fcn.004b3460
add esp, 0x14
mov dl, byte [ebp - 0x1cd]
mov ecx, dword [ebp - 0x1bc]
test dl, dl
je 0x4a3157
test ecx, 0x8000000
jne 0x4a3157
mov eax, dword [0x60752c]
or dword [eax + 0x3f04], 4
mov word [eax + 0x3e98], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x1a2]
cmovne eax, ecx
jmp 0x49fe4e