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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov edx, dword [esi]
bswap edx
mov dword [edi], edx
mov ebx, dword [esi + 4]
bswap ebx
mov dword [edi + 4], ebx
mov eax, dword [esi + 8]
bswap eax
mov dword [ebp - 0xc], eax
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
bswap eax
mov dword [ebp - 4], eax
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], edx
mov dword [ebp + 0xc], ebx
cmp eax, 0x80
je 0x506fee
mov edx, dword [esi + 0x10]
bswap edx
mov dword [edi + 0x20], edx
mov ebx, dword [esi + 0x14]
bswap ebx
mov dword [edi + 0x24], ebx
cmp eax, 0xc0
jne 0x506fc7
mov ecx, edx
mov eax, ebx
not ecx
not eax
mov dword [edi + 0x28], ecx
jmp 0x506fd4
mov ecx, dword [esi + 0x18]
bswap ecx
mov dword [edi + 0x28], ecx
mov eax, dword [esi + 0x1c]
bswap eax
xor edx, dword [edi]
xor ebx, dword [edi + 4]
xor ecx, dword [edi + 8]
mov dword [edi + 0x2c], eax
xor eax, dword [edi + 0xc]
mov dword [ebp - 8], edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], eax
xor edx, 0xa09e667f
xor ebx, 0x3bcc908b
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
mov ebx, dword [ebp - 4]
xor ecx, dword [eax*4 + 0x5d94e0]
mov eax, dword [ebp - 0xc]
xor ecx, esi
xor eax, ecx
ror esi, 8
mov edx, eax
mov dword [ebp - 0xc], eax
xor esi, ecx
xor edx, 0xb67ae858
mov eax, edx
xor ebx, esi
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 4], ebx
xor ebx, 0x4caa73b2
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
mov edx, dword [ebp - 8]
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
xor ecx, dword [eax*4 + 0x5d94e0]
mov eax, dword [edi]
xor ecx, esi
xor eax, ecx
ror esi, 8
xor esi, dword [edi + 4]
xor edx, eax
mov eax, dword [ebp + 0xc]
xor esi, ecx
xor eax, esi
mov dword [ebp - 8], edx
mov ebx, eax
mov dword [ebp + 0xc], eax
xor edx, 0xc6ef372f
xor ebx, 0xe94f82be
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
mov edx, dword [ebp - 0xc]
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
xor ecx, dword [eax*4 + 0x5d94e0]
mov eax, dword [edi + 8]
xor ecx, esi
mov dword [ebp - 0x10], eax
xor eax, ecx
xor edx, eax
ror esi, 8
xor esi, dword [edi + 0xc]
mov eax, dword [ebp - 4]
xor esi, ecx
xor eax, esi
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
mov ebx, eax
xor edx, 0x54ff53a5
xor ebx, 0xf1d36f1c
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
mov edx, dword [ebp - 8]
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
mov ebx, dword [ebp - 4]
xor ecx, dword [eax*4 + 0x5d94e0]
xor ecx, esi
ror esi, 8
xor edx, ecx
xor esi, ecx
mov ecx, dword [ebp + 0xc]
xor ecx, esi
mov dword [ebp - 8], edx
cmp dword [ebp + 8], 0x80
mov dword [ebp + 0xc], ecx
jne 0x50756e
mov esi, dword [ebp - 8]
mov eax, esi
mov dword [edi + 0x14], ecx
mov dword [edi + 0x10], edx
mov edx, dword [ebp - 0xc]
shl dword [ebp - 0xc], 0xf
mov dword [edi + 0x18], edx
shl esi, 0xf
mov dword [edi + 0x1c], ebx
shr ecx, 0x11
or ecx, esi
shr edx, 0x11
mov esi, dword [ebp + 0xc]
shl esi, 0xf
or edx, esi
mov dword [edi + 0x30], ecx
mov esi, ebx
shr eax, 0x11
shl ebx, 0xf
or ebx, eax
mov dword [edi + 0x34], edx
mov dword [edi + 0x3c], ebx
mov eax, ecx
shr esi, 0x11
or esi, dword [ebp - 0xc]
mov dword [edi + 0x38], esi
mov edi, edx
mov dword [ebp - 4], ebx
mov ebx, esi
shl ecx, 0xf
shr ebx, 0x11
shr edi, 0x11
or edi, ecx
shl edx, 0xf
mov ecx, dword [ebp - 4]
or ebx, edx
shr eax, 0x11
mov edx, ecx
shl ecx, 0xf
or ecx, eax
shl esi, 0xf
mov eax, dword [ebp + 0x10]
shr edx, 0x11
or edx, esi
mov dword [ebp - 4], ecx
mov dword [ebp + 8], edx
mov esi, dword [ebp + 8]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x4c], ecx
mov ecx, ebx
mov dword [eax + 0x40], edi
mov dword [eax + 0x48], edx
mov eax, edi
shl ebx, 0xf
shl edi, 0xf
shr ecx, 0x11
or ecx, edi
shr edx, 0x11
or edx, ebx
shr eax, 0x11
mov ebx, dword [ebp - 4]
mov edi, ebx
shl ebx, 0xf
or ebx, eax
shl esi, 0xf
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], ebx
mov ebx, edx
shr edi, 0x11
or edi, esi
shr ebx, 0x11
mov dword [eax + 0x60], ecx
mov esi, edi
mov dword [eax + 0x64], edx
mov eax, ecx
shl ecx, 0xf
or ebx, ecx
shr eax, 0x11
shr esi, 0x11
mov dword [ebp + 8], ebx
shl edx, 0xf
mov ecx, dword [ebp - 4]
or esi, edx
mov edx, ecx
shl edi, 0xf
shl ecx, 0xf
or ecx, eax
shr edx, 0x11
mov eax, dword [ebp + 0x10]
or edx, edi
mov dword [ebp - 4], ecx
mov edi, edx
shr edi, 0x1e
mov dword [eax + 0x7c], ecx
mov ecx, esi
mov dword [eax + 0x78], edx
mov dword [eax + 0x74], esi
mov dword [eax + 0x70], ebx
lea eax, [esi*4]
mov ebx, dword [ebp - 4]
or edi, eax
lea eax, [edx*4]
shr ecx, 0x1e
mov edx, dword [ebp + 8]
mov esi, ebx
shr esi, 0x1e
or esi, eax
shl ebx, 2
mov eax, edx
shl edx, 2
shr eax, 0x1e
or edx, ecx
or ebx, eax
mov ecx, edi
mov eax, dword [ebp + 0x10]
shr ecx, 0xf
mov dword [eax + 0xa0], edi
mov dword [eax + 0xac], edx
mov dword [eax + 0xa4], esi
mov dword [eax + 0xa8], ebx
mov eax, esi
shr eax, 0xf
shl edi, 0x11
or eax, edi
shl esi, 0x11
mov edi, dword [ebp + 0x10]
mov dword [edi + 0xc0], eax
mov eax, ebx
shr eax, 0xf
or eax, esi
shl ebx, 0x11
mov esi, dword [ebp - 0x10]
shl dword [ebp - 0x10], 0xf
mov dword [edi + 0xc4], eax
mov eax, edx
shr eax, 0xf
or ebx, eax
shl edx, 0x11
mov dword [edi + 0xc8], ebx
or edx, ecx
mov ebx, edi
shr esi, 0x11
mov edi, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, ecx
mov dword [ebx + 0xcc], edx
mov edx, edi
shl ecx, 0xf
shl edi, 0xf
shr edx, 0x11
or esi, edi
or edx, ecx
shr eax, 0x11
mov ecx, dword [ebx + 0xc]
mov edi, ecx
shr edi, 0x11
or edi, dword [ebp - 0x10]
shl ecx, 0xf
or ecx, eax
mov dword [ebx + 0x20], edx
mov dword [ebp + 8], ecx
mov dword [ebx + 0x24], esi
mov dword [ebx + 0x2c], ecx
mov eax, esi
shr eax, 2
mov ecx, edx
shl edx, 0x1e
or edx, eax
shl esi, 0x1e
mov eax, edi
mov dword [ebx + 0x28], edi
shr eax, 2
or esi, eax
shl edi, 0x1e
mov eax, dword [ebp + 8]
shr eax, 2
or edi, eax
shr ecx, 2
mov eax, dword [ebp + 8]
shl eax, 0x1e
or eax, ecx
mov dword [ebx + 0x50], edx
mov ecx, esi
mov dword [ebp + 8], eax
mov dword [ebx + 0x5c], eax
mov eax, edx
mov dword [ebx + 0x54], esi
shl edx, 0xf
shr ecx, 0x11
or ecx, edx
shl esi, 0xf
mov edx, edi
mov dword [ebx + 0x58], edi
shr edx, 0x11
or edx, esi
shl edi, 0xf
mov esi, dword [ebp + 8]
shr esi, 0x11
or esi, edi
shr eax, 0x11
mov edi, dword [ebp + 8]
shl edi, 0xf
or edi, eax
mov dword [ebx + 0x68], esi
mov dword [ebp + 8], edi
mov eax, ecx
mov dword [ebx + 0x6c], edi
mov edi, edx
shl ecx, 0x11
shr edi, 0xf
or edi, ecx
shl edx, 0x11
mov ecx, esi
shr eax, 0xf
shr ecx, 0xf
or ecx, edx
shl esi, 0x11
mov edx, dword [ebp + 8]
shr edx, 0xf
or edx, esi
mov dword [ebx + 0x80], edi
mov esi, dword [ebp + 8]
shl esi, 0x11
or esi, eax
mov dword [ebx + 0x84], ecx
mov dword [ebx + 0x8c], esi
mov eax, edi
mov dword [ebp + 8], esi
mov esi, ecx
shl edi, 0x11
shr esi, 0xf
or esi, edi
shl ecx, 0x11
mov edi, edx
mov dword [ebx + 0x88], edx
shr edi, 0xf
or edi, ecx
shl edx, 0x11
mov ecx, dword [ebp + 8]
mov ebx, ecx
shr ebx, 0xf
shr eax, 0xf
or ebx, edx
shl ecx, 0x11
mov edx, esi
or ecx, eax
shr edx, 0xf
mov eax, dword [ebp + 0x10]
mov dword [ebp + 8], ecx
mov dword [eax + 0x9c], ecx
mov ecx, edi
mov dword [eax + 0x90], esi
mov dword [eax + 0x94], edi
mov dword [eax + 0x98], ebx
mov eax, ebx
shr ecx, 0xf
shl esi, 0x11
or ecx, esi
shr eax, 0xf
mov esi, dword [ebp + 0x10]
shl edi, 0x11
or eax, edi
shl ebx, 0x11
pop edi
mov dword [esi + 0xb0], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0xb4], eax
mov eax, ecx
shr eax, 0xf
or eax, ebx
shl ecx, 0x11
or ecx, edx
mov dword [esi + 0xb8], eax
mov dword [esi + 0xbc], ecx
mov eax, 3
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x38], eax
mov dword [edi + 0x34], ecx
xor ecx, dword [edi + 0x24]
mov dword [edi + 0x30], edx
xor edx, dword [edi + 0x20]
mov dword [ebp + 0xc], ecx
mov dword [ebp - 8], edx
xor edx, 0x10e527fa
mov eax, edx
mov dword [edi + 0x3c], ebx
shr eax, 0x10
mov ebx, ecx
movzx ecx, al
xor ebx, 0xde682d1d
mov eax, edx
mov edi, dword [edi + 0x28]
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
mov edx, dword [ebp - 0xc]
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
xor ecx, dword [eax*4 + 0x5d94e0]
mov eax, edi
xor ecx, esi
ror esi, 8
xor eax, ecx
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], edx
xor edx, 0xb05688c2
mov eax, dword [eax + 0x2c]
xor esi, eax
mov dword [ebp + 8], eax
xor esi, ecx
mov eax, dword [ebp - 4]
xor eax, esi
mov ebx, eax
mov dword [ebp - 4], eax
mov eax, edx
xor ebx, 0xb3e6c1fd
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x5d9ce0]
xor esi, dword [eax*4 + 0x5da0e0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x5d94e0]
movzx eax, dl
xor esi, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x5da0e0]
xor ecx, dword [eax*4 + 0x5d98e0]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x5d9ce0]
movzx eax, bl
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
xor ecx, dword [eax*4 + 0x5d94e0]
mov eax, dword [ebp - 8]
xor ecx, esi
xor eax, ecx
ror esi, 8
xor esi, ecx
mov ecx, dword [ebp + 0xc]
xor ecx, esi
mov esi, dword [ebp + 0x10]
mov dword [ebp + 0xc], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov ecx, eax
shl eax, 0x1e
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
shl dword [ebp + 0xc], 0x1e
shr eax, 2
or dword [ebp - 8], eax
mov eax, ebx
shr eax, 2
or dword [ebp + 0xc], eax
mov eax, edx
shr eax, 2
mov dword [esi + 0x1c], edx
shr ecx, 2
mov dword [esi + 0x18], ebx
shl ebx, 0x1e
or ebx, eax
shl edx, 0x1e
mov eax, dword [ebp - 8]
or edx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov ecx, eax
shl eax, 0x1e
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
shl dword [ebp + 0xc], 0x1e
shr eax, 2
or dword [ebp - 8], eax
mov eax, ebx
shr eax, 2
or dword [ebp + 0xc], eax
mov eax, edx
shr eax, 2
mov dword [esi + 0x58], ebx
shl ebx, 0x1e
or ebx, eax
mov dword [esi + 0x5c], edx
mov eax, dword [ebp - 8]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xc]
shl dword [ebp + 0xc], 0x13
mov dword [esi + 0xa4], eax
shr ecx, 2
shl edx, 0x1e
or edx, ecx
mov dword [esi + 0xa8], ebx
mov ecx, eax
mov dword [esi + 0xac], edx
mov eax, ebx
shr ecx, 0xd
shr eax, 0xd
or eax, dword [ebp + 0xc]
mov dword [esi + 0x100], eax
mov eax, edx
shr eax, 0xd
shl ebx, 0x13
or eax, ebx
shl edx, 0x13
mov ebx, dword [ebp - 8]
mov dword [esi + 0x104], eax
mov eax, ebx
shr eax, 0xd
or edx, eax
mov dword [esi + 0x108], edx
mov edx, dword [esi + 0x20]
mov eax, edx
shl ebx, 0x13
or ebx, ecx
shl edx, 0xf
mov dword [esi + 0x10c], ebx
mov ebx, dword [esi + 0x24]
mov ecx, ebx
shr ecx, 0x11
or ecx, edx
shr eax, 0x11
mov edx, edi
shl ebx, 0xf
shr edx, 0x11
or edx, ebx
shl edi, 0xf
mov ebx, dword [ebp + 8]
mov esi, ebx
shl ebx, 0xf
or ebx, eax
shr esi, 0x11
mov eax, dword [ebp + 0x10]
or esi, edi
mov edi, edx
shr edi, 0x11
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ebx
mov eax, ecx
shl ecx, 0xf
or edi, ecx
shl edx, 0xf
mov dword [ebp + 0xc], edi
mov edi, esi
shr eax, 0x11
shr edi, 0x11
or edi, edx
shl esi, 0xf
mov edx, ebx
shr ebx, 0x11
shl edx, 0xf
or ebx, esi
mov esi, dword [ebp + 0xc]
or edx, eax
mov eax, dword [ebp + 0x10]
mov ecx, esi
shr ecx, 2
mov dword [eax + 0x4c], edx
mov dword [eax + 0x44], edi
mov dword [eax + 0x40], esi
mov dword [eax + 0x48], ebx
mov eax, edi
shr eax, 2
shl esi, 0x1e
or esi, eax
shl edi, 0x1e
mov eax, ebx
shl ebx, 0x1e
shr eax, 2
or edi, eax
mov eax, edx
shr eax, 2
or ebx, eax
shl edx, 0x1e
mov eax, dword [ebp + 0x10]
or edx, ecx
mov dword [ebp + 8], edx
mov ecx, ebx
shr ecx, 0x1e
mov dword [eax + 0x9c], edx
mov edx, edi
mov dword [eax + 0x94], edi
mov dword [eax + 0x90], esi
mov dword [eax + 0x98], ebx
lea eax, [edi*4]
mov edi, dword [ebp + 8]
shr edx, 0x1e
or ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xd0], ecx
mov ecx, edi
lea eax, [ebx*4]
mov ebx, dword [ebp + 0x10]
shr ecx, 0x1e
or ecx, eax
mov eax, esi
shr eax, 0x1e
mov dword [ebx + 0xd4], ecx
lea ecx, [edi*4]
or ecx, eax
lea eax, [esi*4]
mov esi, dword [ebx + 0x3c]
or eax, edx
mov edx, dword [ebx + 0x38]
mov dword [ebx + 0xdc], eax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0xd8], ecx
mov ecx, dword [ebx + 0x34]
mov edi, ecx
mov dword [ebp + 8], esi
mov esi, eax
shl eax, 0xf
shr edi, 0x11
or edi, eax
shr esi, 0x11
mov eax, dword [ebp + 8]
mov ebx, eax
shl eax, 0xf
or eax, esi
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], eax
mov edi, edx
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
shr edi, 0x11
shl ecx, 0xf
mov dword [eax + 0x3c], esi
or edi, ecx
mov dword [eax + 0x34], edi
shl edx, 0xf
shr ebx, 0x11
or ebx, edx
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x38], ebx
mov ecx, edx
mov dword [eax + 0x30], edx
mov eax, edi
shr eax, 2
shl edx, 0x1e
or edx, eax
shl edi, 0x1e
mov eax, ebx
shr ecx, 2
shr eax, 2
or edi, eax
shl ebx, 0x1e
mov eax, esi
shl esi, 0x1e
shr eax, 2
or esi, ecx
or ebx, eax
mov ecx, edi
mov eax, dword [ebp + 0x10]
shr ecx, 0xf
mov dword [eax + 0x74], edi
mov dword [eax + 0xc0], edi
mov dword [eax + 0x78], ebx
mov dword [eax + 0xc4], ebx
mov dword [eax + 0x70], edx
mov dword [eax + 0x7c], esi
mov dword [eax + 0xc8], esi
mov dword [eax + 0xcc], edx
mov eax, ebx
shr eax, 0xf
shl edi, 0x11
or eax, edi
mov edi, dword [ebp + 0x10]
mov dword [edi + 0xe0], eax
mov eax, esi
shr eax, 0xf
shl ebx, 0x11
or eax, ebx
shl esi, 0x11
mov ebx, edi
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0xe4], eax
mov eax, edx
shr eax, 0xf
or esi, eax
shl edx, 0x11
mov eax, dword [ebx + 4]
or edx, ecx
mov ecx, eax
mov dword [ebx + 0xec], edx
mov edx, dword [ebp - 0x10]
shl eax, 0xd
mov dword [ebx + 0xe8], esi
mov esi, edi
shr edx, 0x13
or edx, eax
shr esi, 0x13
mov eax, dword [ebp - 0x10]
shl eax, 0xd
or esi, eax
shl edi, 0xd
mov eax, dword [ebx]
shr eax, 0x13
or edi, eax
mov dword [ebx + 0x60], edx
mov eax, dword [ebx]
shl eax, 0xd
mov dword [ebp + 8], edi
mov dword [ebx + 0x68], edi
mov edi, esi
shr ecx, 0x13
or eax, ecx
mov dword [ebx + 0x64], esi
mov ecx, edx
shr edi, 0x11
shl edx, 0xf
or edi, edx
mov dword [ebx + 0x6c], eax
mov edx, dword [ebp + 8]
shl esi, 0xf
shr edx, 0x11
or edx, esi
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 8]
shr eax, 0x11
shl esi, 0xf
or esi, eax
shr ecx, 0x11
mov eax, dword [ebp + 0xc]
shl eax, 0xf
or eax, ecx
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x8c], eax
mov ecx, edi
mov dword [ebx + 0x80], edi
mov dword [ebx + 0x88], esi
mov ebx, edx
mov dword [ebp + 8], esi
shl edx, 0x11
shr esi, 0xf
or esi, edx
mov dword [ebp + 0xc], eax
mov edx, dword [ebp + 8]
shr eax, 0xf
shl edi, 0x11
shl edx, 0x11
or edx, eax
shr ebx, 0xf
mov eax, dword [ebp + 0xc]
or ebx, edi
mov edi, dword [ebp + 0x10]
shr ecx, 0xf
shl eax, 0x11
or eax, ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
mov dword [edi + 0xb0], ebx
mov dword [edi + 0xb4], esi
mov ecx, dword [ebp + 8]
mov dword [edi + 0xbc], eax
lea eax, [esi*4]
shr ecx, 0x1e
or ecx, eax
mov dword [edi + 0xb8], edx
mov eax, dword [ebp + 8]
mov edx, esi
mov esi, dword [ebp + 0xc]
mov dword [edi + 0xf0], ecx
shr edx, 0x1e
lea ecx, [eax*4]
mov eax, esi
shr eax, 0x1e
or ecx, eax
lea eax, [esi*4]
mov dword [edi + 0xf4], ecx
mov ecx, ebx
shr ecx, 0x1e
or ecx, eax
lea eax, [ebx*4]
or eax, edx
mov dword [edi + 0xf8], ecx
mov dword [edi + 0xfc], eax
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret