Function at 0x4ad146
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e8
mov eax, dword [0xaf408c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x2a0], ecx
call fcn.00a91fea
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 0x168], edx
call fcn.00a91fea
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x2a0]
call fcn.004c2870
mov dword [ebp - 0x288], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x120], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x120], xmm0
jmp 0x4acf6a
movsd xmm0, qword [ebp - 0x120]
addsd xmm0, qword [0xab7288]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [0xab9a68]
comisd xmm0, xmmword [ebp - 0x120]
jbe 0x4ad01b
movsd xmm0, qword [0xab99c0]
mulsd xmm0, qword [ebp - 0x120]
mulsd xmm0, qword [ebp - 0x120]
movsd xmm1, qword [ebp - 0x120]
mulsd xmm1, qword [ebp - 0x120]
subsd xmm0, xmm1
movsd xmm1, qword [0xab9928]
mulsd xmm1, qword [ebp - 0x120]
mulsd xmm1, qword [ebp - 0x120]
addsd xmm1, qword [0xab9960]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x138]
comisd xmm0, xmmword [0xab9978]
jbe 0x4ad016
movsd xmm0, qword [0xab98c8]
mulsd xmm0, qword [ebp - 0x120]
movsd xmm1, qword [ebp - 0x138]
subsd xmm1, xmm0
movsd qword [ebp - 0x138], xmm1
jmp 0x4acf52
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x138]
jbe 0x4ad077
push ecx
cmp ch, byte [edi]
and eax, 0x6a70406b
dec ebx
xor byte [ecx + 0x37], cl
popal
xor byte [esi + 0x3a], dh
and dh, byte [ebx + edx*2 + 0x26]
fild qword [edx]
ljmp 0xe628
mov dword [ebp - 8], 0x4ad03c
mov dword [ebp - 0xc], 0x4ad028
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x29c], edx
mov byte [ebp - 0x9d], 0x18
mov dword [ebp - 0x38], 0
jmp 0x4ad0ad
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x100
jae 0x4ad0c5
mov ecx, dword [ebp - 0x38]
mov dl, byte [ebp - 0x38]
mov byte [ebp + ecx - 0x27c], dl
jmp 0x4ad0a4
mov dword [ebp - 0x108], 0
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x38], 0xff
jmp 0x4ad0e5
mov eax, dword [ebp - 0x38]
sub eax, 1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jbe 0x4ad309
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 1
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [ebp - 0x38]
jae 0x4ad120
mov edx, dword [ebp - 0x140]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x140], eax
jmp 0x4ad103
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x174], ecx
cmp dword [ebp - 0x174], 3
ja case.default.0x4ad13f
mov edx, dword [ebp - 0x174]
jmp dword [edx*4 + 0x4af4bc]
movzx eax, byte [ebp - 0x15]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x138]
call fcn.00a3c980
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ad207
movzx ecx, byte [ebp - 0x15]
movzx ebx, byte [ebp + ecx - 0x27c]
movsd xmm0, qword [ebp - 0x138]
call fcn.00a3c980
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ad207
movzx edx, byte [ebp - 0x15]
movzx ebx, byte [ebp + edx - 0x27c]
movsd xmm0, qword [ebp - 0x138]
call fcn.00a3c980
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ad207
movzx eax, byte [ebp - 0x15]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x138]
call fcn.00a3c980
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ad207
movzx ecx, byte [ebp - 0x15]
movzx edx, byte [ebp + ecx - 0x27c]
mov eax, dword [ebp - 0x29c]
add eax, dword [ebp - 0x108]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x15], dl
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
movzx eax, byte [ebp - 0x9d]
cmp dword [ebp - 0x108], eax
jb 0x4ad23f
mov dword [ebp - 0x108], 0
movzx ecx, byte [ebp - 0x9d]
movzx edx, byte [ebp - 0x15]
add edx, ecx
mov byte [ebp - 0x15], dl
movzx eax, byte [ebp - 0x15]
and eax, dword [ebp - 0x140]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 0xb
jbe 0x4ad278
mov eax, dword [ebp - 0xd0]
xor edx, edx
div dword [ebp - 0x38]
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0x38]
ja 0x4ad120
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xd0]
je 0x4ad304
mov ecx, dword [ebp - 0xd0]
movzx edx, byte [ebp + ecx - 0x27c]
mov eax, dword [ebp - 0x38]
movzx ecx, byte [ebp + eax - 0x27c]
xor ecx, edx
mov edx, dword [ebp - 0x38]
mov byte [ebp + edx - 0x27c], cl
mov eax, dword [ebp - 0x38]
movzx ecx, byte [ebp + eax - 0x27c]
mov edx, dword [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x27c]
xor eax, ecx
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx - 0x27c], al
mov edx, dword [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x27c]
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ebp + ecx - 0x27c]
xor edx, eax
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x27c], dl
jmp 0x4ad0dc
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0xd], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0xe], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0x12], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0xf], dl
movzx eax, byte [ebp - 0x15]
mov cl, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x10], cl
mov dword [ebp - 0x178], 0x36
cmp dword [ebp - 0x178], 2
jle 0x4af3ed
mov edx, dword [ebp - 0x178]
and edx, 1
jne 0x4af3ed
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x40], 0
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x6c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x44]
add ecx, 0xdf
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x4c]
add eax, 0x23
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 0
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x54]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x50]
shl eax, 4
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x13], 0
mov al, byte [ebp - 0x68]
mov byte [ebp - 0x13], al
mov byte [ebp - 0x11], 0
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp + eax - 0x27c]
mov dword [ebp - 0x298], ecx
mov dl, byte [ebp - 0xd]
add dl, 1
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xe]
add eax, dword [ebp - 0x298]
mov byte [ebp - 0xe], al
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp - 0xe]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 0xf]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xd]
mov dl, byte [ebp - 0x11]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp + eax - 0x27c]
movzx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp - 0xd]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x27c]
xor eax, edx
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
movzx ecx, byte [ebp - 0x12]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp + edx - 0x27c]
xor eax, ecx
mov byte [ebp - 0xf], al
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x10], dl
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x1c], 0
jle 0x4ad59a
movsx cx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [ebp + edx*2 - 0x2ea], cx
mov eax, dword [ebp - 0x34]
add eax, 0xa
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x150], ecx
jmp 0x4ad5c0
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x34]
jge 0x4ad861
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x6c]
movzx ecx, byte [eax]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], 0xdf
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], 0x23
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x50]
shl edx, 4
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dl, byte [ebp - 0x68]
mov byte [ebp - 0x13], dl
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x27c]
mov dword [ebp - 0x294], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x294]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp + ecx - 0x27c]
xor edx, eax
mov byte [ebp - 0xf], dl
movss xmm0, dword [0xab9fdc]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [0xab9f7c]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [0xab9eac]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x78]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x78]
mulss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x128]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x78]
comiss xmm0, dword [ebp - 0xa4]
jbe 0x4ad804
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x128]
addss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x128], xmm0
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
jmp 0x4ad840
movss xmm0, dword [ebp - 0xa4]
mulss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xa4]
divss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x78], xmm0
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4ad85c
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x2ea], ax
jmp 0x4ad5b1
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x6c]
movzx ecx, byte [eax]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], 0xdf
movss xmm0, dword [0xab9fcc]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0xab9f5c]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [0xab9e9c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [ebp - 0x20]
jbe 0x4ad9d5
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
comiss xmm0, dword [ebp - 0x20]
jbe 0x4ad99d
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
jmp 0x4ad9d3
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x24], xmm0
jmp 0x4ada0f
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], 0x23
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x50]
shl edx, 4
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
movsd xmm0, qword [0xab9dc0]
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [0xab9d40]
movsd qword [ebp - 0x100], xmm0
movsd xmm0, qword [0xab9bd8]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [0xab9ac8]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0xf0]
subsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [ebp - 0xbc]
addsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0x100]
addsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0x100], xmm0
movsd xmm0, qword [ebp - 0xbc]
comisd xmm0, xmmword [ebp - 0x90]
jbe 0x4adb69
movsd xmm0, qword [ebp - 0x90]
addsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xbc]
subsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0x90]
subsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0x100]
addsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0x100], xmm0
mov dl, byte [ebp - 0x68]
mov byte [ebp - 0x13], dl
jmp 0x4adcfd
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0x100]
subsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0x100], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0x100]
mulsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0x100], xmm0
movsd xmm0, qword [ebp - 0x90]
divsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0x90]
subsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0x90]
mulsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xf0]
mulsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [ebp - 0xbc]
comisd xmm0, xmmword [ebp - 0xf0]
jbe 0x4adc9d
movsd xmm0, qword [ebp - 0x90]
divsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xf0]
subsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [ebp - 0x90]
mulsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0xbc], xmm0
jmp 0x4adcfd
movsd xmm0, qword [ebp - 0x90]
divsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0xbc]
divsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0xf0]
divsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0xf0], xmm0
movsd xmm0, qword [ebp - 0xbc]
subsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0xbc], xmm0
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x27c]
mov dword [ebp - 0x290], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x290]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp + ecx - 0x27c]
xor edx, eax
mov byte [ebp - 0xf], dl
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4ade2b
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x2ea], ax
movss xmm0, dword [0xab9fa0]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [0xab9f64]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [0xab9f20]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [0xab9ed8]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [0xab9ea4]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [0xab9e50]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [0xab9e10]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [ebp - 0x80]
subss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x80]
mulss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x80]
subss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0xd4]
addss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0x80]
mulss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x80]
comiss xmm0, dword [ebp - 0x94]
jbe 0x4adfc6
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x7c]
mulss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x14c]
mulss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x14c], xmm0
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
jmp 0x4ae05f
movss xmm0, dword [ebp - 0x7c]
mulss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0xd4]
divss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x94], xmm0
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x6c]
movzx eax, byte [edx]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0xdf
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
movzx ecx, byte [eax]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], 0x23
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
shl ecx, 4
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov cl, byte [ebp - 0x68]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x27c]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x27c]
mov dword [ebp - 0x2a8], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x2a8]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x27c]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x27c]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x27c]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x27c]
movzx edx, byte [ebp + eax - 0x27c]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4ae1fb
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x2ea], dx
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], 0xdf
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
movzx eax, byte [edx]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 0x23
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
shl eax, 4
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov al, byte [ebp - 0x68]
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + ecx - 0x27c]
mov byte [ebp - 0x11], dl
movss xmm0, dword [0xab9fc0]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [0xab9f50]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0xab77f8]
movss dword [ebp - 0xac], xmm0
movss xmm0, dword [ebp - 0x84]
subss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x104]
comiss xmm0, dword [ebp - 0xac]
jbe 0x4ae37e
movss xmm0, dword [ebp - 0x84]
addss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0xac], xmm0
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp + eax - 0x27c]
mov dword [ebp - 0x284], ecx
mov dl, byte [ebp - 0xd]
add dl, 1
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xe]
add eax, dword [ebp - 0x284]
mov byte [ebp - 0xe], al
jmp 0x4ae3c6
movss xmm0, dword [ebp - 0x84]
divss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x84]
divss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0xac], xmm0
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp - 0xe]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 0xf]
mov al, byte [ebp + ecx - 0x27c]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0xd]
mov dl, byte [ebp - 0x11]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp + eax - 0x27c]
movzx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp - 0xd]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x27c]
xor eax, edx
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
movzx ecx, byte [ebp - 0x12]
movzx ecx, byte [ebp + ecx - 0x27c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp + edx - 0x27c]
xor eax, ecx
mov byte [ebp - 0xf], al
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x10], dl
movss xmm0, dword [0xab9f3c]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [0xab9f0c]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [0xab9eb8]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [0xab9e88]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [0xab9e40]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [0xab9310]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x74]
addss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [ebp - 0x3c]
jbe 0x4ae5c6
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x3c]
mulss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0xb0]
subss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0xb0], xmm0
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x14], al
jmp 0x4ae750
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0xb0]
divss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x3c]
divss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x30]
mulss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x74]
comiss xmm0, dword [ebp - 0x28]
jbe 0x4ae6ed
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x74]
divss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x30]
mulss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x2c], xmm0
jmp 0x4ae750
movss xmm0, dword [ebp - 0x74]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0xb0]
mulss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0xb0], xmm0
cmp dword [ebp - 0x1c], 0
jle 0x4ae766
movsx cx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [ebp + edx*2 - 0x2ea], cx
mov eax, dword [ebp - 0x34]
add eax, 0xb
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x148], ecx
jmp 0x4ae78c
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x34]
jge 0x4ae93f
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x6c]
movzx ecx, byte [eax]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], 0xdf
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], 0x23
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x50]
shl edx, 4
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dl, byte [ebp - 0x68]
mov byte [ebp - 0x13], dl
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x27c]
mov dword [ebp - 0x280], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x280]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp + ecx - 0x27c]
xor edx, eax
mov byte [ebp - 0xf], dl
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4ae93a
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x2ea], ax
jmp 0x4ae77d
movsd xmm0, qword [0xab9d50]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [0xab9c80]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [0xab9b88]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [0xab9a78]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0xcc]
addsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xc4]
subsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0xf8]
subsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xcc]
addsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xcc]
comisd xmm0, xmmword [ebp - 0xf8]
jbe 0x4aea5f
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xcc]
subsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xc4]
addsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0xc4]
addsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xc4], xmm0
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
jmp 0x4aebf3
movsd xmm0, qword [ebp - 0xcc]
addsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0x9c]
mulsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0x9c]
addsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0x9c]
divsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0x9c]
divsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0xcc]
divsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xcc]
divsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xc4]
subsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0xcc]
comisd xmm0, xmmword [ebp - 0xf8]
jbe 0x4aeb93
movsd xmm0, qword [ebp - 0xc4]
subsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0xf8]
addsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xf8]
divsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xc4]
addsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0xc4], xmm0
jmp 0x4aebf3
movsd xmm0, qword [ebp - 0x9c]
divsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0x9c]
subsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [ebp - 0xc4]
mulsd xmm0, qword [ebp - 0x9c]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0x9c]
addsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0x9c], xmm0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x6c]
movzx ecx, byte [eax]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], 0xdf
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], 0x23
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x50]
shl edx, 4
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dl, byte [ebp - 0x68]
mov byte [ebp - 0x13], dl
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x27c]
mov dword [ebp - 0x2a4], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x2a4]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x27c]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x27c]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x27c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp + ecx - 0x27c]
xor edx, eax
mov byte [ebp - 0xf], dl
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4aed9b
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x2ea], ax
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x6c]
movzx eax, byte [edx]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0xdf
movsd xmm0, qword [0xab9d38]
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [0xab9ca8]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [0xab9c30]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [0xab9bb8]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [0xab9b20]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [0xab9aa0]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [0xab99f0]
movsd qword [ebp - 0xe8], xmm0
movsd xmm0, qword [ebp - 0x110]
subsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x110]
addsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x160]
subsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x110]
subsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x158]
addsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [ebp - 0x110]
mulsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x110]
comisd xmm0, xmmword [ebp - 0xe8]
jbe 0x4aefad
movsd xmm0, qword [ebp - 0x118]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x130]
subsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x118]
mulsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xe8]
addsd xmm0, qword [ebp - 0x158]
movsd qword [ebp - 0xe8], xmm0
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5c], edx
jmp 0x4af055
movsd xmm0, qword [ebp - 0xe8]
divsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0xe8], xmm0
movsd xmm0, qword [ebp - 0x118]
divsd xmm0, qword [ebp - 0xe8]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xe8]
subsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0xe8], xmm0
movsd xmm0, qword [ebp - 0x158]
subsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [ebp - 0x110]
subsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x160]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x158]
divsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x158], xmm0
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
movzx ecx, byte [eax]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], 0x23
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
shl ecx, 4
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov cl, byte [ebp - 0x68]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x27c]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x27c]
mov dword [ebp - 0x28c], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x28c]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x27c]
mov byte [ebp + eax - 0x27c], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x27c], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x27c]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x27c]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x27c]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x27c]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x27c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x27c]
movzx edx, byte [ebp + eax - 0x27c]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
movss xmm0, dword [0xab9f58]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [0xab9f14]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [0xab9ed0]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [0xab9e98]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [0xab9e4c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [0xab9e0c]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x88]
subss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xb4]
subss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x70]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x4af31d
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xb4]
divss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x70], xmm0
jmp 0x4af3a7
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x70]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x88]
mulss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x70]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x70], xmm0
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4af3bd
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x2ea], dx
mov ecx, 2
imul edx, ecx, 0x1a
mov dword [ebp - 0x17c], edx
cmp dword [ebp - 0x17c], 0x36
jae 0x4af3d6
jmp 0x4af3db
call fcn.00a3c712
xor eax, eax
mov ecx, dword [ebp - 0x17c]
mov word [ebp + ecx - 0x2e8], ax
jmp 0x4af441
mov dword [ebp - 0x13c], 0
jmp 0x4af408
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x13c], 0x1b
jge 0x4af441
mov eax, dword [ebp - 0x13c]
shl eax, 1
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0x36
jae 0x4af42a
jmp 0x4af42f
call fcn.00a3c712
xor ecx, ecx
mov edx, dword [ebp - 0x164]
mov word [ebp + edx - 0x2e8], cx
jmp 0x4af3f9
mov eax, 2
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x168]
mov ax, word [ebp + eax*2 - 0x2e8]
mov word [edx + ecx], ax
mov ecx, 2
imul edx, ecx, 3
xor eax, eax
mov ecx, dword [ebp + 8]
mov word [ecx + edx], ax
mov edx, 2
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x288]
mov cx, word [ebp + ecx*2 - 0x2e8]
mov word [eax + edx], cx
mov edx, 2
shl edx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x16c]
mov cx, word [ebp + ecx*2 - 0x2e8]
mov word [eax + edx], cx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a3bfd6
mov esp, ebp
pop ebp
ret 4