Function at 0x608660
Capabilities:
Encrypt data using camellia

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0xfc]
mov ecx, 0x3f
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 4], ecx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0xf4]
push edx
call fcn.0060ce80
add esp, 8
mov ecx, eax
call fcn.006098e0
mov ecx, eax
call fcn.006098e0
mov ecx, eax
call fcn.006098e0
mov ecx, eax
call fcn.006098e0
mov ecx, dword [ebp - 4]
add ecx, 0xc
call fcn.005a5ad0
mov dword [ebp - 0x38], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
xor eax, dword [edx + ecx]
mov dword [ebp - 0xc], eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x18], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x24], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x30], ecx
call fcn.00609a40
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], 0
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x40], 0
jmp 0x608746
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x100
jae 0x608760
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
and edx, dword [ecx + 0x6db040]
mov dword [ebp - 0x48], edx
jmp 0x60873d
mov eax, dword [ebp - 0x48]
and eax, dword [0x6db13c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x18], edx
mov eax, 4
imul ecx, eax, 6
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x4c], eax
mov ecx, 4
imul edx, ecx, 7
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x4c]
shr edx, 0x18
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx esi, al
mov edx, dword [ebp - 0x4c]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.00609a00
add esp, 4
movzx edx, al
shl edx, 0x18
or esi, edx
mov eax, dword [ebp - 0x4c]
shr eax, 8
push eax
call fcn.006099a0
add esp, 4
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0x4c]
shr eax, 0
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 8
or esi, edx
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x50]
shr eax, 0x18
movzx ecx, al
movzx esi, byte [ecx + 0x6db040]
shl esi, 0x18
mov edx, dword [ebp - 0x50]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0x50]
shr eax, 8
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
push edx
call fcn.00609a00
add esp, 4
movzx eax, al
shl eax, 8
or esi, eax
mov ecx, dword [ebp - 0x50]
shr ecx, 0
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
movzx eax, byte [edx + 0x6db040]
or esi, eax
mov dword [ebp - 0x50], esi
mov ecx, dword [ebp - 0x50]
xor ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
push eax
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.006099e0
add esp, 4
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0x50]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x54], eax
mov ecx, 4
imul edx, ecx, 5
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x54]
shr edx, 0x18
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx esi, al
mov edx, dword [ebp - 0x54]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.00609a00
add esp, 4
movzx edx, al
shl edx, 0x18
or esi, edx
mov eax, dword [ebp - 0x54]
shr eax, 8
push eax
call fcn.006099a0
add esp, 4
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0x54]
shr eax, 0
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 8
or esi, edx
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x58]
shr eax, 0x18
movzx ecx, al
movzx esi, byte [ecx + 0x6db040]
shl esi, 0x18
mov edx, dword [ebp - 0x58]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0x58]
shr eax, 8
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
push edx
call fcn.00609a00
add esp, 4
movzx eax, al
shl eax, 8
or esi, eax
mov ecx, dword [ebp - 0x58]
shr ecx, 0
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
movzx eax, byte [edx + 0x6db040]
or esi, eax
mov dword [ebp - 0x58], esi
mov ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x58]
push eax
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.006099e0
add esp, 4
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0x40], edx
jmp 0x608a65
mov eax, dword [ebp - 0x40]
sub eax, 1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jbe 0x60923b
mov ecx, 4
imul edx, ecx, 0xb
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x5c], ecx
mov edx, 4
imul eax, edx, 0xa
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x60], edx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0x60]
shr edx, 0
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0x60]
shr ebx, 0x18
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0x60]
shr edx, 0x10
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0x60]
shr ecx, 8
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0x64], eax
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0x5c]
shr ecx, 0x18
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0x5c]
shr ebx, 0x10
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0x5c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0x5c]
shr eax, 0
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x64]
xor ecx, dword [ebp - 0x68]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0x64]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x64]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov edx, 4
imul eax, edx, 9
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x6c], edx
mov eax, 4
shl eax, 3
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x70], edx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0x70]
shr edx, 0
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0x70]
shr ebx, 0x18
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0x70]
shr edx, 0x10
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0x70]
shr ecx, 8
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0x74], eax
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0x6c]
shr ecx, 0x18
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0x6c]
shr ebx, 0x10
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0x6c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0x6c]
shr eax, 0
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x74]
xor ecx, dword [ebp - 0x78]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, 4
imul eax, edx, 0xf
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0xc]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x7c], edx
mov eax, 4
imul ecx, eax, 0xe
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x80], eax
mov ecx, 0x400
imul edx, ecx, 0
mov eax, dword [ebp - 0x80]
shr eax, 0
movzx ecx, al
mov eax, 0x400
shl eax, 0
mov ebx, dword [ebp - 0x80]
shr ebx, 0x18
movzx esi, bl
mov ecx, dword [edx + ecx*4 + 0x6db140]
xor ecx, dword [eax + esi*4 + 0x6db140]
mov edx, 0x400
shl edx, 1
mov eax, dword [ebp - 0x80]
shr eax, 0x10
movzx eax, al
xor ecx, dword [edx + eax*4 + 0x6db140]
mov edx, 0x400
imul eax, edx, 3
mov edx, dword [ebp - 0x80]
shr edx, 8
movzx edx, dl
xor ecx, dword [eax + edx*4 + 0x6db140]
mov dword [ebp - 0x84], ecx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0x7c]
shr edx, 0x18
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0x7c]
shr ebx, 0x10
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0x7c]
shr edx, 8
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0x7c]
shr ecx, 0
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x84]
xor edx, dword [ebp - 0x88]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0x84]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0x84]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x88]
push edx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, 4
imul ecx, eax, 0xd
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x8c], eax
mov ecx, 4
imul edx, ecx, 0xc
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x90], ecx
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0x90]
shr ecx, 0
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0x90]
shr ebx, 0x18
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0x90]
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0x90]
shr eax, 8
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0x94], edx
mov ecx, 0x400
imul edx, ecx, 0
mov eax, dword [ebp - 0x8c]
shr eax, 0x18
movzx ecx, al
mov eax, 0x400
shl eax, 0
mov ebx, dword [ebp - 0x8c]
shr ebx, 0x10
movzx esi, bl
mov ecx, dword [edx + ecx*4 + 0x6db140]
xor ecx, dword [eax + esi*4 + 0x6db140]
mov edx, 0x400
shl edx, 1
mov eax, dword [ebp - 0x8c]
shr eax, 8
movzx eax, al
xor ecx, dword [edx + eax*4 + 0x6db140]
mov edx, 0x400
imul eax, edx, 3
mov edx, dword [ebp - 0x8c]
shr edx, 0
movzx edx, dl
xor ecx, dword [eax + edx*4 + 0x6db140]
mov dword [ebp - 0x98], ecx
mov eax, dword [ebp - 0x94]
xor eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x94]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x94]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x98]
push eax
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, 4
imul edx, ecx, 0x13
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
and ecx, dword [eax + edx]
push ecx
call fcn.005f3c50
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, 4
imul eax, edx, 0x12
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
or edx, dword [ecx + eax]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, 4
shl eax, 4
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
or edx, dword [ecx + eax]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
mov eax, 4
imul ecx, eax, 0x11
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
and eax, dword [edx + ecx]
push eax
call fcn.005f3c50
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov ecx, 4
imul edx, ecx, 0x17
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x9c], ecx
mov edx, 4
imul eax, edx, 0x16
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xa0], edx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0xa0]
shr edx, 0
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0xa0]
shr ebx, 0x18
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0xa0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0xa0]
shr ecx, 8
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0xa4], eax
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0x9c]
shr ecx, 0x18
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0x9c]
shr ebx, 0x10
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0x9c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0x9c]
shr eax, 0
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0xa8], edx
mov ecx, dword [ebp - 0xa4]
xor ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0xa4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0xa4]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov edx, 4
imul eax, edx, 0x15
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xac], edx
mov eax, 4
imul ecx, eax, 0x14
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
xor eax, dword [edx + ecx]
mov dword [ebp - 0xb0], eax
mov ecx, 0x400
imul edx, ecx, 0
mov eax, dword [ebp - 0xb0]
shr eax, 0
movzx ecx, al
mov eax, 0x400
shl eax, 0
mov ebx, dword [ebp - 0xb0]
shr ebx, 0x18
movzx esi, bl
mov ecx, dword [edx + ecx*4 + 0x6db140]
xor ecx, dword [eax + esi*4 + 0x6db140]
mov edx, 0x400
shl edx, 1
mov eax, dword [ebp - 0xb0]
shr eax, 0x10
movzx eax, al
xor ecx, dword [edx + eax*4 + 0x6db140]
mov edx, 0x400
imul eax, edx, 3
mov edx, dword [ebp - 0xb0]
shr edx, 8
movzx edx, dl
xor ecx, dword [eax + edx*4 + 0x6db140]
mov dword [ebp - 0xb4], ecx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0xac]
shr edx, 0x18
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0xac]
shr ebx, 0x10
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0xac]
shr edx, 8
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0xac]
shr ecx, 0
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xb4]
xor edx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 0xb4]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
add eax, 0x40
mov dword [ebp - 0x38], eax
jmp 0x608a5c
mov ecx, 4
imul edx, ecx, 0xb
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + edx]
mov dword [ebp - 0xbc], ecx
mov edx, 4
imul eax, edx, 0xa
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xc0], edx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0xc0]
shr edx, 0
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0xc0]
shr ebx, 0x18
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0xc0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0xc0]
shr ecx, 8
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0xc4], eax
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0xbc]
shr ecx, 0x18
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0xbc]
shr ebx, 0x10
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0xbc]
shr ecx, 8
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0xbc]
shr eax, 0
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0xc4]
xor ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0xc4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0xc4]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov edx, 4
imul eax, edx, 9
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xcc], edx
mov eax, 4
shl eax, 3
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xd0], edx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0xd0]
shr edx, 0
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0xd0]
shr ebx, 0x18
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0xd0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0xd0]
shr ecx, 8
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0xd4], eax
mov edx, 0x400
imul eax, edx, 0
mov ecx, dword [ebp - 0xcc]
shr ecx, 0x18
movzx edx, cl
mov ecx, 0x400
shl ecx, 0
mov ebx, dword [ebp - 0xcc]
shr ebx, 0x10
movzx esi, bl
mov edx, dword [eax + edx*4 + 0x6db140]
xor edx, dword [ecx + esi*4 + 0x6db140]
mov eax, 0x400
shl eax, 1
mov ecx, dword [ebp - 0xcc]
shr ecx, 8
movzx ecx, cl
xor edx, dword [eax + ecx*4 + 0x6db140]
mov eax, 0x400
imul ecx, eax, 3
mov eax, dword [ebp - 0xcc]
shr eax, 0
movzx eax, al
xor edx, dword [ecx + eax*4 + 0x6db140]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0xd4]
xor ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0xd4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, 4
imul eax, edx, 0xf
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0xc]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xdc], edx
mov eax, 4
imul ecx, eax, 0xe
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx + ecx]
mov dword [ebp - 0xe0], eax
mov ecx, 0x400
imul edx, ecx, 0
mov eax, dword [ebp - 0xe0]
shr eax, 0
movzx ecx, al
mov eax, 0x400
shl eax, 0
mov ebx, dword [ebp - 0xe0]
shr ebx, 0x18
movzx esi, bl
mov ecx, dword [edx + ecx*4 + 0x6db140]
xor ecx, dword [eax + esi*4 + 0x6db140]
mov edx, 0x400
shl edx, 1
mov eax, dword [ebp - 0xe0]
shr eax, 0x10
movzx eax, al
xor ecx, dword [edx + eax*4 + 0x6db140]
mov edx, 0x400
imul eax, edx, 3
mov edx, dword [ebp - 0xe0]
shr edx, 8
movzx edx, dl
xor ecx, dword [eax + edx*4 + 0x6db140]
mov dword [ebp - 0xe4], ecx
mov eax, 0x400
imul ecx, eax, 0
mov edx, dword [ebp - 0xdc]
shr edx, 0x18
movzx eax, dl
mov edx, 0x400
shl edx, 0
mov ebx, dword [ebp - 0xdc]
shr ebx, 0x10
movzx esi, bl
mov eax, dword [ecx + eax*4 + 0x6db140]
xor eax, dword [edx + esi*4 + 0x6db140]
mov ecx, 0x400
shl ecx, 1
mov edx, dword [ebp - 0xdc]
shr edx, 8
movzx edx, dl
xor eax, dword [ecx + edx*4 + 0x6db140]
mov ecx, 0x400
imul edx, ecx, 3
mov ecx, dword [ebp - 0xdc]
shr ecx, 0
movzx ecx, cl
xor eax, dword [edx + ecx*4 + 0x6db140]
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0xe4]
xor edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0xe4]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xe8]
push edx
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, 4
imul ecx, eax, 0xc
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
xor eax, dword [edx + ecx]
mov dword [ebp - 0xec], eax
mov ecx, 4
imul edx, ecx, 0xd
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
xor ecx, dword [eax + edx]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xec]
shr edx, 0x18
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx esi, al
mov edx, dword [ebp - 0xec]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.00609a00
add esp, 4
movzx edx, al
shl edx, 0x18
or esi, edx
mov eax, dword [ebp - 0xec]
shr eax, 8
push eax
call fcn.006099a0
add esp, 4
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0xec]
shr eax, 0
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
shl edx, 8
or esi, edx
mov dword [ebp - 0xec], esi
mov eax, dword [ebp - 0xf0]
shr eax, 0x18
movzx ecx, al
movzx esi, byte [ecx + 0x6db040]
shl esi, 0x18
mov edx, dword [ebp - 0xf0]
shr edx, 0x10
movzx eax, dl
movzx ecx, byte [eax + 0x6db040]
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
shl edx, 0x10
or esi, edx
mov eax, dword [ebp - 0xf0]
shr eax, 8
movzx ecx, al
movzx edx, byte [ecx + 0x6db040]
push edx
call fcn.00609a00
add esp, 4
movzx eax, al
shl eax, 8
or esi, eax
mov ecx, dword [ebp - 0xf0]
shr ecx, 0
push ecx
call fcn.006099a0
add esp, 4
movzx edx, al
movzx eax, byte [edx + 0x6db040]
or esi, eax
mov dword [ebp - 0xf0], esi
mov ecx, dword [ebp - 0xf0]
xor ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0xf0]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
push eax
call fcn.00609a20
add esp, 4
xor eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.006099e0
add esp, 4
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0xf0]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xf0]
push eax
call fcn.006099c0
add esp, 4
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, 4
imul edx, ecx, 0x13
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + edx]
mov dword [ebp - 0xc], ecx
mov edx, 4
imul eax, edx, 0x12
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x18], edx
mov eax, 4
imul ecx, eax, 0x11
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x24], eax
mov ecx, 4
shl ecx, 4
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xfc]
call fcn.0065d7c0
mov ecx, eax
call fcn.00609930
mov ecx, eax
call fcn.00609930
mov ecx, eax
call fcn.00609930
mov ecx, eax
call fcn.00609930
push edx
mov ecx, ebp
push eax
lea edx, [0x609890]
call fcn.00650098
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0xfc
cmp ebp, esp
call fcn.006500f0
mov esp, ebp
pop ebp
ret 0xc