Function at 0x4e6cf4
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff04
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x4e6d27
mov eax, dword [ebp - 0x5c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4e7271
mov dword [ebp - 0x18], 0xdbc66688
xor dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp + 8]
call fcn.004058a4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x4e6d5e
mov eax, dword [ebp - 0x60]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 8
jl 0x4e6e94
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
sub dword [ebp - 0x24], 8
cmp dword [ebp - 0x24], 8
jge 0x4e6d6e
cmp dword [ebp - 0x24], 0
je 0x4e6ec6
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x18]
and eax, 0xff
mov eax, dword [eax*4 + 0x595620]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor eax, edx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x20]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0
jne 0x4e6e9a
xor dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x4e6ee1
mov eax, dword [ebp - 0x64]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x28], 0xad2832e3
mov dword [ebp - 0x2c], 0x50ff46de
mov dword [ebp - 0x30], 0xf07bb613
cmp dword [ebp - 0x24], 0xc
jl 0x4e7095
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx - 1]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx]
shl edx, 8
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 1]
shl edx, 0x10
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 2]
shl edx, 0x18
add eax, edx
add dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 4]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 3]
shl edx, 8
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 5]
shl edx, 0x10
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 6]
shl edx, 0x18
add eax, edx
add dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 7]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 8]
shl edx, 8
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 9]
shl edx, 0x10
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
movzx edx, byte [edx + ecx + 0xa]
shl edx, 0x18
add eax, edx
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 0xd
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 8
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 0x13
xor dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 0xc
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 0xb
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 5
xor dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 3
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 0xa
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 0xf
xor dword [ebp - 0x30], eax
add dword [ebp - 0x34], 0xc
sub dword [ebp - 0x24], 0xc
cmp dword [ebp - 0x24], 0xc
jge 0x4e6f0d
mov eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x4e70ac
mov eax, dword [ebp - 0x68]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
add dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 0xb
jl 0x4e70c9
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 9]
shl eax, 0x18
add dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 0xa
jl 0x4e70e0
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 8]
shl eax, 0x10
add dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 9
jl 0x4e70f7
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 7]
shl eax, 8
add dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 8
jl 0x4e710e
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 6]
shl eax, 0x18
add dword [ebp - 0x2c], eax
cmp dword [ebp - 0x24], 7
jl 0x4e7125
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 5]
shl eax, 0x10
add dword [ebp - 0x2c], eax
cmp dword [ebp - 0x24], 6
jl 0x4e713c
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 3]
shl eax, 8
add dword [ebp - 0x2c], eax
cmp dword [ebp - 0x24], 5
jl 0x4e7150
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 4]
add dword [ebp - 0x2c], eax
cmp dword [ebp - 0x24], 4
jl 0x4e7167
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 2]
shl eax, 0x18
add dword [ebp - 0x28], eax
cmp dword [ebp - 0x24], 3
jl 0x4e717e
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx + 1]
shl eax, 0x10
add dword [ebp - 0x28], eax
cmp dword [ebp - 0x24], 2
jl 0x4e7194
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx]
shl eax, 8
add dword [ebp - 0x28], eax
cmp dword [ebp - 0x24], 1
jl 0x4e71a8
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + edx - 1]
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 0xd
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 8
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 0xb
xor dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 0xc
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 0x11
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 5
xor dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
shr eax, 3
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
shl eax, 0xa
xor dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
sub dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
shr eax, 0xf
xor dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
xor dword [ebp - 0x18], eax
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x18]
mov ecx, 4
call fcn.004032ec
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x1c]
mov ecx, 4
call fcn.004032ec
lea edx, [ebp - 0xe8]
lea eax, [ebp - 0x1c]
call fcn.004e6a40
lea eax, [ebp - 0xfc]
mov ecx, 0x8f
mov edx, 0x14
call fcn.00403bfc
lea eax, [ebp - 0xfc]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xfc]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shr eax, 4
xor eax, dword [ebp - 0x3c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x10
xor eax, dword [ebp - 0x38]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 2
xor eax, dword [ebp - 0x3c]
and eax, 0x33333333
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 8
xor eax, dword [ebp - 0x38]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 1
xor eax, dword [ebp - 0x3c]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x1d
mov edx, dword [ebp - 0x3c]
shl edx, 3
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x1d
mov edx, dword [ebp - 0x38]
shl edx, 3
or eax, edx
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x20
jge 0x4e7686
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xdc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xcc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
add dword [ebp - 0x48], 8
cmp dword [ebp - 0x48], 0x20
jl 0x4e739c
mov eax, dword [ebp - 0x3c]
shr eax, 3
mov edx, dword [ebp - 0x3c]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 3
mov edx, dword [ebp - 0x38]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 1
xor eax, dword [ebp - 0x38]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 8
xor eax, dword [ebp - 0x3c]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 2
xor eax, dword [ebp - 0x38]
and eax, 0x33333333
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x10
xor eax, dword [ebp - 0x3c]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 4
xor eax, dword [ebp - 0x38]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x3c], eax
lea eax, [ebp - 0xfc]
mov edx, dword [ebp - 0x38]
mov dword [eax], edx
lea eax, [ebp - 0xfc]
add eax, 4
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xc]
mov ecx, 0x14
cdq
idiv ecx
test eax, eax
jle 0x4e7c7b
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], 1
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, 0x14
call fcn.004032ec
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x54]
mov ecx, 0x14
call fcn.004e2778
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x54]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shr eax, 4
xor eax, dword [ebp - 0x3c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x10
xor eax, dword [ebp - 0x38]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 2
xor eax, dword [ebp - 0x3c]
and eax, 0x33333331
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 8
xor eax, dword [ebp - 0x38]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 1
xor eax, dword [ebp - 0x3c]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x1d
mov edx, dword [ebp - 0x3c]
shl edx, 3
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x1d
mov edx, dword [ebp - 0x38]
shl edx, 3
or eax, edx
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x20
jge 0x4e7b77
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xe8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xe4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xe0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xdc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xd8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xd4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xd0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xcc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
add dword [ebp - 0x4c], 8
cmp dword [ebp - 0x4c], 0x20
jl 0x4e788d
mov eax, dword [ebp - 0x3c]
shr eax, 3
mov edx, dword [ebp - 0x3c]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 3
mov edx, dword [ebp - 0x38]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 1
xor eax, dword [ebp - 0x38]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 8
xor eax, dword [ebp - 0x3c]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 2
xor eax, dword [ebp - 0x38]
and eax, 0x33333331
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x10
xor eax, dword [ebp - 0x3c]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 4
xor eax, dword [ebp - 0x38]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x38]
mov dword [eax], edx
mov eax, dword [ebp - 0x54]
add eax, 4
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x54]
mov ecx, 0x14
call fcn.004032ec
mov eax, dword [ebp - 0x50]
add eax, 0x14
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
add eax, 0x14
mov dword [ebp - 0x54], eax
inc dword [ebp - 0x48]
dec dword [ebp - 0x58]
jne 0x4e7788
mov eax, dword [ebp - 0xc]
mov ecx, 0x14
cdq
idiv ecx
test edx, edx
je 0x4e816c
lea eax, [ebp - 0xfc]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xfc]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shr eax, 4
xor eax, dword [ebp - 0x3c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x10
xor eax, dword [ebp - 0x38]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 2
xor eax, dword [ebp - 0x3c]
and eax, 0x33333331
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 8
xor eax, dword [ebp - 0x38]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 1
xor eax, dword [ebp - 0x3c]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 0x1d
mov edx, dword [ebp - 0x3c]
shl edx, 3
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x1d
mov edx, dword [ebp - 0x38]
shl edx, 3
or eax, edx
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x20
jge 0x4e8060
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xe0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xdc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd8]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd4]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xd0]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xcc]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
shr eax, 4
mov edx, dword [ebp - 0x40]
shl edx, 0x1c
or eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
shr eax, 2
and eax, 0x3f
mov eax, dword [eax*4 + 0x594e20]
xor eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595020]
mov edx, dword [ebp - 0x44]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595220]
mov edx, dword [ebp - 0x44]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595420]
mov edx, dword [ebp - 0x40]
shr edx, 2
and edx, 0x3f
xor eax, dword [edx*4 + 0x594f20]
mov edx, dword [ebp - 0x40]
shr edx, 0xa
and edx, 0x3f
xor eax, dword [edx*4 + 0x595120]
mov edx, dword [ebp - 0x40]
shr edx, 0x12
and edx, 0x3f
xor eax, dword [edx*4 + 0x595320]
mov edx, dword [ebp - 0x40]
shr edx, 0x1a
and edx, 0x3f
xor eax, dword [edx*4 + 0x595520]
mov dword [ebp - 0x3c], eax
add dword [ebp - 0x48], 8
cmp dword [ebp - 0x48], 0x20
jl 0x4e7d76
mov eax, dword [ebp - 0x3c]
shr eax, 3
mov edx, dword [ebp - 0x3c]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 3
mov edx, dword [ebp - 0x38]
shl edx, 0x1d
or eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 1
xor eax, dword [ebp - 0x38]
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
add eax, eax
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 8
xor eax, dword [ebp - 0x3c]
and eax, 0xff00ff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 8
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 2
xor eax, dword [ebp - 0x38]
and eax, 0x33333331
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 2
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x10
xor eax, dword [ebp - 0x3c]
and eax, 0xffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
shl eax, 0x10
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
shr eax, 4
xor eax, dword [ebp - 0x38]
and eax, 0xf0f0f0f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 4
xor dword [ebp - 0x3c], eax
lea eax, [ebp - 0xfc]
mov edx, dword [ebp - 0x38]
mov dword [eax], edx
lea eax, [ebp - 0xfc]
add eax, 4
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
mov ecx, 0x14
cdq
idiv ecx
mov ecx, edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
call fcn.004032ec
mov eax, dword [ebp - 0xc]
mov ecx, 0x14
cdq
idiv ecx
mov ecx, edx
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x54]
call fcn.004e2778
mov esp, ebp
pop ebp
ret 4