Function at 0x538fe0
Capabilities:
Encrypt data using camellia
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 8
mov eax, dword [esp + 0x20]
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
xor edi, dword [eax + 0x100]
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x1c]
xor esi, dword [eax + 0x104]
mov eax, esi
mov edx, esi
shr edx, 0x18
movzx ecx, al
mov eax, esi
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [edx*4 + 0x64ab00]
mov edx, esi
shr edx, 0x10
movzx edx, dl
xor ecx, dword [edx*4 + 0x64a700]
movzx edx, ah
mov eax, edi
xor ecx, dword [edx*4 + 0x64a300]
mov edx, edi
movzx ebx, al
shr edx, 0x18
mov eax, edi
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [ebx*4 + 0x64a300]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [ebx*4 + 0x64ab00]
movzx ebx, ah
mov eax, dword [esp + 0x20]
xor edx, dword [ebx*4 + 0x64a700]
mov ebx, dword [eax + 8]
mov eax, dword [esp + 0x1c]
xor ecx, edx
ror edx, 8
xor ebx, dword [eax + 0xf8]
mov eax, dword [esp + 0x20]
mov ebp, dword [eax + 0xc]
mov eax, dword [esp + 0x1c]
xor ebx, ecx
xor ebp, dword [eax + 0xfc]
xor ecx, ebp
mov ebp, ebx
xor ecx, edx
shr ebp, 0x18
mov eax, ecx
movzx edx, cl
shr ecx, 0x18
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [ecx*4 + 0x64ab00]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [ecx*4 + 0x64a700]
movzx ecx, ah
mov dword [esp], eax
xor edx, dword [ecx*4 + 0x64a300]
mov ecx, ebp
movzx ebp, bl
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [ebp*4 + 0x64a300]
mov ebp, ebx
shr ebp, 0x10
mov eax, ebp
movzx ebp, al
mov eax, dword [esp + 0x1c]
xor ecx, dword [ebp*4 + 0x64ab00]
movzx ebp, bh
xor ecx, dword [ebp*4 + 0x64a700]
xor edi, dword [eax + 0xf0]
xor edx, ecx
xor edi, edx
mov ebp, edx
mov edx, dword [esp + 0x1c]
ror ecx, 8
mov eax, edi
xor esi, dword [edx + 0xf4]
xor ecx, esi
mov edx, ecx
xor edx, ebp
mov ebp, eax
mov edi, edx
movzx esi, dl
shr edi, 0x18
mov ecx, edi
mov edi, dword [esi*4 + 0x64af00]
mov esi, edx
shr esi, 0x10
xor edi, dword [ecx*4 + 0x64ab00]
mov ecx, esi
mov esi, eax
movzx ecx, cl
shr esi, 0x18
xor edi, dword [ecx*4 + 0x64a700]
movzx ecx, dh
xor edi, dword [ecx*4 + 0x64a300]
mov ecx, esi
movzx esi, al
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [esi*4 + 0x64a300]
mov esi, eax
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, ebp
mov ebp, dword [esp + 0x1c]
xor ecx, dword [esi*4 + 0x64ab00]
movzx esi, ah
xor ecx, dword [esi*4 + 0x64a700]
mov esi, dword [esp + 0x1c]
xor ebx, dword [esi + 0xe8]
mov esi, dword [esp]
xor esi, dword [ebp + 0xec]
xor edi, ecx
ror ecx, 8
xor ebx, edi
xor ecx, esi
xor ecx, edi
mov edi, ecx
movzx esi, cl
shr ecx, 0x18
mov ebp, dword [esi*4 + 0x64af00]
xor ebp, dword [ecx*4 + 0x64ab00]
mov ecx, edi
shr ecx, 0x10
movzx esi, bl
mov dword [esp], edi
movzx ecx, cl
xor ebp, dword [ecx*4 + 0x64a700]
mov ecx, edi
mov edi, ebx
movzx ecx, ch
xor ebp, dword [ecx*4 + 0x64a300]
mov ecx, ebx
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [esi*4 + 0x64a300]
mov esi, ebx
shr esi, 0x10
mov ebx, esi
movzx esi, bl
mov ebx, edi
xor ecx, dword [esi*4 + 0x64ab00]
movzx esi, bh
xor ecx, dword [esi*4 + 0x64a700]
mov esi, dword [esp + 0x1c]
xor ebp, ecx
xor eax, dword [esi + 0xe0]
xor edx, dword [esi + 0xe4]
ror ecx, 8
xor edx, ecx
mov edi, eax
xor edi, ebp
xor ebp, edx
mov edx, ebp
mov eax, edi
mov esi, edi
movzx ecx, dl
mov edx, ebp
shr esi, 0x18
shr edx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
mov esi, dword [esi*4 + 0x64af00]
xor ecx, dword [edx*4 + 0x64ab00]
mov edx, ebp
shr edx, 0x10
movzx edx, dl
xor ecx, dword [edx*4 + 0x64a700]
mov edx, ebp
movzx edx, dh
xor ecx, dword [edx*4 + 0x64a300]
movzx edx, al
xor esi, dword [edx*4 + 0x64a300]
mov edx, edi
shr edx, 0x10
movzx edx, dl
xor esi, dword [edx*4 + 0x64ab00]
movzx edx, ah
mov edi, ecx
xor esi, dword [edx*4 + 0x64a700]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
xor ebx, dword [edx + 0xd8]
xor edi, esi
ror esi, 8
mov edx, ebx
mov ebx, dword [esp]
xor ebx, dword [ecx + 0xdc]
xor edx, edi
xor ebx, esi
xor ebx, edi
mov ecx, ebx
movzx ebx, bl
mov esi, ecx
mov ebx, dword [ebx*4 + 0x64af00]
shr esi, 0x18
mov edi, dword [esi*4 + 0x64ab00]
mov esi, ecx
shr esi, 0x10
xor edi, ebx
mov ebx, esi
movzx esi, bl
xor edi, dword [esi*4 + 0x64a700]
movzx esi, ch
mov ebx, edi
xor ebx, dword [esi*4 + 0x64a300]
mov esi, edx
movzx edi, dl
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [edi*4 + 0x64a300]
mov edi, edx
shr edi, 0x10
mov dword [esp], ebx
mov ebx, edi
movzx edi, bl
mov ebx, dword [esp]
xor esi, dword [edi*4 + 0x64ab00]
movzx edi, dh
xor esi, dword [edi*4 + 0x64a700]
mov edi, dword [esp + 0x1c]
xor eax, dword [edi + 0xd0]
xor ebx, esi
ror esi, 8
mov edi, eax
mov eax, dword [esp + 0x1c]
xor edi, ebx
xor ebp, dword [eax + 0xd4]
xor ebp, esi
xor ebx, ebp
mov ebp, dword [eax + 0xc8]
and ebp, edi
rol ebp, 1
xor ebp, ebx
mov ebx, dword [eax + 0xcc]
or ebx, ebp
xor ebx, edi
mov edi, dword [esp + 0x1c]
mov eax, ebx
mov ebx, ecx
or ebx, dword [edi + 0xc4]
movzx edi, al
mov dword [esp], eax
xor ebx, edx
mov edx, ebp
movzx esi, dl
mov edx, ebp
shr edx, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [edx*4 + 0x64ab00]
mov edx, ebp
shr edx, 0x10
movzx edx, dl
xor esi, dword [edx*4 + 0x64a700]
mov edx, ebp
movzx edx, dh
xor esi, dword [edx*4 + 0x64a300]
mov edx, eax
shr edx, 0x18
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [edi*4 + 0x64a300]
mov edi, eax
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp]
xor edx, dword [edi*4 + 0x64ab00]
movzx edi, ah
mov eax, dword [esp + 0x1c]
xor edx, dword [edi*4 + 0x64a700]
mov edi, ebx
and ebx, dword [eax + 0xc0]
xor edi, dword [eax + 0xb8]
xor ecx, dword [eax + 0xbc]
xor esi, edx
rol ebx, 1
xor edi, esi
xor ecx, ebx
ror edx, 8
mov dword [esp + 4], edi
xor ecx, esi
xor ecx, edx
mov ebx, ecx
movzx edx, cl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [ebx*4 + 0x64ab00]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [ebx*4 + 0x64a700]
movzx ebx, ch
xor edx, dword [ebx*4 + 0x64a300]
mov ebx, edi
shr ebx, 0x18
mov ebx, dword [ebx*4 + 0x64af00]
mov eax, edx
mov edx, edi
movzx esi, dl
xor ebx, dword [esi*4 + 0x64a300]
mov esi, edi
shr esi, 0x10
mov edx, esi
movzx esi, dl
mov edx, edi
xor ebx, dword [esi*4 + 0x64ab00]
movzx esi, dh
mov edx, dword [esp + 0x1c]
xor ebx, dword [esi*4 + 0x64a700]
mov esi, eax
mov eax, dword [esp]
xor ebp, dword [edx + 0xb4]
xor eax, dword [edx + 0xb0]
xor esi, ebx
ror ebx, 8
xor ebp, ebx
mov edi, eax
xor ebp, esi
xor edi, esi
mov edx, ebp
shr ebp, 0x18
mov esi, edx
movzx ebx, dl
shr esi, 0x10
mov ebx, dword [ebx*4 + 0x64af00]
xor ebx, dword [ebp*4 + 0x64ab00]
mov eax, esi
mov ebp, edi
movzx esi, al
mov eax, edi
shr ebp, 0x18
xor ebx, dword [esi*4 + 0x64a700]
movzx esi, dh
xor ebx, dword [esi*4 + 0x64a300]
movzx esi, al
mov ebp, dword [ebp*4 + 0x64af00]
xor ebp, dword [esi*4 + 0x64a300]
mov esi, edi
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, edi
xor ebp, dword [esi*4 + 0x64ab00]
movzx esi, ah
mov eax, dword [esp + 0x1c]
xor ebp, dword [esi*4 + 0x64a700]
xor ebx, ebp
mov esi, ebx
mov ebx, dword [esp + 4]
xor ebx, dword [eax + 0xa8]
xor ecx, dword [eax + 0xac]
ror ebp, 8
xor ebx, esi
xor ecx, ebp
mov dword [esp], ebx
xor ecx, esi
mov ebx, ecx
movzx ecx, cl
mov esi, ebx
mov ecx, dword [ecx*4 + 0x64af00]
shr esi, 0x18
xor ecx, dword [esi*4 + 0x64ab00]
mov esi, ebx
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, dword [esp]
xor ecx, dword [esi*4 + 0x64a700]
movzx esi, bh
xor ecx, dword [esi*4 + 0x64a300]
mov esi, eax
movzx ebp, al
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ebp*4 + 0x64a300]
mov ebp, eax
shr ebp, 0x10
mov eax, ebp
movzx ebp, al
mov eax, dword [esp]
xor esi, dword [ebp*4 + 0x64ab00]
movzx ebp, ah
xor esi, dword [ebp*4 + 0x64a700]
mov ebp, dword [esp + 0x1c]
xor edx, dword [ebp + 0xa4]
xor edi, dword [ebp + 0xa0]
xor ecx, esi
ror esi, 8
xor esi, edx
xor edi, ecx
xor esi, ecx
mov dword [esp], edi
mov edx, esi
mov ecx, esi
mov ebp, esi
shr ecx, 0x18
movzx edx, dl
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [ecx*4 + 0x64ab00]
mov ecx, esi
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [ecx*4 + 0x64a700]
mov ecx, esi
mov esi, edi
movzx ecx, ch
shr esi, 0x18
xor edx, dword [ecx*4 + 0x64a300]
mov ecx, edi
mov esi, dword [esi*4 + 0x64af00]
movzx ecx, cl
xor esi, dword [ecx*4 + 0x64a300]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor esi, dword [ecx*4 + 0x64ab00]
mov ecx, edi
mov edi, dword [esp + 0x1c]
movzx ecx, ch
xor esi, dword [ecx*4 + 0x64a700]
xor eax, dword [edi + 0x98]
xor edx, esi
ror esi, 8
xor eax, edx
mov ecx, eax
mov eax, dword [esp + 0x1c]
movzx edi, cl
xor ebx, dword [eax + 0x9c]
mov eax, ecx
shr eax, 0x10
xor ebx, esi
xor edx, ebx
mov ebx, edx
movzx esi, dl
shr ebx, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ebx*4 + 0x64ab00]
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
xor esi, dword [ebx*4 + 0x64a700]
movzx ebx, dh
xor esi, dword [ebx*4 + 0x64a300]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [ebx*4 + 0x64af00]
xor ebx, dword [edi*4 + 0x64a300]
movzx edi, al
mov eax, dword [esp + 0x1c]
xor ebx, dword [edi*4 + 0x64ab00]
movzx edi, ch
xor ebx, dword [edi*4 + 0x64a700]
mov edi, dword [esp]
xor ebp, dword [eax + 0x94]
xor edi, dword [eax + 0x90]
xor esi, ebx
ror ebx, 8
xor ebp, ebx
mov ebx, dword [eax + 0x88]
xor edi, esi
xor esi, ebp
and ebx, edi
rol ebx, 1
xor esi, ebx
mov ebx, dword [eax + 0x8c]
or ebx, esi
xor ebx, edi
mov edi, edx
mov eax, ebx
mov ebx, dword [esp + 0x1c]
movzx ebp, al
mov dword [esp], eax
or edi, dword [ebx + 0x84]
mov ebx, esi
movzx ebx, bl
mov ebx, dword [ebx*4 + 0x64af00]
xor edi, ecx
mov ecx, esi
shr ecx, 0x18
xor ebx, dword [ecx*4 + 0x64ab00]
mov ecx, esi
shr ecx, 0x10
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x64a700]
mov ecx, esi
movzx ecx, ch
xor ebx, dword [ecx*4 + 0x64a300]
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [ebp*4 + 0x64a300]
mov ebp, eax
shr ebp, 0x10
mov eax, ebp
movzx ebp, al
mov eax, dword [esp]
xor ecx, dword [ebp*4 + 0x64ab00]
movzx ebp, ah
mov eax, dword [esp + 0x1c]
xor ecx, dword [ebp*4 + 0x64a700]
mov ebp, edi
and edi, dword [eax + 0x80]
xor ebp, dword [eax + 0x78]
xor edx, dword [eax + 0x7c]
xor ebx, ecx
ror ecx, 8
rol edi, 1
xor ebp, ebx
xor edx, edi
mov eax, ebp
mov edi, ebp
xor edx, ebx
shr edi, 0x18
mov dword [esp + 4], eax
xor ecx, edx
mov ebp, dword [edi*4 + 0x64af00]
mov ebx, ecx
movzx edx, cl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [ebx*4 + 0x64ab00]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [ebx*4 + 0x64a700]
movzx ebx, ch
xor edx, dword [ebx*4 + 0x64a300]
movzx ebx, al
xor ebp, dword [ebx*4 + 0x64a300]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
xor ebp, dword [ebx*4 + 0x64ab00]
movzx ebx, ah
mov eax, dword [esp]
xor ebp, dword [ebx*4 + 0x64a700]
xor edx, ebp
mov edi, edx
mov edx, dword [esp + 0x1c]
xor eax, dword [edx + 0x70]
mov ebx, eax
xor ebx, edi
xor esi, dword [edx + 0x74]
ror ebp, 8
xor esi, ebp
movzx ebp, bl
mov edx, esi
xor edx, edi
mov esi, edx
movzx edi, dl
shr esi, 0x18
mov edi, dword [edi*4 + 0x64af00]
xor edi, dword [esi*4 + 0x64ab00]
mov esi, edx
shr esi, 0x10
mov eax, esi
movzx esi, al
xor edi, dword [esi*4 + 0x64a700]
movzx esi, dh
xor edi, dword [esi*4 + 0x64a300]
mov esi, ebx
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ebp*4 + 0x64a300]
mov ebp, ebx
shr ebp, 0x10
mov eax, ebp
movzx ebp, al
mov eax, dword [esp + 0x1c]
xor esi, dword [ebp*4 + 0x64ab00]
movzx ebp, bh
xor esi, dword [ebp*4 + 0x64a700]
mov ebp, dword [esp + 4]
xor ecx, dword [eax + 0x6c]
xor ebp, dword [eax + 0x68]
xor edi, esi
ror esi, 8
xor ecx, esi
xor ebp, edi
xor ecx, edi
mov esi, ecx
movzx edi, cl
shr esi, 0x18
mov edi, dword [edi*4 + 0x64af00]
xor edi, dword [esi*4 + 0x64ab00]
mov esi, ecx
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, ebp
xor edi, dword [esi*4 + 0x64a700]
movzx esi, ch
xor edi, dword [esi*4 + 0x64a300]
mov esi, ebp
movzx ebp, al
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ebp*4 + 0x64a300]
mov ebp, eax
shr ebp, 0x10
mov dword [esp], eax
mov eax, ebp
movzx ebp, al
mov eax, dword [esp]
xor esi, dword [ebp*4 + 0x64ab00]
movzx ebp, ah
xor esi, dword [ebp*4 + 0x64a700]
xor edi, esi
ror esi, 8
mov ebp, edi
mov edi, dword [esp + 0x1c]
xor edx, dword [edi + 0x64]
xor ebx, dword [edi + 0x60]
xor esi, edx
xor ebx, ebp
mov edi, esi
mov dword [esp], ebx
xor edi, ebp
mov ebp, dword [esp]
mov edx, edi
mov esi, edi
shr esi, 0x18
movzx edx, dl
mov edx, dword [edx*4 + 0x64af00]
xor edx, dword [esi*4 + 0x64ab00]
mov esi, edi
shr esi, 0x10
mov ebx, esi
mov esi, ebp
movzx ebx, bl
shr esi, 0x18
xor edx, dword [ebx*4 + 0x64a700]
mov ebx, edi
mov esi, dword [esi*4 + 0x64af00]
movzx ebx, bh
xor edx, dword [ebx*4 + 0x64a300]
mov ebx, ebp
movzx ebx, bl
xor esi, dword [ebx*4 + 0x64a300]
mov ebx, ebp
shr ebx, 0x10
movzx ebx, bl
xor esi, dword [ebx*4 + 0x64ab00]
mov ebx, ebp
movzx ebx, bh
xor esi, dword [ebx*4 + 0x64a700]
mov ebx, dword [esp + 0x1c]
xor eax, dword [ebx + 0x58]
xor edx, esi
ror esi, 8
xor eax, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
movzx ebp, bl
xor ecx, dword [eax + 0x5c]
mov eax, ebx
shr eax, 0x10
xor ecx, esi
xor edx, ecx
mov ecx, edx
movzx esi, dl
shr ecx, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ecx*4 + 0x64ab00]
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
xor esi, dword [ecx*4 + 0x64a700]
movzx ecx, dh
xor esi, dword [ecx*4 + 0x64a300]
mov ecx, ebx
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [ebp*4 + 0x64a300]
movzx ebp, al
mov eax, dword [esp + 0x1c]
xor ecx, dword [ebp*4 + 0x64ab00]
movzx ebp, bh
xor ecx, dword [ebp*4 + 0x64a700]
mov ebp, dword [esp]
xor edi, dword [eax + 0x54]
xor ebp, dword [eax + 0x50]
xor esi, ecx
ror ecx, 8
xor edi, ecx
mov ecx, dword [eax + 0x48]
xor ebp, esi
xor esi, edi
mov edi, dword [esp + 0x1c]
and ecx, ebp
rol ecx, 1
xor esi, ecx
mov ecx, dword [eax + 0x4c]
or ecx, esi
xor ecx, ebp
mov ebp, edx
or ebp, dword [edi + 0x44]
mov eax, ecx
mov ecx, esi
shr ecx, 0x18
movzx edi, al
mov dword [esp], eax
xor ebp, ebx
mov ebx, esi
movzx ebx, bl
mov ebx, dword [ebx*4 + 0x64af00]
xor ebx, dword [ecx*4 + 0x64ab00]
mov ecx, esi
shr ecx, 0x10
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x64a700]
mov ecx, esi
movzx ecx, ch
xor ebx, dword [ecx*4 + 0x64a300]
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [edi*4 + 0x64a300]
mov edi, eax
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp]
xor ecx, dword [edi*4 + 0x64ab00]
movzx edi, ah
mov eax, dword [esp + 0x1c]
xor ecx, dword [edi*4 + 0x64a700]
mov edi, ebp
and ebp, dword [eax + 0x40]
xor edi, dword [eax + 0x38]
xor edx, dword [eax + 0x3c]
xor ebx, ecx
rol ebp, 1
xor edi, ebx
xor edx, ebp
ror ecx, 8
mov ebp, edi
xor edx, ebx
mov dword [esp + 4], ebp
xor edx, ecx
mov ecx, edx
movzx ebx, dl
shr ecx, 0x18
mov ebx, dword [ebx*4 + 0x64af00]
xor ebx, dword [ecx*4 + 0x64ab00]
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x64a700]
movzx ecx, dh
xor ebx, dword [ecx*4 + 0x64a300]
mov ecx, edi
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
mov eax, ebx
mov ebx, edi
movzx edi, bl
xor ecx, dword [edi*4 + 0x64a300]
mov edi, ebp
shr edi, 0x10
mov ebx, edi
movzx edi, bl
mov ebx, ebp
xor ecx, dword [edi*4 + 0x64ab00]
movzx edi, bh
mov ebx, dword [esp + 0x1c]
xor ecx, dword [edi*4 + 0x64a700]
mov edi, eax
mov eax, dword [esp]
xor esi, dword [ebx + 0x34]
xor eax, dword [ebx + 0x30]
xor edi, ecx
ror ecx, 8
xor esi, ecx
mov ebp, eax
xor esi, edi
xor ebp, edi
mov ebx, esi
shr esi, 0x18
movzx ecx, bl
mov ecx, dword [ecx*4 + 0x64af00]
xor ecx, dword [esi*4 + 0x64ab00]
mov esi, ebx
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, ebp
xor ecx, dword [esi*4 + 0x64a700]
movzx esi, bh
movzx edi, al
xor ecx, dword [esi*4 + 0x64a300]
mov esi, ebp
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [edi*4 + 0x64a300]
mov edi, ebp
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, ebp
xor esi, dword [edi*4 + 0x64ab00]
movzx edi, ah
mov eax, dword [esp + 0x1c]
xor esi, dword [edi*4 + 0x64a700]
mov edi, ecx
mov ecx, dword [esp + 4]
xor edi, esi
xor ecx, dword [eax + 0x28]
xor edx, dword [eax + 0x2c]
ror esi, 8
xor edx, esi
xor ecx, edi
xor edx, edi
mov dword [esp], ecx
mov ecx, edx
movzx edx, dl
mov esi, ecx
mov edx, dword [edx*4 + 0x64af00]
shr esi, 0x18
xor edx, dword [esi*4 + 0x64ab00]
mov esi, ecx
shr esi, 0x10
mov eax, esi
movzx esi, al
mov eax, dword [esp]
xor edx, dword [esi*4 + 0x64a700]
movzx esi, ch
xor edx, dword [esi*4 + 0x64a300]
mov esi, eax
movzx edi, al
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [edi*4 + 0x64a300]
mov edi, eax
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp]
xor esi, dword [edi*4 + 0x64ab00]
movzx edi, ah
xor esi, dword [edi*4 + 0x64a700]
xor edx, esi
ror esi, 8
mov edi, edx
mov edx, dword [esp + 0x1c]
xor ebx, dword [edx + 0x24]
xor ebp, dword [edx + 0x20]
xor esi, ebx
xor ebp, edi
mov edx, esi
mov dword [esp], ebp
xor edx, edi
mov edi, ebp
mov ebx, edx
movzx esi, dl
shr edi, 0x18
shr ebx, 0x18
mov esi, dword [esi*4 + 0x64af00]
mov ebp, dword [edi*4 + 0x64af00]
xor esi, dword [ebx*4 + 0x64ab00]
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
xor esi, dword [ebx*4 + 0x64a700]
movzx ebx, dh
xor esi, dword [ebx*4 + 0x64a300]
movzx ebx, byte [esp]
xor ebp, dword [ebx*4 + 0x64a300]
mov edi, dword [esp]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
xor ebp, dword [ebx*4 + 0x64ab00]
mov ebx, edi
mov edi, dword [esp + 0x1c]
movzx ebx, bh
xor ebp, dword [ebx*4 + 0x64a700]
xor ecx, dword [edi + 0x1c]
xor eax, dword [edi + 0x18]
xor esi, ebp
ror ebp, 8
xor ecx, ebp
mov ebx, eax
xor ecx, esi
xor ebx, esi
mov eax, ecx
movzx esi, cl
movzx ebp, bl
shr eax, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [eax*4 + 0x64ab00]
mov eax, ecx
shr eax, 0x10
movzx edi, al
mov eax, ebx
xor esi, dword [edi*4 + 0x64a700]
shr eax, 0x18
movzx edi, ch
xor esi, dword [edi*4 + 0x64a300]
mov edi, dword [eax*4 + 0x64af00]
xor edi, dword [ebp*4 + 0x64a300]
mov ebp, ebx
shr ebp, 0x10
mov eax, ebp
movzx ebp, al
mov eax, dword [esp + 0x1c]
xor edi, dword [ebp*4 + 0x64ab00]
movzx ebp, bh
xor edi, dword [ebp*4 + 0x64a700]
mov ebp, dword [esp]
xor edx, dword [eax + 0x14]
xor ebp, dword [eax + 0x10]
xor ebx, dword [eax]
xor ecx, dword [eax + 4]
mov eax, dword [esp + 0x20]
xor esi, edi
ror edi, 8
xor edi, edx
xor ebp, esi
xor esi, edi
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], esi
add esp, 8
pop ebx
pop esi
pop edi
pop ebp
ret