Function at 0x466a3e
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0xa8807c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x208], ecx
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 0x466a9d
movsd xmm0, qword [ebp - 0xb4]
addsd xmm0, qword [0xa52738]
movsd qword [ebp - 0xb4], xmm0
movsd xmm0, qword [0xa53d20]
comisd xmm0, xmmword [ebp - 0xb4]
jbe 0x466b4e
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 0x466b49
movsd xmm0, qword [0xa53ab8]
mulsd xmm0, qword [ebp - 0xb4]
movsd xmm1, qword [ebp - 0xc4]
subsd xmm1, xmm0
movsd qword [ebp - 0xc4], xmm1
jmp 0x466a85
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xc4]
jbe 0x466baa
imul ebx, dword [edx + 0x59], 0x76
push eax
sub dword [ecx + 0x70], ebp
ja 0x466b88
inc edi
push esp
xor byte [ebx], ch
dec sp
push edi
jnp 0x466be6
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 0x468097
mov dword [ebp - 8], 0x466b6f
mov dword [ebp - 0xc], 0x466b5b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x6d], 0x18
and dword [ebp - 0x2c], 0
jmp 0x466bd8
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x100
jae 0x466bf0
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x2c]
mov byte [ebp + eax - 0x204], cl
aam 0x88
mov word [0xfffffdfc], es
jmp 0x466bd1
and dword [ebp - 0x9c], 0
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x2c], 0xff
jmp 0x466c0b
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jbe 0x466fa3
and dword [ebp - 0xe8], 0
mov dword [ebp - 0xd0], 1
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x2c]
jae 0x466c43
mov eax, dword [ebp - 0xd0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xd0], eax
jmp 0x466c26
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x466c75
sub dword [ebp - 0x50], 1
je 0x466c9d
sub dword [ebp - 0x50], 1
je 0x466cc5
sub dword [ebp - 0x50], 1
je 0x466ced
jmp 0x466d15
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x204]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x466d36
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x204]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x466d36
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x204]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x466d36
movzx eax, byte [ebp - 0x14]
movzx ebx, byte [ebp + eax - 0x204]
movsd xmm0, qword [ebp - 0xc4]
call fcn.009d6a30
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x14], bl
jmp 0x466d36
movzx eax, byte [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x204]
mov ecx, dword [ebp - 0x104]
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 0x466edb
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 0x466e7b
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 0x466edb
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 0x466f12
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 0x466c43
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x90]
je 0x466f9e
mov eax, dword [ebp - 0x90]
movzx eax, byte [ebp + eax - 0x204]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x204]
xor ecx, eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x204], cl
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x204]
mov ecx, dword [ebp - 0x90]
movzx ecx, byte [ebp + ecx - 0x204]
xor ecx, eax
mov eax, dword [ebp - 0x90]
mov byte [ebp + eax - 0x204], cl
mov eax, dword [ebp - 0x90]
movzx eax, byte [ebp + eax - 0x204]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x204]
xor ecx, eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x204], cl
jmp 0x466c04
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x204]
mov byte [ebp - 0xd], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x204]
mov byte [ebp - 0xe], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x204]
mov byte [ebp - 0x12], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x204]
mov byte [ebp - 0xf], al
movzx eax, byte [ebp - 0x14]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp - 0x10], al
mov dword [ebp - 0xf4], 0x36
cmp dword [ebp - 0xf4], 2
jle 0x468048
mov eax, dword [ebp - 0xf4]
and eax, 1
jne 0x468048
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 - 0x4c], 0
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x4c], eax
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x4671f5
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], 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 - 0x4c], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x46738e
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], 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 - 0x4c], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x467527
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], 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 0x467549
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x30]
jge 0x4676ef
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x4676ea
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], ax
jmp 0x46753c
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 0x4677b2
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 0x4678af
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 0x467873
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 0x4678af
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 - 0x4c], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 0x467a9d
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 0x467cf8
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 0x467c68
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 0x467cf8
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x467e4b
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], 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 0x467e6d
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x30]
jge 0x468013
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
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 - 0x54]
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 - 0x204]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov al, byte [ebp + eax - 0x204]
mov byte [ebp + ecx - 0x204], al
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x204], cl
movzx eax, byte [ebp - 0x11]
movzx eax, byte [ebp + eax - 0x204]
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 - 0x204]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
xor eax, ecx
movzx ecx, byte [ebp - 0xf]
movzx ecx, byte [ebp + ecx - 0x204]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x204]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x204]
movzx ecx, byte [ebp + ecx - 0x204]
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 0x46800e
movsx ax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x242], ax
jmp 0x467e60
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 0x468031
jmp 0x468036
call fcn.009d6837
xor eax, eax
mov ecx, dword [ebp - 0xf8]
mov word [ebp + ecx - 0x240], ax
jmp 0x468097
and dword [ebp - 0xd4], 0
jmp 0x46805e
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x1b
jge 0x468097
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x36
jae 0x468080
jmp 0x468085
call fcn.009d6837
xor eax, eax
mov ecx, dword [ebp - 0xfc]
mov word [ebp + ecx - 0x240], ax
jmp 0x468051
call fcn.00a2c5b3
cdq
push 0x1a
pop ecx
idiv ecx
mov ax, word [ebp + edx*2 - 0x240]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009d62f9
leave
ret