Function at 0x4a9d60
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa5b96c
mov eax, dword fs:[0]
push eax
sub esp, 0xde0
mov eax, dword [0xa9706c]
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 - 0xddc], ecx
mov dword [ebp - 0xdd8], 0
push 0x800
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.00a341d0
add esp, 0xc
mov dword [ebp - 0x874], 0x400
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x994], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb30], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb10], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb10], xmm0
jmp 0x4a9e0d
movsd xmm0, qword [ebp - 0xb10]
addsd xmm0, qword [0xa5f350]
movsd qword [ebp - 0xb10], xmm0
movsd xmm0, qword [0xa60910]
comisd xmm0, xmmword [ebp - 0xb10]
jbe 0x4a9ebe
movsd xmm0, qword [0xa60848]
mulsd xmm0, qword [ebp - 0xb10]
mulsd xmm0, qword [ebp - 0xb10]
movsd xmm1, qword [ebp - 0xb10]
mulsd xmm1, qword [ebp - 0xb10]
subsd xmm0, xmm1
movsd xmm1, qword [0xa606e0]
mulsd xmm1, qword [ebp - 0xb10]
mulsd xmm1, qword [ebp - 0xb10]
addsd xmm1, qword [0xa60750]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb30]
movsd qword [ebp - 0xb30], xmm0
movsd xmm0, qword [ebp - 0xb30]
comisd xmm0, xmmword [0xa607c0]
jbe 0x4a9eb9
movsd xmm0, qword [0xa60690]
mulsd xmm0, qword [ebp - 0xb10]
movsd xmm1, qword [ebp - 0xb30]
subsd xmm1, xmm0
movsd qword [ebp - 0xb30], xmm1
jmp 0x4a9df5
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb30]
jbe 0x4a9f08
fcom qword [edx - 0x2b]
push ecx
rcr byte [edx - 0x26], 1
pop edx
rcl dword [ebp - 0x2f], cl
push edi
xlatb
push edx
xlatb
pop ecx
ficom dword [eax - 0x31]
push ecx
rcl byte [eax - 0x2b]
push ebx
ror byte [esi + ecx*2 + 0x7d], 1
jne 0x4a9f52
inc esp
aas
inc esi
popal
je 0x4a9f68
jno 0x4a9f1c
imul ebp, dword [edi + 0x47], 0x2248355c
imul ebp, dword [esi], 0x21
pop eax
xor eax, dword es:[esi + 0x6b]
jns 0x4a9f6e
inc ebx
jmp 0x4ac47b
mov dword [ebp - 0x990], 0x4a9ecb
mov dword [ebp - 0x994], 0x4a9ee5
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0xa1c], ecx
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0xcbc], edx
mov byte [ebp - 0xa55], 0x22
mov dword [ebp - 0x9f8], 0
jmp 0x4a9f56
mov eax, dword [ebp - 0x9f8]
add eax, 1
mov dword [ebp - 0x9f8], eax
or dh, dh
invalid
cmp dword [ebp - 0x9f8], 0x100
jae 0x4a9f77
mov ecx, dword [ebp - 0x9f8]
mov dl, byte [ebp - 0x9f8]
mov byte [ebp + ecx - 0xca4], dl
jmp 0x4a9f47
mov dword [ebp - 0xac0], 0
mov byte [ebp - 0x9ac], 0
mov dword [ebp - 0x9f8], 0xff
jmp 0x4a9fa3
mov eax, dword [ebp - 0x9f8]
sub eax, 1
mov dword [ebp - 0x9f8], eax
cmp dword [ebp - 0x9f8], 0
jbe 0x4aa423
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 0xb34], 1
mov ecx, dword [ebp - 0xb34]
cmp ecx, dword [ebp - 0x9f8]
jae 0x4a9fe4
mov edx, dword [ebp - 0xb34]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb34], eax
jmp 0x4a9fc4
mov ecx, dword [ebp - 0xac0]
mov dword [ebp - 0xb94], ecx
cmp dword [ebp - 0xb94], 3
ja case.default.0x4aa003
mov edx, dword [ebp - 0xb94]
jmp dword [edx*4 + 0x4ae0ac]
movzx eax, byte [ebp - 0x9ac]
movzx ebx, byte [ebp + eax - 0xca4]
movsd xmm0, qword [ebp - 0xb30]
call fcn.009e3680
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ac], bl
jmp 0x4aa0ec
movzx ecx, byte [ebp - 0x9ac]
movzx ebx, byte [ebp + ecx - 0xca4]
movsd xmm0, qword [ebp - 0xb30]
call fcn.009e3680
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ac], bl
jmp 0x4aa0ec
movzx edx, byte [ebp - 0x9ac]
movzx ebx, byte [ebp + edx - 0xca4]
movsd xmm0, qword [ebp - 0xb30]
call fcn.009e3680
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ac], bl
jmp 0x4aa0ec
movzx eax, byte [ebp - 0x9ac]
movzx ebx, byte [ebp + eax - 0xca4]
movsd xmm0, qword [ebp - 0xb30]
call fcn.009e3680
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ac], bl
jmp 0x4aa0ec
movzx ecx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + ecx - 0xca4]
mov eax, dword [ebp - 0xcbc]
add eax, dword [ebp - 0xac0]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9ac], dl
mov edx, dword [ebp - 0xac0]
add edx, 1
mov dword [ebp - 0xac0], edx
movzx eax, byte [ebp - 0xa55]
cmp dword [ebp - 0xac0], eax
jb 0x4aa33a
mov dword [ebp - 0xac0], 0
movsd xmm0, qword [0xa60bb0]
movsd qword [ebp - 0xa90], xmm0
movsd xmm0, qword [0xa60ad0]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [0xa609a0]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa90]
mulsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa90], xmm0
movsd xmm0, qword [ebp - 0xa70]
subsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa70]
mulsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa48]
comisd xmm0, xmmword [ebp - 0xa90]
jbe 0x4aa2dc
movsd xmm0, qword [ebp - 0xa48]
divsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa70]
subsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa48]
divsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa90]
subsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa90], xmm0
movsd xmm0, qword [ebp - 0xa90]
addsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa90], xmm0
movsd xmm0, qword [ebp - 0xa48]
divsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa48]
comisd xmm0, xmmword [ebp - 0xa70]
jbe 0x4aa292
movsd xmm0, qword [ebp - 0xa48]
mulsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa48]
divsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa90]
addsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa90], xmm0
jmp 0x4aa2da
movsd xmm0, qword [ebp - 0xa48]
mulsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa48]
subsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
movsd xmm0, qword [ebp - 0xa48]
addsd xmm0, qword [ebp - 0xa90]
movsd qword [ebp - 0xa48], xmm0
jmp 0x4aa33a
movsd xmm0, qword [ebp - 0xa70]
subsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa70]
mulsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa70]
addsd xmm0, qword [ebp - 0xa48]
movsd qword [ebp - 0xa70], xmm0
movzx ecx, byte [ebp - 0xa55]
movzx edx, byte [ebp - 0x9ac]
add edx, ecx
mov byte [ebp - 0x9ac], dl
movzx eax, byte [ebp - 0x9ac]
and eax, dword [ebp - 0xb34]
mov dword [ebp - 0xa84], eax
mov ecx, dword [ebp - 0xb4c]
add ecx, 1
mov dword [ebp - 0xb4c], ecx
cmp dword [ebp - 0xb4c], 0xb
jbe 0x4aa379
mov eax, dword [ebp - 0xa84]
xor edx, edx
div dword [ebp - 0x9f8]
mov dword [ebp - 0xa84], edx
mov edx, dword [ebp - 0xa84]
cmp edx, dword [ebp - 0x9f8]
ja 0x4a9fe4
mov eax, dword [ebp - 0x9f8]
cmp eax, dword [ebp - 0xa84]
je 0x4aa41e
mov ecx, dword [ebp - 0xa84]
movzx edx, byte [ebp + ecx - 0xca4]
mov eax, dword [ebp - 0x9f8]
movzx ecx, byte [ebp + eax - 0xca4]
xor ecx, edx
mov edx, dword [ebp - 0x9f8]
mov byte [ebp + edx - 0xca4], cl
mov eax, dword [ebp - 0x9f8]
movzx ecx, byte [ebp + eax - 0xca4]
mov edx, dword [ebp - 0xa84]
movzx eax, byte [ebp + edx - 0xca4]
xor eax, ecx
mov ecx, dword [ebp - 0xa84]
mov byte [ebp + ecx - 0xca4], al
mov edx, dword [ebp - 0xa84]
movzx eax, byte [ebp + edx - 0xca4]
mov ecx, dword [ebp - 0x9f8]
movzx edx, byte [ebp + ecx - 0xca4]
xor edx, eax
mov eax, dword [ebp - 0x9f8]
mov byte [ebp + eax - 0xca4], dl
jmp 0x4a9f94
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a1], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a2], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a6], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a3], dl
movzx eax, byte [ebp - 0x9ac]
mov cl, byte [ebp + eax - 0xca4]
mov byte [ebp - 0x9a4], cl
mov dword [ebp - 0xb90], 0x1a
cmp dword [ebp - 0xb90], 2
jle 0x4ac42a
mov edx, dword [ebp - 0xb90]
and edx, 1
jne 0x4ac42a
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9e8], 0
mov eax, dword [ebp - 0x9e8]
add eax, 1
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0xa24], 0
mov ecx, dword [ebp - 0x9b4]
shl ecx, 1
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa18], 0
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
add eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], 0
mov ecx, dword [ebp - 0xa14]
add ecx, 0xce
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa20], 0
mov edx, dword [ebp - 0x9b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0xa10], 0
mov ecx, dword [ebp - 0xa1c]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa0c], 0
mov eax, dword [ebp - 0xa0c]
add eax, 0x4b
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], 0
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa14]
add ecx, dword [ebp - 0xa08]
mov dword [ebp - 0xa08], ecx
mov dword [ebp - 0xa04], 0
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa0c]
add edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa04], edx
mov dword [ebp - 0xa38], 0
mov eax, dword [ebp - 0xa08]
shl eax, 4
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa28], 0
mov ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], ecx
mov dword [ebp - 0xa2c], 0
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], edx
mov byte [ebp - 0x9a7], 0
mov al, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], al
mov byte [ebp - 0x9a5], 0
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a5], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp - 0x9a2]
add edx, ecx
mov byte [ebp - 0x9a2], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a5]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp - 0x9a6]
add edx, ecx
mov byte [ebp - 0x9a6], dl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xca4]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xca4]
xor eax, edx
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xca4]
movzx ecx, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
movzx ecx, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp + edx - 0xca4]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov dl, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], dl
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], al
cmp dword [ebp - 0x9b4], 0
jle 0x4aa7ae
movsx cx, byte [ebp - 0x9ab]
mov edx, dword [ebp - 0x9b4]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9e8]
add ecx, 1
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9b4]
shl edx, 1
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa24]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa14], 0xce
movss xmm0, dword [0xa60d50]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [0xa60ce0]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [0xa60c78]
movss dword [ebp - 0x9e0], xmm0
movss xmm0, dword [ebp - 0x9d4]
subss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9d4]
mulss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [ebp - 0x9d4]
comiss xmm0, dword [ebp - 0x9e0]
jbe 0x4aa8df
movss xmm0, dword [ebp - 0x9e0]
mulss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9e0], xmm0
movss xmm0, dword [ebp - 0x9d4]
subss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
mov edx, dword [ebp - 0x9b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
jmp 0x4aab01
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9d4]
mulss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
divss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9d4]
subss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9d4], xmm0
movss xmm0, dword [ebp - 0x9d4]
comiss xmm0, dword [ebp - 0x9c4]
jbe 0x4aaab9
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9e0]
addss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9e0], xmm0
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9e0]
mulss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9e0], xmm0
movss xmm0, dword [ebp - 0x9c4]
divss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9e0]
comiss xmm0, dword [ebp - 0x9d4]
jbe 0x4aaa6f
movss xmm0, dword [ebp - 0x9c4]
mulss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9e0]
mulss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9e0], xmm0
jmp 0x4aaab7
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
mulss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
divss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
jmp 0x4aab01
movss xmm0, dword [ebp - 0x9e0]
divss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9e0], xmm0
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9d4]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9d4]
divss xmm0, dword [ebp - 0x9e0]
movss dword [ebp - 0x9d4], xmm0
mov ecx, dword [ebp - 0xa1c]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa0c], 0x4b
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], eax
mov ecx, dword [ebp - 0xa10]
sub ecx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xa08]
shl edx, 4
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0xa38]
or ecx, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], ecx
mov dl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], dl
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + eax - 0xca4]
mov byte [ebp - 0x9a5], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx edx, byte [ebp - 0x9a7]
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xca4]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xca4]
xor edx, ecx
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xca4]
movzx eax, byte [ebp - 0x9a4]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
movzx eax, byte [ebp - 0x9a6]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp + ecx - 0xca4]
xor edx, eax
mov byte [ebp - 0x9a3], dl
mov cl, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], cl
mov dl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], dl
cmp dword [ebp - 0x9b4], 0
jle 0x4aacfe
movsx ax, byte [ebp - 0x9ab]
mov ecx, dword [ebp - 0x9b4]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9e8]
add edx, 3
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0xb6c], eax
jmp 0x4aad2d
mov ecx, dword [ebp - 0xb6c]
add ecx, 1
mov dword [ebp - 0xb6c], ecx
mov edx, dword [ebp - 0xb6c]
cmp edx, dword [ebp - 0x9e8]
jge 0x4aaf8b
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b4]
shl ecx, 1
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], 0xce
mov ecx, dword [ebp - 0x9b4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa0c], 0x4b
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], eax
mov cl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], cl
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + edx - 0xca4]
mov byte [ebp - 0x9a5], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a5]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a6]
add eax, edx
mov byte [ebp - 0x9a6], al
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp + eax - 0xca4]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], cl
cmp dword [ebp - 0x9b4], 0
jle 0x4aaf86
movsx dx, byte [ebp - 0x9ab]
mov eax, dword [ebp - 0x9b4]
mov word [ebp + eax*2 - 0x3e], dx
jmp 0x4aad1e
mov ecx, dword [ebp - 0x9e8]
add ecx, 1
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9e8]
add edx, 4
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0xb50], eax
jmp 0x4aafc9
mov ecx, dword [ebp - 0xb50]
add ecx, 1
mov dword [ebp - 0xb50], ecx
mov edx, dword [ebp - 0xb50]
cmp edx, dword [ebp - 0x9e8]
jge 0x4ab227
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b4]
shl ecx, 1
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], 0xce
mov ecx, dword [ebp - 0x9b4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa0c], 0x4b
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], eax
mov cl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], cl
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + edx - 0xca4]
mov byte [ebp - 0x9a5], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a5]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a6]
add eax, edx
mov byte [ebp - 0x9a6], al
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp + eax - 0xca4]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], cl
cmp dword [ebp - 0x9b4], 0
jle 0x4ab222
movsx dx, byte [ebp - 0x9ab]
mov eax, dword [ebp - 0x9b4]
mov word [ebp + eax*2 - 0x3e], dx
jmp 0x4aafba
mov ecx, dword [ebp - 0x9e8]
add ecx, 1
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9b4]
add edx, 1
mov dword [ebp - 0x9b4], edx
mov eax, dword [ebp - 0x9e8]
add eax, 1
mov dword [ebp - 0x9e8], eax
mov ecx, dword [ebp - 0x9b4]
shl ecx, 1
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], 0xce
mov ecx, dword [ebp - 0x9b4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa0c], 0x4b
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], eax
mov cl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], cl
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + edx - 0xca4]
mov byte [ebp - 0x9a5], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a5]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a6]
add eax, edx
mov byte [ebp - 0x9a6], al
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp + eax - 0xca4]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
movsd xmm0, qword [0xa60c28]
movsd qword [ebp - 0xb78], xmm0
movsd xmm0, qword [0xa60be8]
movsd qword [ebp - 0xb60], xmm0
movsd xmm0, qword [0xa60ba8]
movsd qword [ebp - 0xb18], xmm0
movsd xmm0, qword [0xa60b48]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [0xa60a90]
movsd qword [ebp - 0xccc], xmm0
movsd xmm0, qword [0xa609f8]
movsd qword [ebp - 0xb08], xmm0
movsd xmm0, qword [0xa608e0]
movsd qword [ebp - 0xae8], xmm0
movsd xmm0, qword [ebp - 0xb78]
addsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xb78], xmm0
movsd xmm0, qword [ebp - 0xa80]
addsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [ebp - 0xb08]
subsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xb08], xmm0
movsd xmm0, qword [ebp - 0xb08]
subsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xb08], xmm0
movsd xmm0, qword [ebp - 0xb08]
mulsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xb08], xmm0
movsd xmm0, qword [ebp - 0xb18]
mulsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xb18], xmm0
movsd xmm0, qword [ebp - 0xa80]
subsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [ebp - 0xb18]
comisd xmm0, xmmword [ebp - 0xb08]
jbe 0x4ab63f
movsd xmm0, qword [ebp - 0xb60]
subsd xmm0, qword [ebp - 0xa80]
movsd qword [ebp - 0xb60], xmm0
movsd xmm0, qword [ebp - 0xa80]
mulsd xmm0, qword [ebp - 0xb08]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [ebp - 0xb60]
mulsd xmm0, qword [ebp - 0xa80]
movsd qword [ebp - 0xb60], xmm0
movsd xmm0, qword [ebp - 0xa80]
subsd xmm0, qword [ebp - 0xb08]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [ebp - 0xccc]
subsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xccc], xmm0
movsd xmm0, qword [ebp - 0xa80]
mulsd xmm0, qword [ebp - 0xb08]
movsd qword [ebp - 0xa80], xmm0
movsd xmm0, qword [ebp - 0xa80]
addsd xmm0, qword [ebp - 0xb08]
movsd qword [ebp - 0xa80], xmm0
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
jmp 0x4ab6e7
movsd xmm0, qword [ebp - 0xb78]
divsd xmm0, qword [ebp - 0xb60]
movsd qword [ebp - 0xb78], xmm0
movsd xmm0, qword [ebp - 0xae8]
subsd xmm0, qword [ebp - 0xb78]
movsd qword [ebp - 0xae8], xmm0
movsd xmm0, qword [ebp - 0xb18]
divsd xmm0, qword [ebp - 0xa80]
movsd qword [ebp - 0xb18], xmm0
movsd xmm0, qword [ebp - 0xae8]
mulsd xmm0, qword [ebp - 0xb78]
movsd qword [ebp - 0xae8], xmm0
movsd xmm0, qword [ebp - 0xb60]
subsd xmm0, qword [ebp - 0xb18]
movsd qword [ebp - 0xb60], xmm0
movsd xmm0, qword [ebp - 0xb18]
subsd xmm0, qword [ebp - 0xa80]
movsd qword [ebp - 0xb18], xmm0
movsd xmm0, qword [ebp - 0xb18]
subsd xmm0, qword [ebp - 0xa80]
movsd qword [ebp - 0xb18], xmm0
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], cl
cmp dword [ebp - 0x9b4], 0
jle 0x4ab70f
movsx dx, byte [ebp - 0x9ab]
mov eax, dword [ebp - 0x9b4]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, dword [ebp - 0x9b4]
add ecx, 1
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x9e8]
add edx, 1
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9b4]
shl eax, 1
mov dword [ebp - 0xa24], eax
movss xmm0, dword [0xa60d9c]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [0xa60d64]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [0xa60d00]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [0xa60c8c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9b8]
addss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9d0]
subss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
mulss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9dc]
comiss xmm0, dword [ebp - 0x9b8]
jbe 0x4ababb
movss xmm0, dword [ebp - 0x9b8]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0xa3c]
addss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0x9dc]
mulss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0xa3c]
mulss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d0]
subss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
comiss xmm0, dword [ebp - 0x9d0]
jbe 0x4ab926
movss xmm0, dword [ebp - 0x9dc]
divss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9d0]
divss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
jmp 0x4abab9
movss xmm0, dword [ebp - 0x9dc]
divss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9dc]
subss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0xa3c]
mulss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0x9d0]
mulss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9d0]
mulss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9b8]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9d0]
comiss xmm0, dword [ebp - 0x9b8]
jbe 0x4aba59
movss xmm0, dword [ebp - 0x9dc]
divss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9d0]
subss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d0]
divss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9dc]
mulss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9dc], xmm0
jmp 0x4abab9
movss xmm0, dword [ebp - 0x9dc]
divss xmm0, dword [ebp - 0x9b8]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9b8]
divss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
subss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
subss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0x9b8], xmm0
jmp 0x4abb30
movss xmm0, dword [ebp - 0xa3c]
mulss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0x9b8]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
movss xmm0, dword [ebp - 0x9b8]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9b8], xmm0
mov ecx, dword [ebp - 0xa1c]
add ecx, dword [ebp - 0xa24]
movzx edx, byte [ecx]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa14], 0xce
mov eax, dword [ebp - 0x9b4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa20]
movzx eax, byte [edx]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa0c], 0x4b
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa08]
shl eax, 4
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], edx
mov al, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], al
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + ecx - 0xca4]
mov byte [ebp - 0x9a5], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp - 0x9a2]
add edx, ecx
mov byte [ebp - 0x9a2], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xca4]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a5]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp - 0x9a6]
add edx, ecx
mov byte [ebp - 0x9a6], dl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xca4]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xca4]
xor eax, edx
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xca4]
movzx ecx, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
movzx ecx, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + ecx - 0xca4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp + edx - 0xca4]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov dl, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], dl
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], al
cmp dword [ebp - 0x9b4], 0
jle 0x4abd46
movsx cx, byte [ebp - 0x9ab]
mov edx, dword [ebp - 0x9b4]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9e8]
add ecx, 1
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9b4]
shl edx, 1
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa24]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa14], 0xce
mov edx, dword [ebp - 0x9b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa1c]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa0c], 0x4b
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], eax
mov ecx, dword [ebp - 0xa10]
sub ecx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xa08]
shl edx, 4
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0xa38]
or ecx, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], ecx
mov dl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], dl
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + eax - 0xca4]
mov byte [ebp - 0x9a5], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
movss xmm0, dword [0xa60d68]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [0xa60d04]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [0xa60c90]
movss dword [ebp - 0x9f4], xmm0
movss xmm0, dword [ebp - 0x9ec]
subss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0x9ec]
addss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0x9ec]
mulss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0x9ec]
comiss xmm0, dword [ebp - 0x9f4]
jbe 0x4abf88
movss xmm0, dword [ebp - 0x9ec]
subss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0x9ec]
addss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0xa34]
addss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0xa34], xmm0
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xca4]
mov byte [ebp + ecx - 0xca4], dl
jmp 0x4ac0bb
movss xmm0, dword [ebp - 0x9f4]
mulss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0x9f4], xmm0
movss xmm0, dword [ebp - 0xa34]
divss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [ebp - 0xa34]
addss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [ebp - 0xa34]
divss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [ebp - 0x9f4]
divss xmm0, dword [ebp - 0xa34]
movss dword [ebp - 0x9f4], xmm0
movss xmm0, dword [ebp - 0x9f4]
subss xmm0, dword [ebp - 0xa34]
movss dword [ebp - 0x9f4], xmm0
movss xmm0, dword [ebp - 0xa34]
comiss xmm0, dword [ebp - 0x9f4]
jbe 0x4ac073
movss xmm0, dword [ebp - 0x9f4]
mulss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0x9f4], xmm0
movss xmm0, dword [ebp - 0x9ec]
subss xmm0, dword [ebp - 0xa34]
movss dword [ebp - 0x9ec], xmm0
movss xmm0, dword [ebp - 0x9f4]
addss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0x9f4], xmm0
jmp 0x4ac0bb
movss xmm0, dword [ebp - 0xa34]
subss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [ebp - 0xa34]
addss xmm0, dword [ebp - 0x9ec]
movss dword [ebp - 0xa34], xmm0
movss xmm0, dword [ebp - 0x9ec]
divss xmm0, dword [ebp - 0x9f4]
movss dword [ebp - 0x9ec], xmm0
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xca4]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx edx, byte [ebp - 0x9a7]
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xca4]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xca4]
xor edx, ecx
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xca4]
movzx eax, byte [ebp - 0x9a4]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
movzx eax, byte [ebp - 0x9a6]
movzx eax, byte [ebp + eax - 0xca4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp + ecx - 0xca4]
xor edx, eax
mov byte [ebp - 0x9a3], dl
mov cl, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], cl
mov dl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], dl
cmp dword [ebp - 0x9b4], 0
jle 0x4ac1a7
movsx ax, byte [ebp - 0x9ab]
mov ecx, dword [ebp - 0x9b4]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9b4]
add edx, 1
mov dword [ebp - 0x9b4], edx
mov eax, dword [ebp - 0x9e8]
add eax, 1
mov dword [ebp - 0x9e8], eax
mov ecx, dword [ebp - 0x9b4]
shl ecx, 1
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa24]
movzx eax, byte [edx]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], 0xce
mov ecx, dword [ebp - 0x9b4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa1c]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa0c], 0x4b
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa2c], eax
mov cl, byte [ebp - 0xa2c]
mov byte [ebp - 0x9a7], cl
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + edx - 0xca4]
mov byte [ebp - 0x9a5], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xca4]
mov byte [ebp + eax - 0xca4], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a5]
mov byte [ebp + edx - 0xca4], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xca4]
movzx eax, byte [ebp - 0x9a6]
add eax, edx
mov byte [ebp - 0x9a6], al
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xca4]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xca4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xca4]
movzx edx, byte [ebp + eax - 0xca4]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ab], cl
cmp dword [ebp - 0x9b4], 0
jle 0x4ac3fd
movsx dx, byte [ebp - 0x9ab]
mov eax, dword [ebp - 0x9b4]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, 2
imul edx, ecx, 0xc
mov dword [ebp - 0xba4], edx
cmp dword [ebp - 0xba4], 0x1a
jae 0x4ac416
jmp 0x4ac41b
call fcn.009e31a7
xor eax, eax
mov ecx, dword [ebp - 0xba4]
mov word [ebp + ecx - 0x3c], ax
jmp 0x4ac47b
mov dword [ebp - 0xb44], 0
jmp 0x4ac445
mov edx, dword [ebp - 0xb44]
add edx, 1
mov dword [ebp - 0xb44], edx
cmp dword [ebp - 0xb44], 0xd
jge 0x4ac47b
mov eax, dword [ebp - 0xb44]
shl eax, 1
mov dword [ebp - 0xba0], eax
cmp dword [ebp - 0xba0], 0x1a
jae 0x4ac467
jmp 0x4ac46c
call fcn.009e31a7
xor ecx, ecx
mov edx, dword [ebp - 0xba0]
mov word [ebp + edx - 0x3c], cx
jmp 0x4ac436
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 0x998], 0
mov dword [ebp - 0x99c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb20], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb00], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb00], xmm0
jmp 0x4ac4da
movsd xmm0, qword [ebp - 0xb00]
addsd xmm0, qword [0xa5f340]
movsd qword [ebp - 0xb00], xmm0
movsd xmm0, qword [0xa61800]
comisd xmm0, xmmword [ebp - 0xb00]
jbe 0x4ac58b
movsd xmm0, qword [0xa61710]
mulsd xmm0, qword [ebp - 0xb00]
mulsd xmm0, qword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0xb00]
mulsd xmm1, qword [ebp - 0xb00]
subsd xmm0, xmm1
movsd xmm1, qword [0xa615d0]
mulsd xmm1, qword [ebp - 0xb00]
mulsd xmm1, qword [ebp - 0xb00]
addsd xmm1, qword [0xa61608]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xb20], xmm0
movsd xmm0, qword [ebp - 0xb20]
comisd xmm0, xmmword [0xa61668]
jbe 0x4ac586
movsd xmm0, qword [0xa61578]
mulsd xmm0, qword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0xb20]
subsd xmm1, xmm0
movsd qword [ebp - 0xb20], xmm1
jmp 0x4ac4c2
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb20]
jbe 0x4ac5d6
dec ebx
inc esi
push edx
jne 0x4ac5c6
bound edi, qword [ecx + 0x7e]
jbe 0x4ac60d
daa
ja 0x4ac61b
xor eax, 0x67492251
and dword [ebx + 0x57], esi
jnp 0x4ac601
xor byte [ecx + 0x6b], bl
das
push 0xea7a7554
fucompi st(6)
salc
call 0xec21ae91
sal al, cl
fsub st(7), st(0)
fninit
aad 0xe6
salc
int1
shr edi, cl
fucomp st(5)
fsub st(7), st(0)
salc
jmp 0x4add51
mov dword [ebp - 0x998], 0x4ac5b7
mov dword [ebp - 0x99c], 0x4ac598
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0xadc], ecx
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0xcb8], edx
mov byte [ebp - 0xa49], 0x23
inc esi
test dword [edi + 0x23fffff5], esi
mov dword [ebp - 0xa00], 0
jmp 0x4ac624
invalid
mov eax, dword [ebp - 0xa00]
add eax, 1
mov dword [ebp - 0xa00], eax
cmp dword [ebp - 0xa00], 0x100
jae 0x4ac645
mov ecx, dword [ebp - 0xa00]
mov dl, byte [ebp - 0xa00]
mov byte [ebp + ecx - 0xdcc], dl
jmp 0x4ac615
mov dword [ebp - 0xad4], 0
mov byte [ebp - 0x9ad], 0
mov dword [ebp - 0xa00], 0xff
jmp 0x4ac671
mov eax, dword [ebp - 0xa00]
sub eax, 1
mov dword [ebp - 0xa00], eax
cmp dword [ebp - 0xa00], 0
jbe 0x4ac8e1
mov dword [ebp - 0xb54], 0
mov dword [ebp - 0xb38], 1
mov ecx, dword [ebp - 0xb38]
cmp ecx, dword [ebp - 0xa00]
jae 0x4ac6b2
mov edx, dword [ebp - 0xb38]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb38], eax
jmp 0x4ac692
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 3
ja case.default.0x4ac6d1
mov edx, dword [ebp - 0xb98]
jmp dword [edx*4 + 0x4ae0bc]
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xdcc]
movsd xmm0, qword [ebp - 0xb20]
call fcn.009e3680
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x4ac7ba
movzx ecx, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + ecx - 0xdcc]
movsd xmm0, qword [ebp - 0xb20]
call fcn.009e3680
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x4ac7ba
movzx edx, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + edx - 0xdcc]
movsd xmm0, qword [ebp - 0xb20]
call fcn.009e3680
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x4ac7ba
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xdcc]
movsd xmm0, qword [ebp - 0xb20]
call fcn.009e3680
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x4ac7ba
movzx ecx, byte [ebp - 0x9ad]
movzx edx, byte [ebp + ecx - 0xdcc]
mov eax, dword [ebp - 0xcb8]
add eax, dword [ebp - 0xad4]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9ad], dl
mov edx, dword [ebp - 0xad4]
add edx, 1
mov dword [ebp - 0xad4], edx
movzx eax, byte [ebp - 0xa49]
cmp dword [ebp - 0xad4], eax
jb 0x4ac7f8
mov dword [ebp - 0xad4], 0
movzx ecx, byte [ebp - 0xa49]
movzx edx, byte [ebp - 0x9ad]
add edx, ecx
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9ad]
and eax, dword [ebp - 0xb38]
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xb54]
add ecx, 1
mov dword [ebp - 0xb54], ecx
cmp dword [ebp - 0xb54], 0xb
jbe 0x4ac837
mov eax, dword [ebp - 0xa88]
xor edx, edx
div dword [ebp - 0xa00]
mov dword [ebp - 0xa88], edx
mov edx, dword [ebp - 0xa88]
cmp edx, dword [ebp - 0xa00]
ja 0x4ac6b2
mov eax, dword [ebp - 0xa00]
cmp eax, dword [ebp - 0xa88]
je 0x4ac8dc
mov ecx, dword [ebp - 0xa88]
movzx edx, byte [ebp + ecx - 0xdcc]
mov eax, dword [ebp - 0xa00]
movzx ecx, byte [ebp + eax - 0xdcc]
xor ecx, edx
mov edx, dword [ebp - 0xa00]
mov byte [ebp + edx - 0xdcc], cl
mov eax, dword [ebp - 0xa00]
movzx ecx, byte [ebp + eax - 0xdcc]
mov edx, dword [ebp - 0xa88]
movzx eax, byte [ebp + edx - 0xdcc]
xor eax, ecx
mov ecx, dword [ebp - 0xa88]
mov byte [ebp + ecx - 0xdcc], al
mov edx, dword [ebp - 0xa88]
movzx eax, byte [ebp + edx - 0xdcc]
mov ecx, dword [ebp - 0xa00]
movzx edx, byte [ebp + ecx - 0xdcc]
xor edx, eax
mov eax, dword [ebp - 0xa00]
mov byte [ebp + eax - 0xdcc], dl
jmp 0x4ac662
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xdcc]
mov byte [ebp - 0x9a8], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xdcc]
mov byte [ebp - 0x9a9], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xdcc]
mov byte [ebp - 0x9be], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xdcc]
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ad]
mov cl, byte [ebp + eax - 0xdcc]
mov byte [ebp - 0x9ae], cl
mov dword [ebp - 0xb8c], 0x1a
cmp dword [ebp - 0xb8c], 2
jle 0x4add04
mov edx, dword [ebp - 0xb8c]
and edx, 1
jne 0x4add04
mov dword [ebp - 0x9fc], 0
mov dword [ebp - 0xa40], 0
mov eax, dword [ebp - 0xa40]
add eax, 1
mov dword [ebp - 0xa40], eax
mov dword [ebp - 0xab8], 0
mov ecx, dword [ebp - 0x9fc]
shl ecx, 1
mov dword [ebp - 0xab8], ecx
mov dword [ebp - 0xaa4], 0
mov edx, dword [ebp - 0xadc]
add edx, dword [ebp - 0xab8]
movzx eax, byte [edx]
add eax, dword [ebp - 0xaa4]
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0xaa8], 0
mov ecx, dword [ebp - 0xaa8]
add ecx, 0xe3
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xae0], 0
mov edx, dword [ebp - 0x9fc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xaac], 0
movsd xmm0, qword [0xa61bd8]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [0xa61b58]
movsd qword [ebp - 0xb28], xmm0
movsd xmm0, qword [0xa61ab0]
movsd qword [ebp - 0xad0], xmm0
movsd xmm0, qword [0xa619e0]
movsd qword [ebp - 0xcac], xmm0
movsd xmm0, qword [0xa61920]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [0xa617e8]
movsd qword [ebp - 0xaf8], xmm0
movsd xmm0, qword [ebp - 0xad0]
mulsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xad0], xmm0
movsd xmm0, qword [ebp - 0xb28]
subsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xb28], xmm0
movsd xmm0, qword [ebp - 0xb28]
addsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xb28], xmm0
movsd xmm0, qword [ebp - 0xb28]
mulsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xb28], xmm0
movsd xmm0, qword [ebp - 0xaf0]
addsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xad0]
addsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xad0], xmm0
movsd xmm0, qword [ebp - 0xaf8]
comisd xmm0, xmmword [ebp - 0xb28]
jbe 0x4acbaa
movsd xmm0, qword [ebp - 0xad0]
addsd xmm0, qword [ebp - 0xb68]
movsd qword [ebp - 0xad0], xmm0
movsd xmm0, qword [ebp - 0xaf0]
addsd xmm0, qword [ebp - 0xad0]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xb28]
mulsd xmm0, qword [ebp - 0xcac]
movsd qword [ebp - 0xb28], xmm0
movsd xmm0, qword [ebp - 0xaf0]
addsd xmm0, qword [ebp - 0xad0]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xaf0]
divsd xmm0, qword [ebp - 0xad0]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xad0]
subsd xmm0, qword [ebp - 0xb68]
movsd qword [ebp - 0xad0], xmm0
jmp 0x4acc55
movsd xmm0, qword [ebp - 0xb68]
subsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [ebp - 0xaf8]
mulsd xmm0, qword [ebp - 0xaf0]
movsd qword [ebp - 0xaf8], xmm0
movsd xmm0, qword [ebp - 0xcac]
mulsd xmm0, qword [ebp - 0xb68]
movsd qword [ebp - 0xcac], xmm0
movsd xmm0, qword [ebp - 0xb68]
subsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [ebp - 0xaf0]
addsd xmm0, qword [ebp - 0xb28]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xad0]
mulsd xmm0, qword [ebp - 0xcac]
movsd qword [ebp - 0xad0], xmm0
mov ecx, dword [ebp - 0xadc]
add ecx, dword [ebp - 0xae0]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xaac]
mov dword [ebp - 0xaac], edx
mov dword [ebp - 0xab0], 0
mov eax, dword [ebp - 0xab0]
add eax, 0xd0
mov dword [ebp - 0xab0], eax
mov dword [ebp - 0xab4], 0
mov ecx, dword [ebp - 0xaa4]
sub ecx, dword [ebp - 0xaa8]
add ecx, dword [ebp - 0xab4]
mov dword [ebp - 0xab4], ecx
mov dword [ebp - 0xa98], 0
mov edx, dword [ebp - 0xaac]
sub edx, dword [ebp - 0xab0]
add edx, dword [ebp - 0xa98]
mov dword [ebp - 0xa98], edx
mov dword [ebp - 0xabc], 0
mov eax, dword [ebp - 0xab4]
shl eax, 4
mov dword [ebp - 0xabc], eax
mov dword [ebp - 0xac8], 0
mov ecx, dword [ebp - 0xa98]
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 0xac4], 0
mov edx, dword [ebp - 0xabc]
or edx, dword [ebp - 0xac8]
mov dword [ebp - 0xac4], edx
mov byte [ebp - 0x9bf], 0
mov al, byte [ebp - 0xac4]
mov byte [ebp - 0x9bf], al
mov byte [ebp - 0x9bd], 0
movzx ecx, byte [ebp - 0x9ae]
mov dl, byte [ebp + ecx - 0xdcc]
mov byte [ebp - 0x9bd], dl
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx edx, byte [ebp - 0x9a9]
add edx, ecx
mov byte [ebp - 0x9a9], dl
mov al, byte [ebp - 0x9a8]
add al, 1
mov byte [ebp - 0x9a8], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp - 0x9ae]
mov al, byte [ebp + ecx - 0xdcc]
mov byte [ebp + edx - 0xdcc], al
movzx ecx, byte [ebp - 0x9aa]
movzx edx, byte [ebp - 0x9a9]
mov al, byte [ebp + ecx - 0xdcc]
mov byte [ebp + edx - 0xdcc], al
movzx ecx, byte [ebp - 0x9a8]
movzx edx, byte [ebp - 0x9aa]
mov al, byte [ebp + ecx - 0xdcc]
mov byte [ebp + edx - 0xdcc], al
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp - 0x9bd]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx edx, byte [ebp - 0x9be]
add edx, ecx
mov byte [ebp - 0x9be], dl
movzx eax, byte [ebp - 0x9bf]
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp + ecx - 0xdcc]
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xdcc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xdcc]
xor eax, edx
movzx ecx, byte [ebp - 0x9aa]
movzx edx, byte [ebp + ecx - 0xdcc]
movzx ecx, byte [ebp - 0x9ae]
movzx ecx, byte [ebp + ecx - 0xdcc]
add edx, ecx
movzx ecx, byte [ebp - 0x9be]
movzx ecx, byte [ebp + ecx - 0xdcc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xdcc]
movzx ecx, byte [ebp + edx - 0xdcc]
xor eax, ecx
mov byte [ebp - 0x9aa], al
mov dl, byte [ebp - 0x9bf]
mov byte [ebp - 0x9ae], dl
mov al, byte [ebp - 0x9aa]
mov byte [ebp - 0x9e1], al
cmp dword [ebp - 0x9fc], 0
jle 0x4ace96
mov ecx, dword [ebp - 0x9fc]
mov dl, byte [ebp - 0x9e1]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0xa40]
add eax, 6
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp - 0x9fc]
add ecx, 1
mov dword [ebp - 0xb70], ecx
jmp 0x4acec5
mov edx, dword [ebp - 0xb70]
add edx, 1
mov dword [ebp - 0xb70], edx
mov eax, dword [ebp - 0xb70]
cmp eax, dword [ebp - 0xa40]
jge 0x4ada2f
mov ecx, dword [ebp - 0x9fc]
add ecx, 1
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9fc]
shl edx, 1
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xadc]
add eax, dword [ebp - 0xab8]
movzx ecx, byte [eax]
mov dword [ebp - 0xaa4], ecx
mov dword [ebp - 0xaa8], 0xe3
mov edx, dword [ebp - 0x9fc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xae0], eax
mov ecx, dword [ebp - 0xadc]
add ecx, dword [ebp - 0xae0]
movzx edx, byte [ecx]
mov dword [ebp - 0xaac], edx
movsd xmm0, qword [0xa61b70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [0xa61ac8]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [0xa619f0]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [0xa61930]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [0xa617f0]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xaa0]
mulsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [ebp - 0xa78]
mulsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa60]
mulsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa78]
subsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa78]
subsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa60]
comisd xmm0, xmmword [ebp - 0xa54]
jbe 0x4ad09d
movsd xmm0, qword [ebp - 0xa54]
mulsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa54]
subsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa54]
addsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
mov dword [ebp - 0xab0], 0xd0
jmp 0x4ad291
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa78]
addsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa68]
divsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xaa0]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [ebp - 0xaa0]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa68]
addsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa60]
addsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xaa0]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [ebp - 0xa68]
comisd xmm0, xmmword [ebp - 0xa54]
jbe 0x4ad219
movsd xmm0, qword [ebp - 0xa60]
addsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa54]
addsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa54]
mulsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa54]
addsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
jmp 0x4ad291
movsd xmm0, qword [ebp - 0xa60]
divsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa78]
divsd xmm0, qword [ebp - 0xa54]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa54]
divsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa54], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xaa0]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xaa0], xmm0
mov eax, dword [ebp - 0xaa4]
sub eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xab4], eax
mov ecx, dword [ebp - 0xaac]
sub ecx, dword [ebp - 0xab0]
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp - 0xab4]
shl edx, 4
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xabc]
or ecx, dword [ebp - 0xac8]
mov dword [ebp - 0xac4], ecx
mov dl, byte [ebp - 0xac4]
mov byte [ebp - 0x9bf], dl
movzx eax, byte [ebp - 0x9ae]
mov cl, byte [ebp + eax - 0xdcc]
mov byte [ebp - 0x9bd], cl
movzx edx, byte [ebp - 0x9a8]
movzx eax, byte [ebp + edx - 0xdcc]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov dl, byte [ebp - 0x9a8]
add dl, 1
mov byte [ebp - 0x9a8], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ae]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9bd]
mov byte [ebp + eax - 0xdcc], cl
movzx edx, byte [ebp - 0x9bd]
movzx eax, byte [ebp + edx - 0xdcc]
movzx ecx, byte [ebp - 0x9be]
add ecx, eax
mov byte [ebp - 0x9be], cl
movss xmm0, dword [0xa61e2c]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [0xa61df0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [0xa61d80]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [0xa61d28]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [0xa61ca8]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [0xa61c3c]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0xa30]
subss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0x9f0]
addss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [ebp - 0xa30]
mulss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
comiss xmm0, dword [ebp - 0xa30]
jbe 0x4ad8e3
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9bc]
addss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
mulss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9f0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [ebp - 0xa30]
divss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9d8]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9f0]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [ebp - 0x9c8]
comiss xmm0, dword [ebp - 0x9bc]
jbe 0x4ad84e
movss xmm0, dword [ebp - 0x9bc]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9f0]
divss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0xa30]
divss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0x9d8]
divss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9bc]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0xa30]
comiss xmm0, dword [ebp - 0x9f0]
jbe 0x4ad7b9
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9bc]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
jmp 0x4ad849
movss xmm0, dword [ebp - 0x9bc]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9bc]
mulss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9f0]
subss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9f0], xmm0
movss xmm0, dword [ebp - 0x9f0]
addss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0x9f0], xmm0
jmp 0x4ad8de
movss xmm0, dword [ebp - 0x9bc]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d8]
divss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
jmp 0x4ad9f9
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9bc]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9bc], xmm0
movss xmm0, dword [ebp - 0x9d8]
subss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9d8]
subss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9f0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0x9bc]
movss dword [ebp - 0x9c8], xmm0
movzx edx, byte [ebp - 0x9bf]
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xdcc]
xor edx, ecx
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx eax, byte [ebp - 0x9ae]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
movzx eax, byte [ebp - 0x9be]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xdcc]
movzx eax, byte [ebp + ecx - 0xdcc]
xor edx, eax
mov byte [ebp - 0x9aa], dl
mov cl, byte [ebp - 0x9bf]
mov byte [ebp - 0x9ae], cl
mov dl, byte [ebp - 0x9aa]
mov byte [ebp - 0x9e1], dl
cmp dword [ebp - 0x9fc], 0
jle 0x4ada2a
mov eax, dword [ebp - 0x9fc]
mov cl, byte [ebp - 0x9e1]
mov byte [ebp + eax - 0x21], cl
jmp 0x4aceb6
mov edx, dword [ebp - 0xa40]
add edx, 1
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa40]
add eax, 6
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp - 0x9fc]
add ecx, 1
mov dword [ebp - 0xb58], ecx
jmp 0x4ada6d
mov edx, dword [ebp - 0xb58]
add edx, 1
mov dword [ebp - 0xb58], edx
mov eax, dword [ebp - 0xb58]
cmp eax, dword [ebp - 0xa40]
jge 0x4adcca
mov ecx, dword [ebp - 0x9fc]
add ecx, 1
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9fc]
shl edx, 1
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xadc]
add eax, dword [ebp - 0xab8]
movzx ecx, byte [eax]
mov dword [ebp - 0xaa4], ecx
mov dword [ebp - 0xaa8], 0xe3
mov edx, dword [ebp - 0x9fc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xae0], eax
mov ecx, dword [ebp - 0xadc]
add ecx, dword [ebp - 0xae0]
movzx edx, byte [ecx]
mov dword [ebp - 0xaac], edx
mov dword [ebp - 0xab0], 0xd0
mov eax, dword [ebp - 0xaa4]
sub eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xab4], eax
mov ecx, dword [ebp - 0xaac]
sub ecx, dword [ebp - 0xab0]
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp - 0xab4]
shl edx, 4
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xabc]
or ecx, dword [ebp - 0xac8]
mov dword [ebp - 0xac4], ecx
mov dl, byte [ebp - 0xac4]
mov byte [ebp - 0x9bf], dl
movzx eax, byte [ebp - 0x9ae]
mov cl, byte [ebp + eax - 0xdcc]
mov byte [ebp - 0x9bd], cl
movzx edx, byte [ebp - 0x9a8]
movzx eax, byte [ebp + edx - 0xdcc]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov dl, byte [ebp - 0x9a8]
add dl, 1
mov byte [ebp - 0x9a8], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ae]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov dl, byte [ebp + eax - 0xdcc]
mov byte [ebp + ecx - 0xdcc], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9bd]
mov byte [ebp + eax - 0xdcc], cl
movzx edx, byte [ebp - 0x9bd]
movzx eax, byte [ebp + edx - 0xdcc]
movzx ecx, byte [ebp - 0x9be]
add ecx, eax
mov byte [ebp - 0x9be], cl
movzx edx, byte [ebp - 0x9bf]
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xdcc]
xor edx, ecx
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + eax - 0xdcc]
movzx eax, byte [ebp - 0x9ae]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
movzx eax, byte [ebp - 0x9be]
movzx eax, byte [ebp + eax - 0xdcc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xdcc]
movzx eax, byte [ebp + ecx - 0xdcc]
xor edx, eax
mov byte [ebp - 0x9aa], dl
mov cl, byte [ebp - 0x9bf]
mov byte [ebp - 0x9ae], cl
mov dl, byte [ebp - 0x9aa]
mov byte [ebp - 0x9e1], dl
cmp dword [ebp - 0x9fc], 0
jle 0x4adcc5
mov eax, dword [ebp - 0x9fc]
mov cl, byte [ebp - 0x9e1]
mov byte [ebp + eax - 0x21], cl
jmp 0x4ada5e
mov edx, dword [ebp - 0xa40]
add edx, 1
mov dword [ebp - 0xa40], edx
mov eax, 1
imul ecx, eax, 0xc
mov dword [ebp - 0xb88], ecx
cmp dword [ebp - 0xb88], 0xd
jae 0x4adcf2
jmp 0x4adcf7
call fcn.009e31a7
mov edx, dword [ebp - 0xb88]
mov byte [ebp + edx - 0x20], 0
jmp 0x4add51
mov dword [ebp - 0xb3c], 0
jmp 0x4add1f
mov eax, dword [ebp - 0xb3c]
add eax, 1
mov dword [ebp - 0xb3c], eax
cmp dword [ebp - 0xb3c], 0xd
jge 0x4add51
mov ecx, dword [ebp - 0xb3c]
mov dword [ebp - 0xb9c], ecx
cmp dword [ebp - 0xb9c], 0xd
jae 0x4add3f
jmp 0x4add44
call fcn.009e31a7
mov edx, dword [ebp - 0xb9c]
mov byte [ebp + edx - 0x20], 0
jmp 0x4add10
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0xcb4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xcb0], eax
lea edx, [ebp - 0x874]
push edx
lea eax, [ebp - 0x83c]
push eax
call dword [ebp - 0xcb0]
push 0xc
lea ecx, [ebp - 0x870]
call fcn.00487520
lea ecx, [ebp - 0x870]
call fcn.00487910
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x9a0]
push ecx
lea edx, [ebp - 0x864]
push edx
lea eax, [ebp - 0x870]
push eax
call fcn.004c99e0
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0xb80], xmm0
lea ecx, [ebp - 0x83c]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.0046a030
mov byte [ebp - 4], 1
push fcn.00a384d8
lea edx, [ebp - 0xdd4]
push edx
lea ecx, [ebp - 0x88c]
call fcn.004876b0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xdd0]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.004876e0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xde8]
push eax
lea ecx, [ebp - 0x88c]
call fcn.004876b0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xdec]
push edx
call fcn.00469fe0
add esp, 0x14
lea ecx, [ebp - 0xb45]
call fcn.004a0f80
push eax
lea eax, [ebp - 0xde0]
push eax
lea ecx, [ebp - 0x88c]
call fcn.004876e0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xde4]
push edx
lea ecx, [ebp - 0x88c]
call fcn.004876b0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x8a4]
call fcn.004a0f30
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.0049d2d0
mov byte [ebp - 4], 3
push 0xb0
lea ecx, [ebp - 0x98c]
call fcn.00487520
push 1
mov eax, dword [ebp - 0x9a0]
cdq
push 0
push 4
push edx
push eax
call fcn.009e3310
push edx
push eax
lea ecx, [ebp - 0x864]
push ecx
lea ecx, [ebp - 0x98c]
call fcn.004a1140
mov byte [ebp - 4], 4
lea edx, [ebp - 0x98c]
push edx
lea ecx, [ebp - 0x8dc]
call fcn.004a0810
lea eax, [ebp - 0x8a4]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.004a0970
lea ecx, [ebp - 0x8dc]
call fcn.0049ebe0
mov dword [ebp - 0xad8], 0
jmp 0x4adf06
mov ecx, dword [ebp - 0xad8]
add ecx, 1
mov dword [ebp - 0xad8], ecx
lea ecx, [ebp - 0x870]
call fcn.0049cc00
cmp dword [ebp - 0xad8], eax
jae 0x4adfdc
mov dword [ebp - 0xb40], 0
jmp 0x4adf38
mov edx, dword [ebp - 0xb40]
add edx, 1
mov dword [ebp - 0xb40], edx
mov eax, dword [ebp - 0xad8]
push eax
lea ecx, [ebp - 0x870]
call fcn.00494640
mov ecx, dword [eax]
add ecx, 4
call fcn.0049cc00
cmp dword [ebp - 0xb40], eax
jae 0x4adfd7
lea ecx, [ebp - 0x8dc]
call fcn.004a0f80
push eax
mov ecx, dword [ebp - 0xb40]
push ecx
mov edx, dword [ebp - 0xad8]
push edx
lea ecx, [ebp - 0x870]
call fcn.00494640
mov ecx, dword [eax]
add ecx, 4
call fcn.00494640
mov ecx, dword [eax]
call fcn.004c9c10
mov byte [ebp - 0xa91], al
movzx eax, byte [ebp - 0xa91]
test eax, eax
je 0x4adfd2
mov ecx, dword [ebp - 0xad8]
push ecx
lea ecx, [ebp - 0x870]
call fcn.00494640
mov edx, dword [eax]
mov eax, dword [edx]
cdq
or eax, dword [ebp - 0xb80]
or edx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], eax
mov dword [ebp - 0xb7c], edx
jmp 0x4adf29
jmp 0x4adef7
lea eax, [ebp - 0x870]
push eax
call fcn.004ae0d0
add esp, 4
mov ecx, dword [ebp - 0xb80]
and ecx, 0x800000
mov edx, dword [ebp - 0xb7c]
and edx, 0
mov dword [ebp - 0xcc4], ecx
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0xcc4]
or eax, dword [ebp - 0xcc0]
jne 0x4ae026
mov dword [ebp - 0xb84], 1
jmp 0x4ae030
mov dword [ebp - 0xb84], 0
mov cl, byte [ebp - 0xb84]
mov byte [ebp - 0xa92], cl
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98c]
call fcn.004a1300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.004945f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4]
call fcn.0049d890
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88c]
call fcn.0046a1a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.00494590
mov al, byte [ebp - 0xa92]
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.009e2c4a
mov esp, ebp
pop ebp
ret