Function at 0x4680b9
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0xa8807c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x114], ecx
call fcn.00a2c5b3
cdq
push 0x1a
pop ecx
idiv ecx
mov dword [ebp - 0x100], edx
call fcn.00a2c5b3
cdq
push 0x1a
pop ecx
idiv ecx
mov dword [ebp - 0x104], edx
push dword [ebp - 0x104]
push dword [ebp - 0x100]
mov ecx, dword [ebp - 0x114]
call fcn.00478b14
mov dword [ebp - 0x110], eax
and dword [ebp - 8], 0
and dword [ebp - 0xc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xc4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb4], xmm0
jmp 0x468157
movsd xmm0, qword [ebp - 0xb4]
addsd xmm0, qword [0xa52738]
movsd qword [ebp - 0xb4], xmm0
movsd xmm0, qword [0xa53d20]
comisd xmm0, xmmword [ebp - 0xb4]
jbe 0x468208
movsd xmm0, qword [0xa53c10]
mulsd xmm0, qword [ebp - 0xb4]
mulsd xmm0, qword [ebp - 0xb4]
movsd xmm1, qword [ebp - 0xb4]
mulsd xmm1, qword [ebp - 0xb4]
subsd xmm0, xmm1
movsd xmm1, qword [0xa527f0]
mulsd xmm1, qword [ebp - 0xb4]
mulsd xmm1, qword [ebp - 0xb4]
addsd xmm1, qword [0xa53b90]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xc4]
movsd qword [ebp - 0xc4], xmm0
movsd xmm0, qword [ebp - 0xc4]
comisd xmm0, xmmword [0xa53bb8]
jbe 0x468203
movsd xmm0, qword [0xa53ab8]
mulsd xmm0, qword [ebp - 0xb4]
movsd xmm1, qword [ebp - 0xc4]
subsd xmm1, xmm0
movsd qword [ebp - 0xc4], xmm1
jmp 0x46813f
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xc4]
jbe 0x468264
imul ebx, dword [edx + 0x59], 0x76
push eax
sub dword [ecx + 0x70], ebp
ja 0x468242
inc edi
push esp
xor byte [ebx], ch
dec sp
push edi
jnp 0x4682a0
push edx
push es
push ebp
or byte [ebp + 9], dl
push ebx
push es
push ebp
or al, 0x5c
add al, 0x5d
adc dword [eax + ecx + 0x54], ebx
or byte [ebp + 0xb], bl
push ebp
adc byte [ecx + 0x11], dl
push esp
adc edx, dword [edi + 8]
pop ebx
rsqrtps xmm0, xmmword [esi]
push edx
pop es
pop ebx
or dword [eax + 9], ebx
dec edi
or bl, byte [edx + 0x12]
push esi
adc ecx, dword [esi + 0xd]
push esp
adc dl, byte [ecx + 5]
push ecx
adc dword [ecx + 0xb], ebx
jmp 0x469751
mov dword [ebp - 8], 0x468229
mov dword [ebp - 0xc], 0x468215
mov eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x6d], 0x18
and dword [ebp - 0x2c], 0
jmp 0x468292
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x100
jae 0x4682aa
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x2c]
mov byte [ebp + eax - 0x214], cl
aam 0x88
mov word [0xfffffdec], es
jmp 0x46828b
and dword [ebp - 0x9c], 0
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x2c], 0xff
jmp 0x4682c5
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jbe 0x46865d
and dword [ebp - 0xe8], 0
mov dword [ebp - 0xd0], 1
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x2c]
jae 0x4682fd
mov eax, dword [ebp - 0xd0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xd0], eax
jmp 0x4682e0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x46832f
sub dword [ebp - 0x50], 1
je 0x468357
sub dword [ebp - 0x50], 1
je 0x46837f
sub dword [ebp - 0x50], 1
je 0x4683a7
jmp 0x4683cf
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x214]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x4683f0
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x214]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x4683f0
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x214]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x4683f0
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x214]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x4683f0
movzx eax, byte [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x214]
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x9c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
movzx eax, byte [ebp - 0x6d]
cmp dword [ebp - 0x9c], eax
jb 0x468595
and dword [ebp - 0x9c], 0
movsd xmm0, qword [0xa53f78]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [0xa53f20]
movsd qword [ebp - 0xdc], xmm0
movsd xmm0, qword [0xa53e58]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [0xa53d70]
movsd qword [ebp - 0xe4], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xe4]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0xdc]
mulsd xmm0, qword [ebp - 0xe4]
movsd qword [ebp - 0xdc], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xe4]
movsd qword [ebp - 0xbc], xmm0
movsd xmm0, qword [ebp - 0xcc]
subsd xmm0, qword [ebp - 0xe4]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xbc]
comisd xmm0, xmmword [ebp - 0xe4]
jbe 0x468535
movsd xmm0, qword [ebp - 0xcc]
mulsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xdc]
subsd xmm0, qword [ebp - 0xe4]
movsd qword [ebp - 0xdc], xmm0
movsd xmm0, qword [ebp - 0xcc]
mulsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xbc]
mulsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0xbc], xmm0
movzx eax, byte [ebp - 0x6d]
movzx ecx, byte [ebp - 0x14]
add ecx, eax
mov byte [ebp - 0x14], cl
jmp 0x468595
movsd xmm0, qword [ebp - 0xcc]
addsd xmm0, qword [ebp - 0xdc]
movsd qword [ebp - 0xcc], xmm0
movsd xmm0, qword [ebp - 0xe4]
addsd xmm0, qword [ebp - 0xcc]
movsd qword [ebp - 0xe4], xmm0
movsd xmm0, qword [ebp - 0xdc]
subsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xdc], xmm0
movsd xmm0, qword [ebp - 0xdc]
mulsd xmm0, qword [ebp - 0xbc]
movsd qword [ebp - 0xdc], xmm0
movzx eax, byte [ebp - 0x14]
and eax, dword [ebp - 0xd0]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0xb
jbe 0x4685cc
mov eax, dword [ebp - 0x90]
xor edx, edx
div dword [ebp - 0x2c]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x2c]
ja 0x4682fd
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x90]
je 0x468658
mov eax, dword [ebp - 0x90]
movzx eax, byte [ebp + eax - 0x214]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x214]
xor ecx, eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x214], cl
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x214]
mov ecx, dword [ebp - 0x90]
movzx ecx, byte [ebp + ecx - 0x214]
xor ecx, eax
mov eax, dword [ebp - 0x90]
mov byte [ebp + eax - 0x214], cl
mov eax, dword [ebp - 0x90]
movzx eax, byte [ebp + eax - 0x214]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x214]
xor ecx, eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x214], cl
jmp 0x4682be
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0xd], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0xe], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x12], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0xf], al
movzx eax, byte [ebp - 0x14]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x10], al
mov dword [ebp - 0xf4], 0x36
cmp dword [ebp - 0xf4], 2
jle 0x469702
mov eax, dword [ebp - 0xf4]
and eax, 1
jne 0x469702
and dword [ebp - 0x1c], 0
and dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
add eax, 0x4e
mov dword [ebp - 0x38], eax
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
and dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
and dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x13], 0
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x4688af
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0x4e
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 4
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x468a48
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0x4e
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 4
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x468be1
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
mov eax, dword [ebp - 0x30]
add eax, 0xb
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0xec], eax
jmp 0x468c03
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x30]
jge 0x468da9
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0x4e
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 4
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x468da4
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
jmp 0x468bf6
movss xmm0, dword [0xa54044]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [0xa54014]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [0xa53fd8]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [0xa53f94]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
comiss xmm0, dword [ebp - 0x20]
jbe 0x468e6c
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x468f69
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x7c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], 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 - 0x28]
comiss xmm0, dword [ebp - 0x7c]
jbe 0x468f2d
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
jmp 0x468f69
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x7c]
subss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm0
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0x4e
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
mov dword [ebp - 0x3c], eax
movsd xmm0, qword [0xa53f28]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [0xa53ee0]
movsd qword [ebp - 0xac], xmm0
movsd xmm0, qword [0xa53e80]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [0xa53e20]
movsd qword [ebp - 0xa4], xmm0
movsd xmm0, qword [0xa53dc8]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [0xa53d40]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [0xa53c90]
movsd qword [ebp - 0x84], xmm0
movsd xmm0, qword [ebp - 0x78]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x6c]
subsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0xa4]
subsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0xa4], xmm0
movsd xmm0, qword [ebp - 0x78]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x8c]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x6c]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0xa4]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0xa4], xmm0
movsd xmm0, qword [ebp - 0x78]
comisd xmm0, xmmword [ebp - 0x84]
jbe 0x469157
movsd xmm0, qword [ebp - 0x8c]
subsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x8c]
addsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x6c]
mulsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0xa4]
subsd xmm0, qword [ebp - 0x98]
movsd qword [ebp - 0xa4], xmm0
movsd xmm0, qword [ebp - 0x8c]
addsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x6c]
subsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x8c]
addsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
mov dword [ebp - 0x40], 4
jmp 0x4693b2
movsd xmm0, qword [ebp - 0x78]
subsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x6c]
mulsd xmm0, qword [ebp - 0xac]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x8c]
subsd xmm0, qword [ebp - 0x98]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x84]
subsd xmm0, qword [ebp - 0x6c]
movsd qword [ebp - 0x84], xmm0
movsd xmm0, qword [ebp - 0x98]
mulsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0x78]
addsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x98]
subsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0x78]
mulsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x84]
divsd xmm0, qword [ebp - 0xac]
movsd qword [ebp - 0x84], xmm0
movsd xmm0, qword [ebp - 0x98]
addsd xmm0, qword [ebp - 0x6c]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0xac]
subsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0xac], xmm0
movsd xmm0, qword [ebp - 0xac]
addsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0xac], xmm0
movsd xmm0, qword [ebp - 0x6c]
mulsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0xac]
addsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0xac], xmm0
movsd xmm0, qword [ebp - 0xa4]
comisd xmm0, xmmword [ebp - 0xac]
jbe 0x469322
movsd xmm0, qword [ebp - 0x98]
addsd xmm0, qword [ebp - 0x6c]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0x78]
mulsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x98]
subsd xmm0, qword [ebp - 0x6c]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0x78]
divsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x8c]
subsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x78]
addsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x6c]
subsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x6c], xmm0
jmp 0x4693b2
movsd xmm0, qword [ebp - 0x6c]
subsd xmm0, qword [ebp - 0xac]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x6c]
addsd xmm0, qword [ebp - 0xac]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x78]
divsd xmm0, qword [ebp - 0xa4]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x8c]
addsd xmm0, qword [ebp - 0x98]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x98]
addsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [ebp - 0x6c]
subsd xmm0, qword [ebp - 0xac]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x98]
divsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x98], xmm0
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x469505
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
mov eax, dword [ebp - 0x30]
add eax, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0xf0], eax
jmp 0x469527
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x30]
jge 0x4696cd
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x54]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0x4e
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x58]
movzx eax, byte [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 4
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
shl eax, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0xe]
add ecx, eax
mov byte [ebp - 0xe], cl
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x214]
mov byte [ebp + ecx - 0x214], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x214], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x214]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x214]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x214]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x214]
movzx ecx, byte [ebp + ecx - 0x214]
xor eax, ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x1c], 0
jle 0x4696c8
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x24e], ax
jmp 0x46951a
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
push 2
pop eax
imul eax, eax, 0x1a
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x36
jae 0x4696eb
jmp 0x4696f0
call fcn.009d6837
xor eax, eax
mov ecx, dword [ebp - 0xf8]
mov word [ebp + ecx - 0x24c], ax
jmp 0x469751
and dword [ebp - 0xd4], 0
jmp 0x469718
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x1b
jge 0x469751
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x36
jae 0x46973a
jmp 0x46973f
call fcn.009d6837
xor eax, eax
mov ecx, dword [ebp - 0xfc]
mov word [ebp + ecx - 0x24c], ax
jmp 0x46970b
push 2
pop eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x100]
mov dx, word [ebp + edx*2 - 0x24c]
mov word [ecx + eax], dx
push 2
pop eax
imul eax, eax, 3
xor ecx, ecx
mov edx, dword [ebp + 8]
mov word [edx + eax], cx
push 2
pop eax
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x110]
mov dx, word [ebp + edx*2 - 0x24c]
mov word [ecx + eax], dx
push 2
pop eax
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x104]
mov dx, word [ebp + edx*2 - 0x24c]
mov word [ecx + eax], dx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009d62f9
leave
ret 4