Function at 0x536ec0
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]
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x1c]
xor esi, dword [eax + 4]
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 + 0x10]
mov eax, dword [esp + 0x20]
mov ebp, dword [eax + 0xc]
mov eax, dword [esp + 0x1c]
xor ebx, ecx
xor ebp, dword [eax + 0x14]
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 + 0x18]
xor edx, ecx
xor edi, edx
mov ebp, edx
mov edx, dword [esp + 0x1c]
ror ecx, 8
mov eax, edi
xor esi, dword [edx + 0x1c]
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 + 0x20]
mov esi, dword [esp]
xor esi, dword [ebp + 0x24]
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 + 0x28]
xor edx, dword [esi + 0x2c]
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 + 0x30]
xor edi, esi
ror esi, 8
mov edx, ebx
mov ebx, dword [esp]
xor ebx, dword [ecx + 0x34]
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 + 0x38]
xor ebx, esi
ror esi, 8
mov edi, eax
mov eax, dword [esp + 0x1c]
xor edi, ebx
xor ebp, dword [eax + 0x3c]
xor ebp, esi
xor ebx, ebp
mov ebp, dword [eax + 0x40]
and ebp, edi
rol ebp, 1
xor ebp, ebx
mov ebx, dword [eax + 0x44]
or ebx, ebp
xor ebx, edi
mov edi, dword [esp + 0x1c]
mov eax, ebx
mov ebx, ecx
or ebx, dword [edi + 0x4c]
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 + 0x48]
xor edi, dword [eax + 0x50]
xor ecx, dword [eax + 0x54]
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 + 0x5c]
xor eax, dword [edx + 0x58]
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 + 0x60]
xor ecx, dword [eax + 0x64]
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 + 0x6c]
xor edi, dword [ebp + 0x68]
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 + 0x70]
xor edx, esi
ror esi, 8
xor eax, edx
mov ecx, eax
mov eax, dword [esp + 0x1c]
movzx edi, cl
xor ebx, dword [eax + 0x74]
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 + 0x7c]
xor edi, dword [eax + 0x78]
xor esi, ebx
ror ebx, 8
xor ebp, ebx
mov ebx, dword [eax + 0x80]
xor edi, esi
xor esi, ebp
and ebx, edi
rol ebx, 1
xor esi, ebx
mov ebx, dword [eax + 0x84]
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 + 0x8c]
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 + 0x88]
xor ebp, dword [eax + 0x90]
xor edx, dword [eax + 0x94]
xor ebx, ecx
ror ecx, 8
rol edi, 1
xor ebp, ebx
xor edx, edi
mov dword [esp + 4], ebp
xor edx, ebx
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, ebp
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x64af00]
mov eax, ebx
mov ebx, ebp
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
xor ecx, dword [edi*4 + 0x64a700]
mov edi, eax
mov eax, dword [esp]
xor edi, ecx
mov ebp, edi
mov edi, dword [esp + 0x1c]
xor eax, dword [edi + 0x98]
mov edi, eax
mov eax, dword [esp + 0x1c]
xor edi, ebp
ror ecx, 8
xor esi, dword [eax + 0x9c]
xor esi, ecx
xor esi, ebp
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, edi
xor ecx, dword [esi*4 + 0x64a700]
movzx esi, bh
movzx ebp, al
xor ecx, dword [esi*4 + 0x64a300]
mov eax, edi
mov esi, edi
shr eax, 0x10
shr esi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [ebp*4 + 0x64a300]
movzx ebp, al
mov eax, edi
xor esi, dword [ebp*4 + 0x64ab00]
movzx ebp, ah
mov eax, dword [esp + 0x1c]
xor esi, dword [ebp*4 + 0x64a700]
xor edx, dword [eax + 0xa4]
xor ecx, esi
ror esi, 8
mov ebp, ecx
mov ecx, dword [esp + 4]
xor ecx, dword [eax + 0xa0]
xor edx, esi
xor edx, ebp
xor ecx, ebp
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
xor edx, dword [esi*4 + 0x64a700]
movzx esi, ch
xor edx, dword [esi*4 + 0x64a300]
mov eax, dword [esp]
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]
xor edx, esi
ror esi, 8
mov ebp, edx
mov edx, dword [esp + 0x1c]
xor ebx, dword [edx + 0xac]
xor edi, dword [edx + 0xa8]
xor esi, ebx
xor edi, ebp
mov edx, esi
xor edx, ebp
mov ebp, edi
shr edi, 0x18
mov ebx, edx
movzx esi, dl
mov edi, dword [edi*4 + 0x64af00]
shr ebx, 0x18
mov esi, dword [esi*4 + 0x64af00]
mov dword [esp], ebp
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, ebp
movzx ebx, bl
xor edi, dword [ebx*4 + 0x64a300]
mov ebx, ebp
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x64ab00]
mov ebx, ebp
movzx ebx, bh
xor edi, dword [ebx*4 + 0x64a700]
mov ebx, dword [esp + 0x1c]
xor eax, dword [ebx + 0xb0]
xor esi, edi
ror edi, 8
mov ebx, eax
mov eax, dword [esp + 0x1c]
xor ebx, esi
movzx ebp, bl
xor ecx, dword [eax + 0xb4]
xor ecx, edi
xor ecx, esi
mov edi, ecx
movzx esi, cl
shr edi, 0x18
mov esi, dword [esi*4 + 0x64af00]
xor esi, dword [edi*4 + 0x64ab00]
mov edi, ecx
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, ebx
xor esi, dword [edi*4 + 0x64a700]
movzx edi, ch
shr eax, 0x10
xor esi, dword [edi*4 + 0x64a300]
mov edi, ebx
shr edi, 0x18
mov edi, dword [edi*4 + 0x64af00]
xor edi, dword [ebp*4 + 0x64a300]
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 ebp, dword [eax + 0xb8]
xor edx, dword [eax + 0xbc]
xor ebx, dword [eax + 0xc0]
xor ecx, dword [eax + 0xc4]
xor esi, edi
mov eax, dword [esp + 0x20]
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