Function at 0x4a0180
Capabilities:
Encrypt data using speck

Disassembly:
and bh, bh
invalid
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa6a093
mov eax, dword fs:[0]
push eax
sub esp, 0x50c
mov eax, dword [0xaa606c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3ec], ecx
push 0xc
lea ecx, [ebp - 0x9c]
call fcn.0048bb00
lea ecx, [ebp - 0x9c]
call fcn.0048bef0
mov dword [ebp - 4], 0
push 0x30
call fcn.009f1b8e
add esp, 4
mov dword [ebp - 0x3e0], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x3e0], 0
je 0x4a0239
push 0
push 0
push 0xcf515299
push 0x6a3c9433
push 0x41defcb
push 0x5f35af79
push 0x4efa84d5
push 0x2711f2d4
push 0x7f028144
push 0xfaf0522e
push 0x88d0ddef
push 0xefda075a
mov ecx, dword [ebp - 0x3e0]
call fcn.0048bf10
mov dword [ebp - 0x3e4], eax
jmp 0x4a0243
mov dword [ebp - 0x3e4], 0
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3f8], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f4], ecx
lea edx, [ebp - 0x3f4]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004a5ba0
push 0x30
call fcn.009f1b8e
add esp, 4
mov dword [ebp - 0x3e8], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x3e8], 0
je 0x4a02d7
push 0
push 0
push 0xcf515299
push 0x6a3c9433
push 0x41defcb
push 0x5f35af79
push 0x4efa84d5
push 0x4bea5f8
push 0x1d7c8019
push 0x603d09c3
push 0x307e1c4c
push 0xaaaba4ee
mov ecx, dword [ebp - 0x3e8]
call fcn.0048bf10
mov dword [ebp - 0x3b0], eax
jmp 0x4a02e1
mov dword [ebp - 0x3b0], 0
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x3fc], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], ecx
lea edx, [ebp - 0x400]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004a5ba0
push 0x30
call fcn.009f1b8e
add esp, 4
mov dword [ebp - 0x3b4], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x3b4], 0
je 0x4a0375
push 0
push 0
push 0x1af52a47
push 0x3d953cc8
push 0xa24dd191
push 0xdfe2412b
push 0x24318c6b
push 0x8165ff03
push 0x7996ddf3
push 0xe4835b63
push 0x4e393c04
push 0x19ea0509
mov ecx, dword [ebp - 0x3b4]
call fcn.0048bf10
mov dword [ebp - 0x3b8], eax
jmp 0x4a037f
mov dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x418], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0x414], ecx
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004a5ba0
push 0x30
call fcn.009f1b8e
add esp, 4
mov dword [ebp - 0x3bc], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x3bc], 0
je 0x4a0413
push 0
push 0
push 0x1af52a47
push 0x3d953cc8
push 0xa24dd191
push 0xdfe2412b
push 0x24318c6b
push 0x3d9a1648
push 0x24126cd5
push 0x3e8b17a1
push 0xa5bede7b
push 0xd8a967ad
mov ecx, dword [ebp - 0x3bc]
call fcn.0048bf10
mov dword [ebp - 0x3c0], eax
jmp 0x4a041d
mov dword [ebp - 0x3c0], 0
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x410], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x40c], ecx
lea edx, [ebp - 0x40c]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004a5ba0
lea ecx, [ebp - 0xb4]
call fcn.0048bed0
mov byte [ebp - 4], 5
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x268], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x250], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x250], xmm0
jmp 0x4a04a9
movsd xmm0, qword [ebp - 0x250]
addsd xmm0, qword [0xa6e340]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [0xa6fe08]
comisd xmm0, xmmword [ebp - 0x250]
jbe 0x4a055a
movsd xmm0, qword [0xa6fd68]
mulsd xmm0, qword [ebp - 0x250]
mulsd xmm0, qword [ebp - 0x250]
movsd xmm1, qword [ebp - 0x250]
mulsd xmm1, qword [ebp - 0x250]
subsd xmm0, xmm1
movsd xmm1, qword [0xa6e420]
mulsd xmm1, qword [ebp - 0x250]
mulsd xmm1, qword [ebp - 0x250]
addsd xmm1, qword [0xa6fcd8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x268]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [ebp - 0x268]
comisd xmm0, xmmword [0xa6fd10]
jbe 0x4a0555
movsd xmm0, qword [0xa6fc78]
mulsd xmm0, qword [ebp - 0x250]
movsd xmm1, qword [ebp - 0x268]
subsd xmm1, xmm0
movsd qword [ebp - 0x268], xmm1
jmp 0x4a0491
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x268]
jbe 0x4a05bf
pop edx
pop edx
cmp edx, dword [ecx + edi + 0x51]
sub al, 0x5b
xor eax, 0x3b592c53
pop esp
xor dl, byte [eax + 0x2d]
push edx
sub al, 0x56
xor bl, byte [eax + 0x3b]
push ecx
cmp ebx, dword [ebx + esi + 0x50]
xor al, 0x53
push edi
xor dl, byte [edi + 0x2d]
push esi
das
dec esi
xor eax, 0x3451374e
dec ebp
xor dl, byte [esi + 0x2c]
dec edi
xor al, 0x55
xor dword [edi + 0x30], ecx
push ebp
sub eax, 0x66613c43
pop ecx
ja 0x4a05f4
aaa
inc edi
sub byte [0x24406f46], dh
push ecx
cmp ch, byte [ebx + 0x43]
xor eax, 0x22352462
pop ecx
insb byte es:[edi], dx
imul ebp, ecx, 0x2e
sub eax, 0x85c70000
inc eax
invalid
mov dword [ebp - 0xc0], 0x4a0567
mov dword [ebp - 0xbc], 0x4a059f
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x408], ecx
mov byte [ebp - 0x1c2], 0x1f
mov dword [ebp - 0x144], 0
jmp 0x4a060d
mov esp, 0xfffffe
add byte [eax], al
add bl, ch
jnp 0x48c298
mov edx, dword [ebp - 0x144]
add edx, 1
mov dword [ebp - 0x144], edx
inc dword [ebx - 0x6a76fe3e]
mov esp, 0x81fffffe
mov ebp, 0xfffffebc
add byte [ecx], al
add byte [eax], al
cmp dword [ebp - 0x144], 0x100
jae 0x4a062e
mov eax, dword [ebp - 0x144]
mov cl, byte [ebp - 0x144]
mov byte [ebp + eax - 0x3a8], cl
jmp 0x4a05fe
mov dword [ebp - 0x238], 0
mov byte [ebp - 0xd9], 0
mov dword [ebp - 0x144], 0xff
jmp 0x4a065a
mov edx, dword [ebp - 0x144]
sub edx, 1
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0
jbe 0x4a08ca
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x27c], 1
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x144]
jae 0x4a069b
mov ecx, dword [ebp - 0x27c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x27c], edx
jmp 0x4a067b
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 3
ja case.default.0x4a06ba
mov ecx, dword [ebp - 0x3ac]
jmp dword [ecx*4 + 0x4a53bc]
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x3a8]
movsd xmm0, qword [ebp - 0x268]
call fcn.009f23b0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x4a07a3
movzx eax, byte [ebp - 0xd9]
movzx ebx, byte [ebp + eax - 0x3a8]
movsd xmm0, qword [ebp - 0x268]
call fcn.009f23b0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x4a07a3
movzx ecx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + ecx - 0x3a8]
movsd xmm0, qword [ebp - 0x268]
call fcn.009f23b0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x4a07a3
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x3a8]
movsd xmm0, qword [ebp - 0x268]
call fcn.009f23b0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x4a07a3
movzx eax, byte [ebp - 0xd9]
movzx ecx, byte [ebp + eax - 0x3a8]
mov edx, dword [ebp - 0x408]
add edx, dword [ebp - 0x238]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xd9], cl
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
movzx edx, byte [ebp - 0x1c2]
cmp dword [ebp - 0x238], edx
jb 0x4a07e1
mov dword [ebp - 0x238], 0
movzx eax, byte [ebp - 0x1c2]
movzx ecx, byte [ebp - 0xd9]
add ecx, eax
mov byte [ebp - 0xd9], cl
movzx edx, byte [ebp - 0xd9]
and edx, dword [ebp - 0x27c]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x29c]
add eax, 1
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0xb
jbe 0x4a0820
mov eax, dword [ebp - 0x1fc]
xor edx, edx
div dword [ebp - 0x144]
mov dword [ebp - 0x1fc], edx
mov ecx, dword [ebp - 0x1fc]
cmp ecx, dword [ebp - 0x144]
ja 0x4a069b
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x1fc]
je 0x4a08c5
mov eax, dword [ebp - 0x1fc]
movzx ecx, byte [ebp + eax - 0x3a8]
mov edx, dword [ebp - 0x144]
movzx eax, byte [ebp + edx - 0x3a8]
xor eax, ecx
mov ecx, dword [ebp - 0x144]
mov byte [ebp + ecx - 0x3a8], al
mov edx, dword [ebp - 0x144]
movzx eax, byte [ebp + edx - 0x3a8]
mov ecx, dword [ebp - 0x1fc]
movzx edx, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov eax, dword [ebp - 0x1fc]
mov byte [ebp + eax - 0x3a8], dl
mov ecx, dword [ebp - 0x1fc]
movzx edx, byte [ebp + ecx - 0x3a8]
mov eax, dword [ebp - 0x144]
movzx ecx, byte [ebp + eax - 0x3a8]
xor ecx, edx
mov edx, dword [ebp - 0x144]
mov byte [ebp + edx - 0x3a8], cl
jmp 0x4a064b
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xc5], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xc6], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xcb], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xc7], cl
movzx edx, byte [ebp - 0xd9]
mov al, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc8], al
mov dword [ebp - 0x3c4], 0x38
cmp dword [ebp - 0x3c4], 2
jle 0x4a329c
mov ecx, dword [ebp - 0x3c4]
and ecx, 1
jne 0x4a329c
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xf4], 0
movsd xmm0, qword [0xa70088]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [0xa70060]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [0xa70028]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [0xa6ffa8]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [0xa6ff20]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [0xa6fe98]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [0xa6fdd0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x1d4]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x224]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x1d4]
subsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [ebp - 0x20c]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x1d4]
subsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x180]
comisd xmm0, xmmword [ebp - 0x224]
jbe 0x4a0d5a
movsd xmm0, qword [ebp - 0x214]
subsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x180]
mulsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x224]
addsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x20c]
divsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x214]
addsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x214]
mulsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x180]
mulsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x224]
addsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x1f8]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x20c]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x214]
mulsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x180]
comisd xmm0, xmmword [ebp - 0x20c]
jbe 0x4a0cad
movsd xmm0, qword [ebp - 0x180]
divsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x21c]
divsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x1d4]
divsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x1d4]
divsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x1d4], xmm0
jmp 0x4a0d55
movsd xmm0, qword [ebp - 0x214]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x214]
addsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x214]
divsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x214]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x180]
divsd xmm0, qword [ebp - 0x1d4]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x20c]
subsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x1d4]
subsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x1d4], xmm0
jmp 0x4a0e11
movsd xmm0, qword [ebp - 0x1d4]
subsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x1d4], xmm0
movsd xmm0, qword [ebp - 0x224]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x21c]
addsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x224]
subsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x214]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x224]
subsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x224], xmm0
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
add eax, 0x4d
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x118]
add edx, 0x2c
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
add eax, dword [ebp - 0x120]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x120]
shl edx, 4
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x128]
or ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov byte [ebp - 0xcc], 0
mov dl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], dl
mov byte [ebp - 0xca], 0
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xc6]
add ecx, eax
mov byte [ebp - 0xc6], cl
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x4a10e9
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], 0x4d
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x118], 0x2c
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp - 0x114]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
shl ecx, 4
mov dword [ebp - 0x128], ecx
movss xmm0, dword [0xa70214]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [0xa701e0]
movss dword [ebp - 0x200], xmm0
movss xmm0, dword [0xa70174]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [0xa700f0]
movss dword [ebp - 0x22c], xmm0
movss xmm0, dword [ebp - 0x1e0]
mulss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x1e0]
subss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x1e0]
mulss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x1e0]
comiss xmm0, dword [ebp - 0x22c]
jbe 0x4a12b5
movss xmm0, dword [ebp - 0x200]
mulss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x200], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x200]
subss xmm0, dword [ebp - 0x22c]
movss dword [ebp - 0x200], xmm0
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], edx
jmp 0x4a1315
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [ebp - 0x200]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x200]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [ebp - 0x200]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [ebp - 0x200]
movss dword [ebp - 0x170], xmm0
mov eax, dword [ebp - 0x128]
or eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov cl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xc6]
add eax, edx
mov byte [ebp - 0xc6], al
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x3a8], al
movss xmm0, dword [0xa70204]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [0xa701e8]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [0xa701b0]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [0xa70160]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [0xa70110]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [0xa700b8]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x148]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x1c8]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf8]
comiss xmm0, dword [ebp - 0x148]
jbe 0x4a1740
movss xmm0, dword [ebp - 0x160]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x160]
mulss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x1c8]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x148]
mulss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x1c8]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x148]
subss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x160]
comiss xmm0, dword [ebp - 0x1c8]
jbe 0x4a16ab
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x160]
mulss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x160]
divss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x160]
divss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x100]
divss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
jmp 0x4a173b
movss xmm0, dword [ebp - 0xf8]
divss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xfc]
divss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf8]
divss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0xf8], xmm0
jmp 0x4a17ee
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x148]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x1c8]
subss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x148]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x100], xmm0
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp + eax - 0x3a8]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x4a18a6
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x114], 0x4d
movss xmm0, dword [0xa70200]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [0xa701dc]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [0xa701a8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0xa70158]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [0xa7010c]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [0xa700b4]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x108]
comiss xmm0, dword [ebp - 0x134]
jbe 0x4a1c55
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x138]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x164]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x164]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x104]
divss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x1b4]
comiss xmm0, dword [ebp - 0x134]
jbe 0x4a1bc0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x1b4]
divss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x138], xmm0
jmp 0x4a1c50
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x138]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x138], xmm0
jmp 0x4a1cf5
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x138]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x108], xmm0
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], 0x2c
mov ecx, dword [ebp - 0x110]
sub ecx, dword [ebp - 0x114]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x120]
shl eax, 4
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x128]
or edx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], edx
mov al, byte [ebp - 0x130]
mov byte [ebp - 0xcc], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x3a8]
mov byte [ebp - 0xca], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp - 0xc6]
add edx, ecx
mov byte [ebp - 0xc6], dl
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xca]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp - 0xcb]
add edx, ecx
mov byte [ebp - 0xcb], dl
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a8]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp + edx - 0x3a8]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], al
cmp dword [ebp - 0xd8], 0
jle 0x4a1ef1
movsx cx, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0xf4]
add eax, 0xa
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0x298], ecx
jmp 0x4a1f20
mov edx, dword [ebp - 0x298]
add edx, 1
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0xf4]
jge 0x4a229b
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], 0x4d
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x118], 0x2c
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x120]
shl edx, 4
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
or ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
movss xmm0, dword [0xa70190]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [0xa70138]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [0xa700d0]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0x1ec]
subss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [ebp - 0x204]
mulss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [ebp - 0x204]
subss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [ebp - 0x204]
comiss xmm0, dword [ebp - 0x184]
jbe 0x4a20cd
movss xmm0, dword [ebp - 0x1ec]
addss xmm0, dword [ebp - 0x204]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [ebp - 0x184]
subss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0x184]
addss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x184], xmm0
mov dl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], dl
jmp 0x4a2115
movss xmm0, dword [ebp - 0x184]
addss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0x204]
mulss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [ebp - 0x184]
mulss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x184], xmm0
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xc6]
add ecx, eax
mov byte [ebp - 0xc6], cl
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x4a2296
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x4a], ax
jmp 0x4a1f11
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], 0x4d
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x118], 0x2c
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x120]
shl edx, 4
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
or ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov dl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xc6]
add ecx, eax
mov byte [ebp - 0xc6], cl
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x4a2502
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], 0x4d
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x118], 0x2c
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp - 0x114]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
shl ecx, 4
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
or eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov cl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xc6]
add eax, edx
mov byte [ebp - 0xc6], al
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp + eax - 0x3a8]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x4a2758
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x114], 0x4d
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], 0x2c
mov ecx, dword [ebp - 0x110]
sub ecx, dword [ebp - 0x114]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x120]
shl eax, 4
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x128]
or edx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], edx
mov al, byte [ebp - 0x130]
mov byte [ebp - 0xcc], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x3a8]
mov byte [ebp - 0xca], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp - 0xc6]
add edx, ecx
mov byte [ebp - 0xc6], dl
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x3a8]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xca]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp - 0xcb]
add edx, ecx
mov byte [ebp - 0xcb], dl
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a8]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x3a8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp + edx - 0x3a8]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], al
cmp dword [ebp - 0xd8], 0
jle 0x4a29af
movsx cx, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0xf4]
add eax, 0xa
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0x294], ecx
jmp 0x4a29de
mov edx, dword [ebp - 0x294]
add edx, 1
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x294]
cmp eax, dword [ebp - 0xf4]
jge 0x4a2c3e
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], 0x4d
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x118], 0x2c
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x120]
shl edx, 4
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
or ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov dl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xc6]
add ecx, eax
mov byte [ebp - 0xc6], cl
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x4a2c39
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x4a], ax
jmp 0x4a29cf
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], 0x4d
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x118], 0x2c
movsd xmm0, qword [0xa70010]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [0xa6ff70]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [0xa6fee0]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [0xa6fdf8]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [ebp - 0x2a8]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x284]
mulsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [ebp - 0x244]
comisd xmm0, xmmword [ebp - 0x284]
jbe 0x4a2ddb
movsd xmm0, qword [ebp - 0x284]
mulsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x284]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x2a8]
mulsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x284]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x284], xmm0
jmp 0x4a2e4d
movsd xmm0, qword [ebp - 0x258]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [ebp - 0x2a8]
subsd xmm0, qword [ebp - 0x284]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x258]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x258], xmm0
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x120]
shl edx, 4
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
or ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x130], ecx
mov dl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x3a8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xc6]
add ecx, eax
mov byte [ebp - 0xc6], cl
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x3a8]
mov byte [ebp + ecx - 0x3a8], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x3a8]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x3a8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x3a8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp + ecx - 0x3a8]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x4a3019
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], 0x4d
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x118], 0x2c
mov edx, dword [ebp - 0x110]
sub edx, dword [ebp - 0x114]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
shl ecx, 4
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
or eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov cl, byte [ebp - 0x130]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xc6]
add eax, edx
mov byte [ebp - 0xc6], al
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x3a8]
mov byte [ebp + eax - 0x3a8], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x3a8], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x3a8]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x3a8]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x3a8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a8]
movzx edx, byte [ebp + eax - 0x3a8]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x4a326f
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, 2
imul edx, ecx, 0x1b
mov dword [ebp - 0x3c8], edx
cmp dword [ebp - 0x3c8], 0x38
jae 0x4a3288
jmp 0x4a328d
call fcn.009f1ed7
xor eax, eax
mov ecx, dword [ebp - 0x3c8]
mov word [ebp + ecx - 0x48], ax
jmp 0x4a32ed
mov dword [ebp - 0x278], 0
jmp 0x4a32b7
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 0x1c
jge 0x4a32ed
mov eax, dword [ebp - 0x278]
shl eax, 1
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0x38
jae 0x4a32d9
jmp 0x4a32de
call fcn.009f1ed7
xor ecx, ecx
mov edx, dword [ebp - 0x3cc]
mov word [ebp + edx - 0x48], cx
jmp 0x4a32a8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xc4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x270], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x260], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x260], xmm0
jmp 0x4a333c
movsd xmm0, qword [ebp - 0x260]
addsd xmm0, qword [0xa6e348]
movsd qword [ebp - 0x260], xmm0
movsd xmm0, qword [0xa6fe58]
comisd xmm0, xmmword [ebp - 0x260]
jbe 0x4a33ed
movsd xmm0, qword [0xa6fd48]
mulsd xmm0, qword [ebp - 0x260]
mulsd xmm0, qword [ebp - 0x260]
movsd xmm1, qword [ebp - 0x260]
mulsd xmm1, qword [ebp - 0x260]
subsd xmm0, xmm1
movsd xmm1, qword [0xa6fc98]
mulsd xmm1, qword [ebp - 0x260]
mulsd xmm1, qword [ebp - 0x260]
addsd xmm1, qword [0xa6fcf0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x270]
comisd xmm0, xmmword [0xa6fd40]
jbe 0x4a33e8
movsd xmm0, qword [0xa6fc80]
mulsd xmm0, qword [ebp - 0x260]
movsd xmm1, qword [ebp - 0x270]
subsd xmm1, xmm0
movsd qword [ebp - 0x270], xmm1
jmp 0x4a3324
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x270]
jbe 0x4a345d
into
sub eax, 0x2ec32fd0
into
sub cl, bl
lds edi, ss:[ecx]
iretd
mov dword [ebp - 0xb8], 0x4a33fa
mov dword [ebp - 0xc4], 0x4a3442
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x404], ecx
mov byte [ebp - 0x1c1], 0x1a
mov dword [ebp - 0x14c], 0
jmp 0x4a34ab
mov edx, dword [ebp - 0x14c]
add edx, 1
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 0x100
jae 0x4a34cc
mov eax, dword [ebp - 0x14c]
mov cl, byte [ebp - 0x14c]
mov byte [ebp + eax - 0x518], cl
jmp 0x4a349c
mov dword [ebp - 0x23c], 0
mov byte [ebp - 0xda], 0
mov dword [ebp - 0x14c], 0xff
jmp 0x4a34f8
mov edx, dword [ebp - 0x14c]
sub edx, 1
mov dword [ebp - 0x14c], edx
cmp dword [ebp - 0x14c], 0
jbe 0x4a3768
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x14c]
jae 0x4a3539
mov ecx, dword [ebp - 0x274]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x274], edx
jmp 0x4a3519
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 3
ja case.default.0x4a3558
mov ecx, dword [ebp - 0x3d0]
jmp dword [ecx*4 + 0x4a53cc]
movzx edx, byte [ebp - 0xda]
movzx ebx, byte [ebp + edx - 0x518]
movsd xmm0, qword [ebp - 0x270]
call fcn.009f23b0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x4a3641
movzx eax, byte [ebp - 0xda]
movzx ebx, byte [ebp + eax - 0x518]
movsd xmm0, qword [ebp - 0x270]
call fcn.009f23b0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x4a3641
movzx ecx, byte [ebp - 0xda]
movzx ebx, byte [ebp + ecx - 0x518]
movsd xmm0, qword [ebp - 0x270]
call fcn.009f23b0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x4a3641
movzx edx, byte [ebp - 0xda]
movzx ebx, byte [ebp + edx - 0x518]
movsd xmm0, qword [ebp - 0x270]
call fcn.009f23b0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x4a3641
movzx eax, byte [ebp - 0xda]
movzx ecx, byte [ebp + eax - 0x518]
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x23c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xda], cl
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
movzx edx, byte [ebp - 0x1c1]
cmp dword [ebp - 0x23c], edx
jb 0x4a367f
mov dword [ebp - 0x23c], 0
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xda]
add ecx, eax
mov byte [ebp - 0xda], cl
movzx edx, byte [ebp - 0xda]
and edx, dword [ebp - 0x274]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x290]
add eax, 1
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0xb
jbe 0x4a36be
mov eax, dword [ebp - 0x1f0]
xor edx, edx
div dword [ebp - 0x14c]
mov dword [ebp - 0x1f0], edx
mov ecx, dword [ebp - 0x1f0]
cmp ecx, dword [ebp - 0x14c]
ja 0x4a3539
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ebp - 0x1f0]
je 0x4a3763
mov eax, dword [ebp - 0x1f0]
movzx ecx, byte [ebp + eax - 0x518]
mov edx, dword [ebp - 0x14c]
movzx eax, byte [ebp + edx - 0x518]
xor eax, ecx
mov ecx, dword [ebp - 0x14c]
mov byte [ebp + ecx - 0x518], al
mov edx, dword [ebp - 0x14c]
movzx eax, byte [ebp + edx - 0x518]
mov ecx, dword [ebp - 0x1f0]
movzx edx, byte [ebp + ecx - 0x518]
xor edx, eax
mov eax, dword [ebp - 0x1f0]
mov byte [ebp + eax - 0x518], dl
mov ecx, dword [ebp - 0x1f0]
movzx edx, byte [ebp + ecx - 0x518]
mov eax, dword [ebp - 0x14c]
movzx ecx, byte [ebp + eax - 0x518]
xor ecx, edx
mov edx, dword [ebp - 0x14c]
mov byte [ebp + edx - 0x518], cl
jmp 0x4a34e9
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xc9], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xcd], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xd2], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xce], cl
movzx edx, byte [ebp - 0xda]
mov al, byte [ebp + edx - 0x518]
mov byte [ebp - 0xcf], al
mov dword [ebp - 0x3d4], 0x48
cmp dword [ebp - 0x3d4], 2
jle 0x4a5232
mov ecx, dword [ebp - 0x3d4]
and ecx, 1
jne 0x4a5232
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x150], 0
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0xe4]
shl eax, 1
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a0]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x188]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x18c]
add eax, 0xc3
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp - 0xe4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1b8]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x190]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x194]
add edx, 0x2a
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x18c]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x194]
add ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x198]
shl edx, 4
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x1a8]
or ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov byte [ebp - 0xd3], 0
mov dl, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], dl
mov byte [ebp - 0xd1], 0
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xcd]
add ecx, eax
mov byte [ebp - 0xcd], cl
mov dl, byte [ebp - 0xc9]
add dl, 1
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x518], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx eax, byte [ebp + ecx - 0x518]
xor edx, eax
mov byte [ebp - 0xce], dl
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe4], 0
jle 0x4a3af6
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe4]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xe4]
shl ecx, 1
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a4]
add edx, dword [ebp - 0x1a0]
movzx eax, byte [edx]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x18c], 0xc3
mov ecx, dword [ebp - 0xe4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1b8]
movzx ecx, byte [eax]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x194], 0x2a
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x18c]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x190]
sub eax, dword [ebp - 0x194]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x198]
shl ecx, 4
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1a8]
or eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov cl, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], cl
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + edx - 0x518]
mov byte [ebp - 0xd1], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x518]
movzx eax, byte [ebp - 0xcd]
add eax, edx
mov byte [ebp - 0xcd], al
mov cl, byte [ebp - 0xc9]
add cl, 1
mov byte [ebp - 0xc9], cl
movsd xmm0, qword [0xa6fff8]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [0xa6ff30]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [0xa6fe38]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x1c0]
addsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
comisd xmm0, xmmword [ebp - 0x234]
jbe 0x4a3d01
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1dc]
subsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1c0], xmm0
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + edx - 0x518]
mov byte [ebp + eax - 0x518], cl
jmp 0x4a3e35
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x234]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x234]
divsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x1dc]
subsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1c0]
divsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x234]
comisd xmm0, xmmword [ebp - 0x1c0]
jbe 0x4a3ded
movsd xmm0, qword [ebp - 0x1c0]
divsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1dc]
divsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1dc], xmm0
jmp 0x4a3e35
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1c0]
addsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp - 0xcd]
mov cl, byte [ebp + edx - 0x518]
mov byte [ebp + eax - 0x518], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp - 0xce]
mov cl, byte [ebp + edx - 0x518]
mov byte [ebp + eax - 0x518], cl
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp - 0xd1]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xd1]
movzx edx, byte [ebp + ecx - 0x518]
movzx eax, byte [ebp - 0xd2]
add eax, edx
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xd3]
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x518]
movzx edx, byte [ebp - 0xc9]
movzx edx, byte [ebp + edx - 0x518]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x518]
xor ecx, eax
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp + edx - 0x518]
movzx edx, byte [ebp - 0xcf]
movzx edx, byte [ebp + edx - 0x518]
add eax, edx
movzx edx, byte [ebp - 0xd2]
movzx edx, byte [ebp + edx - 0x518]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x518]
movzx edx, byte [ebp + eax - 0x518]
xor ecx, edx
mov byte [ebp - 0xce], cl
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], al
mov cl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], cl
cmp dword [ebp - 0xe4], 0
jle 0x4a3f5a
movsx dx, byte [ebp - 0xdb]
mov eax, dword [ebp - 0xe4]
mov word [ebp + eax*2 - 0x92], dx
mov ecx, dword [ebp - 0x150]
add ecx, 0x10
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0x28c], edx
jmp 0x4a3f89
mov eax, dword [ebp - 0x28c]
add eax, 1
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
cmp ecx, dword [ebp - 0x150]
jge 0x4a41eb
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
shl eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a0]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x18c], 0xc3
mov eax, dword [ebp - 0xe4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1a4]
add edx, dword [ebp - 0x1b8]
movzx eax, byte [edx]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], 0x2a
mov ecx, dword [ebp - 0x188]
sub ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x190]
sub edx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x198]
shl eax, 4
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1a8]
or edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], edx
mov al, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], al
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + ecx - 0x518]
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x518]
movzx edx, byte [ebp - 0xcd]
add edx, ecx
mov byte [ebp - 0xcd], dl
mov al, byte [ebp - 0xc9]
add al, 1
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp - 0xcd]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xce]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp - 0xd1]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xd1]
movzx ecx, byte [ebp + eax - 0x518]
movzx edx, byte [ebp - 0xd2]
add edx, ecx
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xd3]
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp - 0xc9]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x518]
xor eax, edx
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
movzx ecx, byte [ebp - 0xd2]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp + edx - 0x518]
xor eax, ecx
mov byte [ebp - 0xce], al
mov dl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], dl
mov al, byte [ebp - 0xce]
mov byte [ebp - 0xdb], al
cmp dword [ebp - 0xe4], 0
jle 0x4a41e6
movsx cx, byte [ebp - 0xdb]
mov edx, dword [ebp - 0xe4]
mov word [ebp + edx*2 - 0x92], cx
jmp 0x4a3f7a
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xe4]
shl eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a0]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x18c], 0xc3
mov eax, dword [ebp - 0xe4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1a4]
add edx, dword [ebp - 0x1b8]
movzx eax, byte [edx]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], 0x2a
mov ecx, dword [ebp - 0x188]
sub ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x190]
sub edx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x198]
shl eax, 4
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1a8]
or edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], edx
mov al, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], al
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + ecx - 0x518]
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x518]
movzx edx, byte [ebp - 0xcd]
add edx, ecx
mov byte [ebp - 0xcd], dl
mov al, byte [ebp - 0xc9]
add al, 1
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp - 0xcd]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xce]
mov al, byte [ebp + ecx - 0x518]
mov byte [ebp + edx - 0x518], al
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp - 0xd1]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xd1]
movzx ecx, byte [ebp + eax - 0x518]
movzx edx, byte [ebp - 0xd2]
add edx, ecx
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xd3]
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp - 0xc9]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x518]
xor eax, edx
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
movzx ecx, byte [ebp - 0xd2]
movzx ecx, byte [ebp + ecx - 0x518]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp + edx - 0x518]
xor eax, ecx
mov byte [ebp - 0xce], al
mov dl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], dl
mov al, byte [ebp - 0xce]
mov byte [ebp - 0xdb], al
cmp dword [ebp - 0xe4], 0
jle 0x4a4454
movsx cx, byte [ebp - 0xdb]
mov edx, dword [ebp - 0xe4]
mov word [ebp + edx*2 - 0x92], cx
mov eax, dword [ebp - 0x150]
add eax, 0x10
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0x2a0], ecx
jmp 0x4a4483
mov edx, dword [ebp - 0x2a0]
add edx, 1
mov dword [ebp - 0x2a0], edx
mov eax, dword [ebp - 0x2a0]
cmp eax, dword [ebp - 0x150]
jge 0x4a4f98
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
shl edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x18c], 0xc3
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x194], 0x2a
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x18c]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x198]
shl edx, 4
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1a8]
or ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov dl, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], dl
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xcd]
add ecx, eax
mov byte [ebp - 0xcd], cl
mov dl, byte [ebp - 0xc9]
add dl, 1
mov byte [ebp - 0xc9], dl
movsd xmm0, qword [0xa6ff88]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [0xa6fef0]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [0xa6fe80]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [0xa6fdb0]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x16c]
addsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x1e8]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x15c]
comisd xmm0, xmmword [ebp - 0x178]
jbe 0x4a46d5
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x178], xmm0
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
jmp 0x4a49a1
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
divsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x16c]
addsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
divsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
comisd xmm0, xmmword [ebp - 0x178]
jbe 0x4a4941
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x15c]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
mulsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x15c]
comisd xmm0, xmmword [ebp - 0x1e8]
jbe 0x4a48df
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x1e8]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x16c]
mulsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
jmp 0x4a493f
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x1e8]
divsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x16c]
divsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
jmp 0x4a49a1
movsd xmm0, qword [ebp - 0x1e8]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
mulsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x518], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx eax, byte [ebp + ecx - 0x518]
xor edx, eax
mov byte [ebp - 0xce], dl
movss xmm0, dword [0xa701c0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0xa70184]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [0xa7013c]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [0xa700fc]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [0xa700ac]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
comiss xmm0, dword [ebp - 0xe8]
jbe 0x4a4bf7
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
jmp 0x4a4f68
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x154]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [ebp - 0xec]
jbe 0x4a4d75
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
jmp 0x4a4f68
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [ebp - 0xec]
jbe 0x4a4ef0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xec], xmm0
jmp 0x4a4f68
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x154]
divss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf0], xmm0
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe4], 0
jle 0x4a4f93
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe4]
mov word [ebp + ecx*2 - 0x92], ax
jmp 0x4a4474
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x150]
add ecx, 1
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0xe4]
shl edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x18c], 0xc3
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x194], 0x2a
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x18c]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x198]
shl edx, 4
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1a8]
or ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov dl, byte [ebp - 0x1b0]
mov byte [ebp - 0xd3], dl
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x518]
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xcd]
add ecx, eax
mov byte [ebp - 0xcd], cl
mov dl, byte [ebp - 0xc9]
add dl, 1
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x518], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x518]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x518]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x518]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx eax, byte [ebp + ecx - 0x518]
xor edx, eax
mov byte [ebp - 0xce], dl
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe4], 0
jle 0x4a5202
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe4]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, 2
imul eax, edx, 0x23
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0x48
jae 0x4a521b
jmp 0x4a5220
call fcn.009f1ed7
xor ecx, ecx
mov edx, dword [ebp - 0x3d8]
mov word [ebp + edx - 0x90], cx
jmp 0x4a5286
mov dword [ebp - 0x288], 0
jmp 0x4a524d
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x24
jge 0x4a5286
mov ecx, dword [ebp - 0x288]
shl ecx, 1
mov dword [ebp - 0x3dc], ecx
cmp dword [ebp - 0x3dc], 0x48
jae 0x4a526f
jmp 0x4a5274
call fcn.009f1ed7
xor edx, edx
mov eax, dword [ebp - 0x3dc]
mov word [ebp + eax - 0x90], dx
jmp 0x4a523e
lea ecx, [ebp - 0xb4]
push ecx
push 2
push 0
lea edx, [ebp - 0x9c]
push edx
push 0x100
lea eax, [ebp - 0x48]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, dword [ebp - 0x3ec]
call fcn.004a53e0
lea ecx, [ebp - 0xb4]
push ecx
push 1
push 0
lea edx, [ebp - 0x9c]
push edx
push 0x100
lea eax, [ebp - 0x90]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, dword [ebp - 0x3ec]
call fcn.004a53e0
mov byte [ebp - 0x1c9], 0
mov dword [ebp - 0x248], 0
jmp 0x4a5301
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x248], ecx
lea ecx, [ebp - 0x9c]
call fcn.004a5bd0
cmp dword [ebp - 0x248], eax
jae 0x4a5362
mov edx, dword [ebp - 0x248]
push edx
lea ecx, [ebp - 0x9c]
call fcn.0049a920
mov eax, dword [eax]
cmp dword [eax + 0x2c], 0
je 0x4a5335
mov byte [ebp - 0x1c9], 1
mov ecx, dword [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.0049a920
mov edx, dword [eax]
mov dword [ebp - 0x3f0], edx
push 0x30
mov eax, dword [ebp - 0x3f0]
push eax
call fcn.009f1bbe
add esp, 8
jmp 0x4a52f2
lea ecx, [ebp - 0x9c]
call fcn.004a5b90
mov cl, byte [ebp - 0x1c9]
mov byte [ebp - 0x225], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4]
call fcn.0046b890
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.0049a870
mov al, byte [ebp - 0x225]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.009f1976
mov esp, ebp
pop ebp
ret