Function at 0x4bf398
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x470
mov eax, dword [0xaf908c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c0], xmm0
jmp 0x4bdc0b
movsd xmm0, qword [ebp - 0x1c0]
addsd xmm0, qword [0xabbaa0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [0xabe958]
comisd xmm0, xmmword [ebp - 0x1c0]
jbe 0x4bdcbc
movsd xmm0, qword [0xabe8d8]
mulsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x1c0]
movsd xmm1, qword [ebp - 0x1c0]
mulsd xmm1, qword [ebp - 0x1c0]
subsd xmm0, xmm1
movsd xmm1, qword [0xabe828]
mulsd xmm1, qword [ebp - 0x1c0]
mulsd xmm1, qword [ebp - 0x1c0]
addsd xmm1, qword [0xabe858]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
comisd xmm0, xmmword [0xabe870]
jbe 0x4bdcb7
movsd xmm0, qword [0xabe7f8]
mulsd xmm0, qword [ebp - 0x1c0]
movsd xmm1, qword [ebp - 0x1d0]
subsd xmm1, xmm0
movsd qword [ebp - 0x1d0], xmm1
jmp 0x4bdbf3
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1d0]
jbe 0x4bdd77
outsb dx, byte [esi]
dec edx
jb 0x4bdd1c
je 0x4bdd15
jae 0x4bdd1a
jae 0x4bdd20
push 0x733d743f
inc edx
imul eax, dword [ebx + 0x6a], 0x754a6d47
dec ecx
insd dword es:[edi], dx
inc esp
dec ecx
jb 0x4bdd35
outsd dx, dword [esi]
inc esi
insd dword es:[edi], dx
insb byte es:[edi], dx
cmp eax, 0x4a714676
imul eax, dword [ecx + 0x73], 0x734b6943
jae 0x4bdd49
jno 0x4bdd41
je 0x4bdd4d
jno 0x4bdd51
je 0x4bdd4f
jno 0x4bdd4a
jae 0x4bdd50
outsd dx, dword [esi]
dec ecx
jbe 0x4bdd57
jb 0x4bdd50
jno 0x4bdd53
jae 0x4bdd53
jbe 0x4bdd5c
insd dword es:[edi], dx
aas
insd dword es:[edi], dx
dec eax
jae 0x4bdd5c
jno 0x4bdd69
dec eax
jo 0x4bdd68
jne 0x4bdd70
imul edi, dword [esi], 0x416b3f67
imul eax, dword [eax + esi*2 + 0x41], 0x3f6f3c73
insd dword es:[edi], dx
jae 0x4bdd78
jae 0x4bdd78
jb 0x4bdd76
jne 0x4bdd85
imul eax, dword [esp + esi*2 + 0x4a], 0x436c4872
insb byte es:[edi], dx
inc ebx
jo 0x4bdd8d
insb byte es:[edi], dx
dec ecx
jo 0x4bdd94
insd dword es:[edi], dx
inc eax
insb byte es:[edi], dx
inc edi
outsd dx, dword [esi]
dec ebx
outsb dx, byte [esi]
aas
jo 0x4bdd95
jo 0x4bdd9f
jb 0x4bdd93
jb 0x4bdd97
push 0x3d
inc edx
jbe 0x4bdd7e
and byte [edx + 0x37], ch
insd dword es:[edi], dx
jae 0x4bddc2
jb 0x4bddcd
xor byte [esi + 0x39], dl
push 0x45
push esi
cmp dword [edx + 0x45], ebp
xor dword [edi], esi
pushal
jnp 0x4bddc6
push ebp
inc edx
jmp 0x4bf14b
add bh, al
mov dword [ebp - 0xc0], 0x4bdccd
test dword [eax - 1], eax
invalid
fmul qword [ebx]
mov dword [ebp - 0xbc], 0x4bdd5b
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x124], eax
invalid
inc eax
invalid
fdiv st(6), st(0)
invalid
invalid
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x260], ecx
mov byte [ebp - 0x105], 0x1b
mov dword [ebp - 0xe0], 0
jmp 0x4bddc5
mov al, byte [0xc6fffffd]
test ebx, edi
invalid
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
invalid
cmp dword [ebp - 0xe0], 0x100
mov ebp, 0xffffff20
add byte [ecx], al
add byte [eax], al
jae 0x4bdde6
mov eax, dword [ebp - 0xe0]
mov cl, byte [ebp - 0xe0]
mov byte [ebp + eax - 0x370], cl
jmp 0x4bddb6
mov dword [ebp - 0x18c], 0
mov byte [ebp - 0xcc], 0
mov dword [ebp - 0xe0], 0xff
jmp 0x4bde12
mov edx, dword [ebp - 0xe0]
sub edx, 1
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0
jbe 0x4be082
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e0], 1
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0xe0]
jae 0x4bde53
mov ecx, dword [ebp - 0x1e0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1e0], edx
jmp 0x4bde33
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 3
ja case.default.0x4bde72
mov ecx, dword [ebp - 0x238]
jmp dword [ecx*4 + 0x4c0644]
movzx edx, byte [ebp - 0xcc]
movzx ebx, byte [ebp + edx - 0x370]
movsd xmm0, qword [ebp - 0x1d0]
call fcn.00a40f60
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcc], bl
jmp 0x4bdf5b
movzx eax, byte [ebp - 0xcc]
movzx ebx, byte [ebp + eax - 0x370]
movsd xmm0, qword [ebp - 0x1d0]
call fcn.00a40f60
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcc], bl
jmp 0x4bdf5b
movzx ecx, byte [ebp - 0xcc]
movzx ebx, byte [ebp + ecx - 0x370]
movsd xmm0, qword [ebp - 0x1d0]
call fcn.00a40f60
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcc], bl
jmp 0x4bdf5b
movzx edx, byte [ebp - 0xcc]
movzx ebx, byte [ebp + edx - 0x370]
movsd xmm0, qword [ebp - 0x1d0]
call fcn.00a40f60
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcc], bl
jmp 0x4bdf5b
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp + eax - 0x370]
mov edx, dword [ebp - 0x260]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xcc], cl
mov ecx, dword [ebp - 0x18c]
add ecx, 1
mov dword [ebp - 0x18c], ecx
movzx edx, byte [ebp - 0x105]
cmp dword [ebp - 0x18c], edx
jb 0x4bdf99
mov dword [ebp - 0x18c], 0
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0xcc]
add ecx, eax
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xcc]
and edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x1ec]
add eax, 1
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0xb
jbe 0x4bdfd8
mov eax, dword [ebp - 0x154]
xor edx, edx
div dword [ebp - 0xe0]
mov dword [ebp - 0x154], edx
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0xe0]
ja 0x4bde53
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0x154]
je 0x4be07d
mov eax, dword [ebp - 0x154]
movzx ecx, byte [ebp + eax - 0x370]
mov edx, dword [ebp - 0xe0]
movzx eax, byte [ebp + edx - 0x370]
xor eax, ecx
mov ecx, dword [ebp - 0xe0]
mov byte [ebp + ecx - 0x370], al
mov edx, dword [ebp - 0xe0]
movzx eax, byte [ebp + edx - 0x370]
mov ecx, dword [ebp - 0x154]
movzx edx, byte [ebp + ecx - 0x370]
xor edx, eax
mov eax, dword [ebp - 0x154]
mov byte [ebp + eax - 0x370], dl
mov ecx, dword [ebp - 0x154]
movzx edx, byte [ebp + ecx - 0x370]
mov eax, dword [ebp - 0xe0]
movzx ecx, byte [ebp + eax - 0x370]
xor ecx, edx
mov edx, dword [ebp - 0xe0]
mov byte [ebp + edx - 0x370], cl
jmp 0x4bde03
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xc1], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xc2], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xca], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0xc5], al
mov dword [ebp - 0x234], 0x8e
cmp dword [ebp - 0x234], 2
jle 0x4bf0f4
mov ecx, dword [ebp - 0x234]
and ecx, 1
jne 0x4bf0f4
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
add eax, 0x67
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x128], 0
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x114]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x118]
add edx, 0x3c
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0x100]
shl edx, 4
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov byte [ebp - 0xcb], 0
mov dl, byte [ebp - 0x134]
mov byte [ebp - 0xcb], dl
mov byte [ebp - 0xc9], 0
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x370]
mov dword [ebp - 0x25c], eax
mov cl, byte [ebp - 0xc1]
add cl, 1
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xc2]
add edx, dword [ebp - 0x25c]
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc2]
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xc2]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp - 0xc3]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc1]
mov cl, byte [ebp - 0xc9]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0xca]
add ecx, eax
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xcb]
movzx eax, byte [ebp - 0xc2]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0xc1]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
xor edx, ecx
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
movzx eax, byte [ebp - 0xca]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp + ecx - 0x370]
xor edx, eax
mov byte [ebp - 0xc3], dl
mov cl, byte [ebp - 0xcb]
mov byte [ebp - 0xc5], cl
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xd1], dl
cmp dword [ebp - 0xd8], 0
jle 0x4be418
movsx ax, byte [ebp - 0xd1]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0xb2], ax
mov edx, dword [ebp - 0xe8]
add edx, 0x22
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0x1f0], eax
jmp 0x4be447
mov ecx, dword [ebp - 0x1f0]
add ecx, 1
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f0]
cmp edx, dword [ebp - 0xe8]
jge 0x4be6b1
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0x120]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0x67
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], 0x3c
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x100]
shl ecx, 4
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x12c]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x370]
mov dword [ebp - 0x258], edx
mov al, byte [ebp - 0xc1]
add al, 1
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xc2]
add ecx, dword [ebp - 0x258]
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc2]
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xc2]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp - 0xc3]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc1]
mov al, byte [ebp - 0xc9]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0xca]
add eax, edx
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xcb]
movzx edx, byte [ebp - 0xc2]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0xc1]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
xor ecx, eax
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
movzx edx, byte [ebp - 0xca]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
movzx edx, byte [ebp + eax - 0x370]
xor ecx, edx
mov byte [ebp - 0xc3], cl
mov al, byte [ebp - 0xcb]
mov byte [ebp - 0xc5], al
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xd1], cl
cmp dword [ebp - 0xd8], 0
jle 0x4be6ac
movsx dx, byte [ebp - 0xd1]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0xb2], dx
jmp 0x4be438
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0x120]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0x67
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], 0x3c
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x100], edx
movss xmm0, dword [0xabebfc]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [0xabeb9c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [0xabeb38]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x180]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0xf4]
comiss xmm0, dword [ebp - 0x138]
jbe 0x4be831
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
mulss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x138]
mulss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x138], xmm0
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0x104], eax
jmp 0x4be879
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x180]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x180]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x180], xmm0
mov ecx, dword [ebp - 0x100]
shl ecx, 4
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x12c]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x370]
mov dword [ebp - 0x254], edx
mov al, byte [ebp - 0xc1]
add al, 1
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xc2]
add ecx, dword [ebp - 0x254]
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc2]
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xc2]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp - 0xc3]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc1]
mov al, byte [ebp - 0xc9]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0xca]
add eax, edx
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xcb]
movzx edx, byte [ebp - 0xc2]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0xc1]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
xor ecx, eax
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
movzx edx, byte [ebp - 0xca]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
movzx edx, byte [ebp + eax - 0x370]
xor ecx, edx
mov byte [ebp - 0xc3], cl
mov al, byte [ebp - 0xcb]
mov byte [ebp - 0xc5], al
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xd1], cl
cmp dword [ebp - 0xd8], 0
jle 0x4bea3d
movsx dx, byte [ebp - 0xd1]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0xb2], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x110], 0x67
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0x128]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], 0x3c
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x110]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x118]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x100]
shl eax, 4
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x12c]
or edx, dword [ebp - 0x130]
mov dword [ebp - 0x134], edx
mov al, byte [ebp - 0x134]
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp + ecx - 0x370]
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x370]
mov dword [ebp - 0x250], ecx
mov dl, byte [ebp - 0xc1]
add dl, 1
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xc2]
add eax, dword [ebp - 0x250]
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc2]
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xc2]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp - 0xc3]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0xc1]
mov dl, byte [ebp - 0xc9]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x370]
movzx edx, byte [ebp - 0xca]
add edx, ecx
mov byte [ebp - 0xca], dl
movzx eax, byte [ebp - 0xcb]
movzx ecx, byte [ebp - 0xc2]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0xc1]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
xor eax, edx
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
movzx ecx, byte [ebp - 0xca]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp + edx - 0x370]
xor eax, ecx
mov byte [ebp - 0xc3], al
mov dl, byte [ebp - 0xcb]
mov byte [ebp - 0xc5], dl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xd1], al
cmp dword [ebp - 0xd8], 0
jle 0x4beca2
movsx cx, byte [ebp - 0xd1]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0xb2], cx
mov eax, dword [ebp - 0xe8]
add eax, 0x22
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0x1f4], ecx
jmp 0x4becd1
mov edx, dword [ebp - 0x1f4]
add edx, 1
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0x1f4]
cmp eax, dword [ebp - 0xe8]
jge 0x4bf0b2
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0x67
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
movsd xmm0, qword [0xabea20]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [0xabe9c8]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [0xabe978]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [0xabc4d8]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x270]
addsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
subsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
comisd xmm0, xmmword [ebp - 0x208]
jbe 0x4bee62
movsd xmm0, qword [ebp - 0x178]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x178], xmm0
mov dword [ebp - 0x118], 0x3c
jmp 0x4beec2
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x178], xmm0
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x118]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x100]
shl edx, 4
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0x134]
mov byte [ebp - 0xcb], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x370]
mov dword [ebp - 0x264], eax
mov cl, byte [ebp - 0xc1]
add cl, 1
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xc2]
add edx, dword [ebp - 0x264]
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc2]
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xc2]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp - 0xc3]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0xc1]
mov cl, byte [ebp - 0xc9]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0xca]
add ecx, eax
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xcb]
movzx eax, byte [ebp - 0xc2]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0xc1]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
xor edx, ecx
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
movzx eax, byte [ebp - 0xca]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp + ecx - 0x370]
xor edx, eax
mov byte [ebp - 0xc3], dl
mov cl, byte [ebp - 0xcb]
mov byte [ebp - 0xc5], cl
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xd1], dl
cmp dword [ebp - 0xd8], 0
jle 0x4bf0ad
movsx ax, byte [ebp - 0xd1]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0xb2], ax
jmp 0x4becc2
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, 2
imul ecx, eax, 0x46
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0x8e
jae 0x4bf0dd
jmp 0x4bf0e2
call fcn.00a40cf2
xor edx, edx
mov eax, dword [ebp - 0x230]
mov word [ebp + eax - 0xb0], dx
jmp 0x4bf14b
mov dword [ebp - 0x1dc], 0
jmp 0x4bf10f
mov ecx, dword [ebp - 0x1dc]
add ecx, 1
mov dword [ebp - 0x1dc], ecx
cmp dword [ebp - 0x1dc], 0x47
jge 0x4bf14b
mov edx, dword [ebp - 0x1dc]
shl edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x8e
jae 0x4bf134
jmp 0x4bf139
call fcn.00a40cf2
xor eax, eax
mov ecx, dword [ebp - 0x22c]
mov word [ebp + ecx - 0xb0], ax
jmp 0x4bf100
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm0
jmp 0x4bf19a
movsd xmm0, qword [ebp - 0x1b8]
addsd xmm0, qword [0xabbaa0]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [0xabe928]
comisd xmm0, xmmword [ebp - 0x1b8]
jbe 0x4bf24b
movsd xmm0, qword [0xabe8c0]
mulsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x1b8]
movsd xmm1, qword [ebp - 0x1b8]
mulsd xmm1, qword [ebp - 0x1b8]
subsd xmm0, xmm1
movsd xmm1, qword [0xabcc48]
mulsd xmm1, qword [ebp - 0x1b8]
mulsd xmm1, qword [ebp - 0x1b8]
addsd xmm1, qword [0xabe868]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x1c8]
comisd xmm0, xmmword [0xabe898]
jbe 0x4bf246
movsd xmm0, qword [0xabe7e8]
mulsd xmm0, qword [ebp - 0x1b8]
movsd xmm1, qword [ebp - 0x1c8]
subsd xmm1, xmm0
movsd qword [ebp - 0x1c8], xmm1
jmp 0x4bf182
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1c8]
jbe 0x4bf296
ja 0x4bf289
xor edi, dword [esi + 0x50775050]
xor dword [edi + 0x52], esp
pop edx
cmp dword [eax], ebp
jns 0x4bf2ad
xor al, 0x6d
push esp
push edi
inc ebx
popal
cmp dword [esi + 0x7e], esi
pop ebx
arpl word [ecx], di
sub dword [edi - 0x402e3334], edi
aad 0xca
int3
enter 0xffffffffffffc8cf, 0xffffffffffffffd6
invalid
mov dword [ebp - 0xb8], 0x4bf277
mov dword [ebp - 0xb4], 0x4bf258
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x268], eax
mov byte [ebp - 0x106], 0x23
mov dword [ebp - 0xe4], 0
jmp 0x4bf2e4
invalid
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0x100
jae 0x4bf305
mov edx, dword [ebp - 0xe4]
mov al, byte [ebp - 0xe4]
mov byte [ebp + edx - 0x470], al
jmp 0x4bf2d5
mov dword [ebp - 0x190], 0
mov byte [ebp - 0xcd], 0
mov dword [ebp - 0xe4], 0xff
jmp 0x4bf331
mov ecx, dword [ebp - 0xe4]
sub ecx, 1
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0
jbe 0x4bf5a1
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1d8], 1
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0xe4]
jae 0x4bf372
mov eax, dword [ebp - 0x1d8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1d8], ecx
jmp 0x4bf352
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 3
ja case.default.0x4bf391
mov eax, dword [ebp - 0x228]
jmp dword [eax*4 + 0x4c0654]
movzx ecx, byte [ebp - 0xcd]
movzx ebx, byte [ebp + ecx - 0x470]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.00a40f60
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcd], bl
jmp 0x4bf47a
movzx edx, byte [ebp - 0xcd]
movzx ebx, byte [ebp + edx - 0x470]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.00a40f60
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcd], bl
jmp 0x4bf47a
movzx eax, byte [ebp - 0xcd]
movzx ebx, byte [ebp + eax - 0x470]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.00a40f60
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcd], bl
jmp 0x4bf47a
movzx ecx, byte [ebp - 0xcd]
movzx ebx, byte [ebp + ecx - 0x470]
movsd xmm0, qword [ebp - 0x1c8]
call fcn.00a40f60
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xcd], bl
jmp 0x4bf47a
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x470]
mov ecx, dword [ebp - 0x268]
add ecx, dword [ebp - 0x190]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0xcd], al
mov eax, dword [ebp - 0x190]
add eax, 1
mov dword [ebp - 0x190], eax
movzx ecx, byte [ebp - 0x106]
cmp dword [ebp - 0x190], ecx
jb 0x4bf4b8
mov dword [ebp - 0x190], 0
movzx edx, byte [ebp - 0x106]
movzx eax, byte [ebp - 0xcd]
add eax, edx
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xcd]
and ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
cmp dword [ebp - 0x1f8], 0xb
jbe 0x4bf4f7
mov eax, dword [ebp - 0x158]
xor edx, edx
div dword [ebp - 0xe4]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0xe4]
ja 0x4bf372
mov ecx, dword [ebp - 0xe4]
cmp ecx, dword [ebp - 0x158]
je 0x4bf59c
mov edx, dword [ebp - 0x158]
movzx eax, byte [ebp + edx - 0x470]
mov ecx, dword [ebp - 0xe4]
movzx edx, byte [ebp + ecx - 0x470]
xor edx, eax
mov eax, dword [ebp - 0xe4]
mov byte [ebp + eax - 0x470], dl
mov ecx, dword [ebp - 0xe4]
movzx edx, byte [ebp + ecx - 0x470]
mov eax, dword [ebp - 0x158]
movzx ecx, byte [ebp + eax - 0x470]
xor ecx, edx
mov edx, dword [ebp - 0x158]
mov byte [ebp + edx - 0x470], cl
mov eax, dword [ebp - 0x158]
movzx ecx, byte [ebp + eax - 0x470]
mov edx, dword [ebp - 0xe4]
movzx eax, byte [ebp + edx - 0x470]
xor eax, ecx
mov ecx, dword [ebp - 0xe4]
mov byte [ebp + ecx - 0x470], al
jmp 0x4bf322
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x470]
mov byte [ebp - 0xc4], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x470]
mov byte [ebp - 0xc6], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x470]
mov byte [ebp - 0xcf], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x470]
mov byte [ebp - 0xc7], al
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + ecx - 0x470]
mov byte [ebp - 0xc8], dl
mov dword [ebp - 0x224], 0x1a
cmp dword [ebp - 0x224], 2
jle 0x4c05c3
mov eax, dword [ebp - 0x224]
and eax, 1
jne 0x4c05c3
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0xdc]
shl edx, 1
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x160]
add eax, dword [ebp - 0x15c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x140], 0
mov edx, dword [ebp - 0x140]
add edx, 0xbe
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x144], 0
mov edx, dword [ebp - 0x160]
add edx, dword [ebp - 0x164]
movzx eax, byte [edx]
add eax, dword [ebp - 0x144]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x148]
add ecx, 0xc8
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x150], 0
mov edx, dword [ebp - 0x13c]
sub edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x150]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x148]
add eax, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x150]
shl ecx, 4
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x168]
or eax, dword [ebp - 0x170]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0xce], 0
mov cl, byte [ebp - 0x16c]
mov byte [ebp - 0xce], cl
mov byte [ebp - 0xd0], 0
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x470]
mov byte [ebp - 0xd0], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x470]
mov dword [ebp - 0x23c], edx
mov al, byte [ebp - 0xc4]
add al, 1
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x23c]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x470]
mov byte [ebp + eax - 0x470], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x470]
mov byte [ebp + eax - 0x470], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x470]
mov byte [ebp + eax - 0x470], cl
movzx edx, byte [ebp - 0xc4]
mov al, byte [ebp - 0xd0]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xd0]
movzx edx, byte [ebp + ecx - 0x470]
movzx eax, byte [ebp - 0xcf]
add eax, edx
mov byte [ebp - 0xcf], al
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x470]
movzx edx, byte [ebp - 0xc4]
movzx edx, byte [ebp + edx - 0x470]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x470]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x470]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x470]
add eax, edx
movzx edx, byte [ebp - 0xcf]
movzx edx, byte [ebp + edx - 0x470]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x470]
movzx edx, byte [ebp + eax - 0x470]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xce]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd2], cl
cmp dword [ebp - 0xdc], 0
jle 0x4bf937
movsx dx, byte [ebp - 0xd2]
mov eax, dword [ebp - 0xdc]
mov word [ebp + eax*2 - 0x22], dx
mov ecx, dword [ebp - 0xf0]
add ecx, 5
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0x1fc], edx
jmp 0x4bf966
mov eax, dword [ebp - 0x1fc]
add eax, 1
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
cmp ecx, dword [ebp - 0xf0]
jge 0x4bfbd0
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
shl eax, 1
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x15c]
movzx edx, byte [ecx]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], 0xbe
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x160]
add edx, dword [ebp - 0x164]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0xc8
mov ecx, dword [ebp - 0x13c]
sub ecx, dword [ebp - 0x140]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x150]
shl eax, 4
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x168]
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x16c], edx
mov al, byte [ebp - 0x16c]
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x470]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x470]
mov dword [ebp - 0x240], ecx
mov dl, byte [ebp - 0xc4]
add dl, 1
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x240]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x470], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x470]
movzx edx, byte [ebp - 0xcf]
add edx, ecx
mov byte [ebp - 0xcf], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc4]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
movzx ecx, byte [ebp + edx - 0x470]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd2], al
cmp dword [ebp - 0xdc], 0
jle 0x4bfbcb
movsx cx, byte [ebp - 0xd2]
mov edx, dword [ebp - 0xdc]
mov word [ebp + edx*2 - 0x22], cx
jmp 0x4bf957
movss xmm0, dword [0xabec44]
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [0xabec1c]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [0xabebf0]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [0xabebb4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [0xabeb7c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [0xabeb44]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [0xabeb0c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x11c]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x11c]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xec]
comiss xmm0, dword [ebp - 0xfc]
jbe 0x4bfdaa
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0x17c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x17c]
subss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x17c]
mulss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0x19c]
subss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x19c]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x19c], xmm0
jmp 0x4bfe61
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x17c]
addss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x1a0]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm0
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
add ecx, 6
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0x200], edx
jmp 0x4bfe90
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0xf0]
jge 0x4c00fa
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
shl eax, 1
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x15c]
movzx edx, byte [ecx]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], 0xbe
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x160]
add edx, dword [ebp - 0x164]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0xc8
mov ecx, dword [ebp - 0x13c]
sub ecx, dword [ebp - 0x140]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x150]
shl eax, 4
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x168]
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x16c], edx
mov al, byte [ebp - 0x16c]
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x470]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x470]
mov dword [ebp - 0x244], ecx
mov dl, byte [ebp - 0xc4]
add dl, 1
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x244]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x470], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x470]
movzx edx, byte [ebp - 0xcf]
add edx, ecx
mov byte [ebp - 0xcf], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc4]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
movzx ecx, byte [ebp + edx - 0x470]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd2], al
cmp dword [ebp - 0xdc], 0
jle 0x4c00f5
movsx cx, byte [ebp - 0xd2]
mov edx, dword [ebp - 0xdc]
mov word [ebp + edx*2 - 0x22], cx
jmp 0x4bfe81
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xdc]
shl eax, 1
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x15c]
movzx edx, byte [ecx]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], 0xbe
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x160]
add edx, dword [ebp - 0x164]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0xc8
mov ecx, dword [ebp - 0x13c]
sub ecx, dword [ebp - 0x140]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x150]
shl eax, 4
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x168]
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x16c], edx
mov al, byte [ebp - 0x16c]
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x470]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x470]
mov dword [ebp - 0x248], ecx
mov dl, byte [ebp - 0xc4]
add dl, 1
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x248]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x470]
mov byte [ebp + edx - 0x470], al
movzx ecx, byte [ebp - 0xc4]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x470], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x470]
movzx edx, byte [ebp - 0xcf]
add edx, ecx
mov byte [ebp - 0xcf], dl
movsd xmm0, qword [0xabea78]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [0xabea48]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [0xabe9f0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [0xabe9b0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [0xabe960]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [0xabe8e8]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1e8]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x218]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x1b0]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1e8]
comisd xmm0, xmmword [ebp - 0x218]
jbe 0x4c044c
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x218]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1e8]
divsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x1b0], xmm0
jmp 0x4c0562
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1b0]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x1a8], xmm0
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc4]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x470]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x470]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x470]
movzx ecx, byte [ebp + edx - 0x470]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd2], al
cmp dword [ebp - 0xdc], 0
jle 0x4c0596
movsx cx, byte [ebp - 0xd2]
mov edx, dword [ebp - 0xdc]
mov word [ebp + edx*2 - 0x22], cx
mov eax, 2
imul ecx, eax, 0xc
mov dword [ebp - 0x220], ecx
cmp dword [ebp - 0x220], 0x1a
jae 0x4c05af
jmp 0x4c05b4
call fcn.00a40cf2
xor edx, edx
mov eax, dword [ebp - 0x220]
mov word [ebp + eax - 0x20], dx
jmp 0x4c0614
mov dword [ebp - 0x1d4], 0
jmp 0x4c05de
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
cmp dword [ebp - 0x1d4], 0xd
jge 0x4c0614
mov edx, dword [ebp - 0x1d4]
shl edx, 1
mov dword [ebp - 0x21c], edx
cmp dword [ebp - 0x21c], 0x1a
jae 0x4c0600
jmp 0x4c0605
call fcn.00a40cf2
xor eax, eax
mov ecx, dword [ebp - 0x21c]
mov word [ebp + ecx - 0x20], ax
jmp 0x4c05cf
push 0x30
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x28]
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a405be
mov esp, ebp
pop ebp
ret