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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp dword [ebp + 0xc], 0x18
push ebx
sbb eax, eax
mov ebx, ecx
add eax, 4
push esi
push edi
mov dword [ebx + 0x10], eax
mov ecx, dword [ebx + 0x18]
lea eax, [eax*8 + 2]
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x44], eax
add eax, eax
mov dword [esp + 0x3c], eax
cmp ecx, eax
je 0x465ea8
mov edi, edx
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.0068c018
add esp, 4
lea ecx, [ebx + 0x14]
push 0
push dword [esp + 0x40]
call fcn.00458bc0
mov edx, eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x18], eax
lea ecx, [ebx + 4]
mov dword [ebx + 0x1c], edx
mov esi, edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
mov cl, al
xor edx, edx
mov eax, dword [ebp + 8]
test cl, cl
setne dl
dec edx
mov ebx, dword [eax + 4]
mov edi, dword [eax]
bswap ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
bswap eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x10], edx
bswap ebx
mov dword [esp + 0x2c], ebx
xor ebx, ebx
test cl, cl
bswap edi
cmovne eax, ebx
mov dword [esp + 0x34], edi
lea ebx, [esi + eax*8]
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x2c]
xor eax, eax
or eax, dword [esp + 0x30]
xor ecx, ecx
or ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, edx
and eax, 0xfffffff0
mov dword [esp + 0x14], ebx
add eax, ebx
mov dword [esp + 0x20], ecx
xor edx, edx
mov dword [esp + 0x24], esi
cmp dword [ebp + 0xc], 0x10
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov eax, dword [esp + 0x1c]
mov dword [ebx], eax
mov dword [ebx + 4], esi
jne 0x466590
mov ecx, dword [esp + 0x24]
mov esi, edi
shld ecx, eax, 0xf
mov edi, dword [esp + 0x10]
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x18]
shr esi, 0x11
or esi, eax
mov eax, edi
and eax, 0xffffffc0
mov dword [eax + ebx + 0x20], esi
mov dword [eax + ebx + 0x24], edx
xor edx, edx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
shld ecx, eax, 0xf
shr esi, 0x11
shl eax, 0xf
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x18]
mov eax, edi
and eax, 0xffffffb0
mov dword [eax + ebx + 0x28], esi
mov dword [eax + ebx + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
shrd eax, ecx, 0x13
shl esi, 0xd
or edx, eax
shr ecx, 0x13
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x24]
and eax, 0xffffff60
mov dword [eax + ebx + 0x50], edx
xor edx, edx
mov dword [eax + ebx + 0x54], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
shrd eax, ecx, 0x13
shl esi, 0xd
or edx, eax
shr ecx, 0x13
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x18]
and eax, 0xffffff50
mov dword [eax + ebx + 0x58], edx
xor edx, edx
mov dword [eax + ebx + 0x5c], esi
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x24]
and eax, 0xffffff40
mov dword [eax + ebx + 0x60], edx
xor edx, edx
mov dword [eax + ebx + 0x64], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
shld ecx, eax, 0xd
shr esi, 0x13
shl eax, 0xd
or edx, ecx
or esi, eax
mov eax, edi
and eax, 0xfffffef0
mov dword [eax + ebx + 0x88], esi
mov esi, dword [esp + 0x24]
mov dword [eax + ebx + 0x8c], edx
mov eax, dword [esp + 0x20]
shr esi, 0x13
xor edx, edx
mov ecx, dword [esp + 0x18]
shld ecx, eax, 0xd
xor dword [esp + 0x28], 0x3bcc908b
shl eax, 0xd
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x1c]
mov eax, edi
and eax, 0xffffff00
mov dword [eax + ebx + 0x80], esi
mov dword [eax + ebx + 0x84], edx
mov esi, dword [esp + 0x24]
mov edx, esi
mov eax, dword [esp + 0x18]
shr eax, 2
shld edx, ecx, 0x1e
shr esi, 2
shl ecx, 0x1e
or ecx, eax
mov eax, edi
and eax, 0xfffffed0
mov dword [eax + ebx + 0x98], ecx
mov dword [eax + ebx + 0x9c], edx
xor edx, edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
shld ecx, eax, 0x1e
shl eax, 0x1e
or edx, ecx
or esi, eax
xor ecx, ecx
mov eax, edi
mov edi, dword [esp + 0x18]
and eax, 0xfffffee0
mov dword [eax + ebx + 0x90], esi
mov dword [eax + ebx + 0x94], edx
mov esi, dword [esp + 0x20]
mov eax, esi
mov edx, dword [esp + 0x1c]
shrd eax, edi, 0x11
shl edx, 0xf
or ecx, eax
shr edi, 0x11
mov eax, dword [esp + 0x10]
or edx, edi
and eax, 0xfffffe90
shl esi, 0xf
mov dword [eax + ebx + 0xb8], ecx
xor ecx, ecx
mov dword [eax + ebx + 0xbc], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
shrd edx, eax, 0x11
shr eax, 0x11
or ecx, edx
mov edx, dword [esp + 0x34]
or esi, eax
mov eax, dword [esp + 0x10]
xor edx, 0xa09e667f
and eax, 0xfffffea0
mov dword [eax + ebx + 0xb0], ecx
mov dword [eax + ebx + 0xb4], esi
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ebx, dword [ecx*4 + 0x764550]
xor ebx, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor ebx, dword [eax*4 + 0x764150]
movzx eax, dl
mov edx, dword [esp + 0x28]
xor ebx, dword [eax*4 + 0x764d50]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
mov ecx, dword [ecx*4 + 0x764950]
movzx eax, al
xor ecx, dword [eax*4 + 0x764d50]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, dl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, ebx
ror ebx, 8
mov edi, ecx
xor ebx, ecx
xor edi, dword [esp + 0x2c]
xor ebx, dword [esp + 0x30]
mov edx, edi
xor edx, 0xb67ae858
mov dword [esp + 0x44], ebx
mov eax, edx
xor ebx, 0x4caa73b2
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, esi
ror esi, 8
mov edx, ecx
mov dword [esp + 0x3c], ecx
xor esi, ecx
xor edx, 0xc6ef372f
mov eax, edx
mov dword [esp + 0x40], esi
shr eax, 0x10
mov ebx, esi
movzx ecx, al
xor ebx, 0xe94f82be
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, esi
mov eax, ecx
xor eax, edi
ror esi, 8
xor eax, dword [esp + 0x2c]
xor esi, ecx
mov edx, eax
mov dword [esp + 0x20], eax
xor esi, dword [esp + 0x44]
xor edx, 0x54ff53a5
xor esi, dword [esp + 0x30]
mov eax, edx
shr eax, 0x10
mov ebx, esi
movzx ecx, al
xor ebx, 0xf1d36f1c
mov eax, edx
shr eax, 8
movzx eax, al
mov edi, dword [ecx*4 + 0x764550]
xor edi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor edi, dword [eax*4 + 0x764150]
movzx eax, dl
xor edi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ebx, ebx
or ebx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
xor ecx, dword [eax*4 + 0x764150]
mov eax, dword [esp + 0x10]
xor ecx, edi
and eax, 0xffffffd0
ror edi, 8
xor edi, ecx
xor ecx, dword [esp + 0x3c]
xor edi, dword [esp + 0x40]
mov dword [esp + 0x24], edi
xor edi, edi
mov edx, dword [esp + 0x24]
or edi, ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + esi + 0x18], edx
mov dword [eax + esi + 0x1c], edi
mov eax, dword [esp + 0x10]
and eax, 0xffffffe0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
xor edx, edx
mov dword [esp + 0x3c], edi
mov dword [eax + esi + 0x10], ebx
mov dword [eax + esi + 0x14], ecx
mov eax, ebx
shld ecx, eax, 0xf
mov esi, edi
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x14]
shr esi, 0x11
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffffa0
mov dword [eax + ecx + 0x30], esi
mov esi, dword [esp + 0x20]
mov dword [eax + ecx + 0x34], edx
xor edx, edx
mov eax, dword [esp + 0x24]
mov ecx, edi
shr esi, 0x11
shld ecx, eax, 0xf
shl eax, 0xf
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
and eax, 0xffffff90
mov dword [eax + ecx + 0x38], esi
mov esi, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + esi + 0x3c], edx
mov edx, ebx
shld edx, ecx, 0x1e
mov eax, edi
shr ebx, 2
shr eax, 2
shl ecx, 0x1e
or ecx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x10]
and eax, 0xffffff80
mov dword [esp + 0x44], ecx
mov dword [eax + esi + 0x40], ecx
mov ecx, edi
mov dword [eax + esi + 0x44], edx
xor edi, edi
mov eax, dword [esp + 0x24]
xor edx, edx
shld ecx, eax, 0x1e
shl eax, 0x1e
or edi, ecx
mov ecx, dword [esp + 0x20]
or ebx, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffff70
mov dword [eax + esi + 0x48], ebx
mov dword [eax + esi + 0x4c], edi
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
shrd eax, ecx, 0x13
shl esi, 0xd
or edx, eax
shr ecx, 0x13
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xffffff30
mov dword [eax + ecx + 0x68], edx
xor edx, edx
mov dword [eax + ecx + 0x6c], esi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xffffff20
mov dword [eax + ecx + 0x70], edx
xor edx, edx
mov dword [eax + ecx + 0x74], esi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xffffff10
mov dword [eax + ecx + 0x78], edx
mov edx, ecx
mov dword [eax + edx + 0x7c], esi
mov esi, dword [esp + 0x10]
mov eax, esi
and eax, 0xfffffeb0
mov ecx, dword [esp + 0x44]
and esi, 0xfffffec0
mov dword [eax + edx + 0xa8], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + edx + 0xac], ecx
xor ecx, ecx
mov dword [esi + edx + 0xa0], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esi + edx + 0xa4], edi
mov edi, dword [esp + 0x24]
mov eax, edi
mov esi, dword [esp + 0x30]
mov edx, esi
shrd eax, ebx, 0x11
shl edx, 0xf
or ecx, eax
shr ebx, 0x11
mov eax, dword [esp + 0x10]
or edx, ebx
mov ebx, dword [esp + 0x14]
and eax, 0xfffffe80
shl edi, 0xf
mov dword [eax + ebx + 0xc0], ecx
mov ecx, dword [esp + 0x20]
shrd esi, ecx, 0x11
mov dword [eax + ebx + 0xc4], edx
xor eax, eax
shr ecx, 0x11
or eax, esi
or edi, ecx
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffe70
mov dword [ecx + ebx + 0xc8], eax
mov dword [ecx + ebx + 0xcc], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, eax
mov eax, ecx
shl esi, 0xd
mov ecx, edi
shrd eax, ecx, 0x13
mov edi, dword [esp + 0x10]
or edx, eax
shr ecx, 0x13
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x24]
and eax, 0xffffff40
mov dword [eax + ebx + 0x60], edx
xor edx, edx
mov dword [eax + ebx + 0x64], esi
mov eax, dword [esp + 0x1c]
shrd eax, ecx, 0x13
mov esi, dword [esp + 0x20]
or edx, eax
shl esi, 0xd
shr ecx, 0x13
mov eax, edi
or esi, ecx
and eax, 0xffffff30
mov ecx, dword [esp + 0x18]
mov dword [eax + ebx + 0x68], edx
xor edx, edx
mov dword [eax + ebx + 0x6c], esi
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x24]
and eax, 0xffffff00
mov dword [eax + ebx + 0x80], edx
xor edx, edx
mov dword [eax + ebx + 0x84], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x24]
and eax, 0xfffffef0
mov dword [eax + ebx + 0x88], edx
xor edx, edx
mov dword [eax + ebx + 0x8c], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
shld ecx, eax, 0xd
shr esi, 0x13
shl eax, 0xd
or edx, ecx
mov ecx, dword [esp + 0x18]
or esi, eax
mov eax, edi
and eax, 0xfffffe90
mov dword [eax + ebx + 0xb8], esi
mov esi, dword [esp + 0x24]
mov dword [eax + ebx + 0xbc], edx
xor edx, edx
mov eax, dword [esp + 0x20]
shld ecx, eax, 0xd
shr esi, 0x13
shl eax, 0xd
or edx, ecx
or esi, eax
xor ecx, ecx
mov eax, edi
and eax, 0xfffffea0
mov dword [eax + ebx + 0xb0], esi
mov dword [eax + ebx + 0xb4], edx
mov edx, dword [esp + 0x1c]
shl edx, 0xf
mov esi, dword [esp + 0x20]
mov eax, esi
mov edi, dword [esp + 0x18]
shrd eax, edi, 0x11
shl esi, 0xf
or ecx, eax
shr edi, 0x11
mov eax, dword [esp + 0x10]
or edx, edi
and eax, 0xfffffe10
mov dword [eax + ebx + 0xf8], ecx
xor ecx, ecx
mov dword [eax + ebx + 0xfc], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
shrd edx, eax, 0x11
shr eax, 0x11
or ecx, edx
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xfffffe20
cmp dword [ebp + 0xc], 0x18
mov dword [eax + ebx + 0xf0], ecx
mov dword [eax + ebx + 0xf4], esi
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
bswap ebx
bswap esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], esi
jne 0x46672f
mov ecx, ebx
mov edx, esi
not ecx
not edx
jmp 0x466739
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
bswap ecx
bswap edx
xor eax, eax
mov dword [esp + 0x1c], ecx
or eax, esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x3c], edx
or ebx, edx
mov dword [esp + 0x24], edi
mov eax, ebx
mov dword [esp + 0x18], ebx
shld ecx, eax, 0xf
mov esi, edi
xor edx, edx
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x14]
shr esi, 0x11
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffffc0
mov dword [eax + ecx + 0x20], esi
mov dword [eax + ecx + 0x24], edx
xor edx, edx
mov eax, dword [esp + 0x20]
mov ecx, edi
mov esi, dword [esp + 0x1c]
shld ecx, eax, 0xf
shr esi, 0x11
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffffb0
mov dword [eax + ecx + 0x28], esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
shld ecx, ebx, 0x1e
mov dword [eax + esi + 0x2c], edx
mov eax, edi
mov edi, dword [esp + 0x1c]
shr eax, 2
shl ebx, 0x1e
or ebx, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
and eax, 0xffffff80
mov dword [esp + 0x4c], ecx
shr edi, 2
mov dword [esp + 0x48], ebx
shl edx, 0x1c
mov dword [eax + esi + 0x40], ebx
mov dword [eax + esi + 0x44], ecx
xor esi, esi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x24]
shld ecx, eax, 0x1e
shl eax, 0x1e
or esi, ecx
mov ecx, dword [esp + 0x14]
or edi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffff70
mov dword [eax + ecx + 0x48], edi
mov dword [eax + ecx + 0x4c], esi
xor ecx, ecx
mov eax, dword [esp + 0x20]
shrd eax, ebx, 4
shr ebx, 4
or ecx, eax
mov eax, dword [esp + 0x10]
or edx, ebx
mov ebx, dword [esp + 0x14]
and eax, 0xfffffee0
mov dword [eax + ebx + 0x90], ecx
xor ecx, ecx
mov dword [eax + ebx + 0x94], edx
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
shrd eax, edx, 4
shl ebx, 0x1c
or ecx, eax
shr edx, 4
mov eax, dword [esp + 0x10]
or ebx, edx
mov edx, dword [esp + 0x14]
and eax, 0xfffffed0
mov dword [eax + edx + 0x98], ecx
mov dword [eax + edx + 0x9c], ebx
mov eax, dword [esp + 0x10]
and eax, 0xfffffe50
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [eax + edx + 0xd8], ebx
mov dword [eax + edx + 0xdc], ecx
mov eax, dword [esp + 0x10]
and eax, 0xfffffe60
mov dword [eax + edx + 0xd0], edi
mov dword [eax + edx + 0xd4], esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
mov edx, esi
xor edx, 0xa09e667f
xor edi, dword [esp + 0x28]
mov eax, edx
mov ebx, edi
shr eax, 0x10
xor ebx, 0x3bcc908b
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764550]
xor ecx, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764150]
movzx eax, dl
mov edx, ecx
xor edx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, edx
ror edx, 8
xor edx, ecx
mov eax, ecx
xor eax, dword [esp + 0x38]
xor eax, dword [esp + 0x2c]
xor edx, dword [esp + 0x3c]
xor edx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edx
mov edx, eax
mov ebx, dword [esp + 0x18]
xor edx, 0xb67ae858
mov eax, edx
xor ebx, 0x4caa73b2
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764550]
xor ecx, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764150]
movzx eax, dl
mov edx, ecx
mov dword [esp + 0x20], ecx
xor edx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, edx
ror edx, 8
xor edx, ecx
mov eax, ecx
xor eax, esi
xor edx, edi
xor eax, dword [esp + 0x34]
xor edx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov edx, eax
xor edx, 0xc6ef372f
mov edi, dword [esp + 0x20]
mov eax, edx
mov ebx, edi
shr eax, 0x10
xor ebx, 0xe94f82be
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, esi
ror esi, 8
mov eax, ecx
xor esi, ecx
xor eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x2c]
xor esi, dword [esp + 0x18]
mov edx, eax
xor esi, dword [esp + 0x30]
xor edx, 0x54ff53a5
mov dword [esp + 0x24], eax
mov ebx, esi
mov eax, edx
mov dword [esp + 0x28], esi
shr eax, 0x10
xor ebx, 0xf1d36f1c
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
mov edx, dword [esp + 0x1c]
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
mov ebx, dword [esp + 0x24]
xor ecx, dword [eax*4 + 0x764150]
xor eax, eax
xor ecx, esi
ror esi, 8
xor esi, ecx
xor edx, ecx
xor edi, esi
mov dword [esp + 0x1c], edx
or eax, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], eax
mov ecx, edx
mov esi, ecx
mov dword [esp + 0x30], ecx
xor edi, edi
shr esi, 0x11
or edi, dword [esp + 0x28]
mov ecx, ebx
mov eax, edi
xor edx, edx
shld ecx, eax, 0xf
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffffa0
mov dword [eax + ecx + 0x30], esi
mov esi, ebx
mov dword [eax + ecx + 0x34], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
shld ecx, eax, 0xf
shr esi, 0x11
shl eax, 0xf
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffff90
mov dword [eax + ecx + 0x38], esi
mov esi, edi
mov dword [eax + ecx + 0x3c], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
shrd eax, ecx, 0x13
shl esi, 0xd
or edx, eax
shr ecx, 0x13
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xffffff20
mov dword [eax + ecx + 0x70], edx
xor edx, edx
mov dword [eax + ecx + 0x74], esi
mov eax, edi
mov esi, dword [esp + 0x2c]
mov ecx, ebx
shl esi, 0xd
shrd eax, ecx, 0x13
or edx, eax
shr ecx, 0x13
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xffffff10
mov dword [eax + ecx + 0x78], edx
xor edx, edx
mov dword [eax + ecx + 0x7c], esi
mov eax, edi
mov esi, dword [esp + 0x30]
mov ecx, ebx
shld ecx, eax, 0xd
shr esi, 0x13
shl eax, 0xd
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
and eax, 0xfffffe70
mov dword [eax + ecx + 0xc8], esi
mov esi, ebx
mov dword [eax + ecx + 0xcc], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
shld ecx, eax, 0xd
shr esi, 0x13
shl eax, 0xd
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xfffffe80
mov dword [eax + ecx + 0xc0], esi
mov esi, ecx
mov ecx, ebx
shr ebx, 2
shld ecx, edi, 0x1e
mov dword [eax + esi + 0xc4], edx
mov edx, dword [esp + 0x30]
mov eax, edx
shr eax, 2
shl edi, 0x1e
or edi, eax
mov eax, dword [esp + 0x10]
and eax, 0xfffffe30
mov dword [eax + esi + 0xe8], edi
mov dword [eax + esi + 0xec], ecx
xor ecx, ecx
mov eax, dword [esp + 0x2c]
shld edx, eax, 0x1e
mov edi, dword [esp + 0x20]
shl eax, 0x1e
or ecx, edx
or ebx, eax
xor edi, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
and eax, 0xfffffe40
mov dword [eax + esi + 0xe0], ebx
mov ebx, edi
mov dword [eax + esi + 0xe4], ecx
xor ebx, 0xde682d1d
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x40]
mov edx, eax
mov dword [esp + 0x1c], eax
xor edx, 0x10e527fa
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ecx, dword [eax*4 + 0x764150]
xor ecx, esi
ror esi, 8
xor esi, ecx
mov eax, ecx
xor eax, dword [esp + 0x38]
xor esi, dword [esp + 0x3c]
xor edx, eax
mov eax, dword [esp + 0x28]
xor eax, esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov ebx, eax
xor edx, 0xb05688c2
xor ebx, 0xb3e6c1fd
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x764550]
xor esi, dword [eax*4 + 0x764950]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x764150]
movzx eax, dl
mov edx, dword [esp + 0x24]
mov dword [esp + 0x24], edx
xor esi, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x764950]
xor ecx, dword [eax*4 + 0x764d50]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x764550]
movzx eax, bl
xor ebx, ebx
or ebx, dword [esp + 0x28]
xor ecx, dword [eax*4 + 0x764150]
mov eax, dword [esp + 0x10]
xor ecx, esi
ror esi, 8
and eax, 0xffffffd0
xor esi, ecx
xor ecx, dword [esp + 0x1c]
xor esi, edi
xor edi, edi
or edi, ecx
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx + 0x18], esi
mov esi, ecx
mov ecx, ebx
mov dword [eax + esi + 0x1c], edi
mov eax, dword [esp + 0x10]
and eax, 0xffffffe0
mov dword [eax + esi + 0x10], ebx
mov dword [eax + esi + 0x14], edx
mov eax, edi
shld edx, ecx, 0x1e
shl ecx, 0x1e
shr eax, 2
or ecx, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffff60
mov dword [eax + esi + 0x50], ecx
mov ecx, edi
mov dword [eax + esi + 0x54], edx
xor edx, edx
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x10]
and eax, 0xffffff50
mov dword [eax + ecx + 0x58], esi
mov esi, ebx
mov dword [eax + ecx + 0x5c], edx
xor edx, edx
mov eax, dword [esp + 0x30]
mov ecx, edi
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xfffffec0
mov dword [eax + ecx + 0xa0], edx
xor edx, edx
mov dword [eax + ecx + 0xa4], esi
mov eax, ebx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
shrd eax, ecx, 4
shl esi, 0x1c
or edx, eax
shr ecx, 4
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
and eax, 0xfffffeb0
mov dword [eax + ecx + 0xa8], edx
mov edx, ebx
mov dword [eax + ecx + 0xac], esi
xor ecx, ecx
mov esi, dword [esp + 0x30]
mov eax, esi
shrd eax, edi, 0x11
shl edx, 0xf
or ecx, eax
shr edi, 0x11
mov eax, dword [esp + 0x10]
or edx, edi
mov edi, dword [esp + 0x14]
and eax, 0xfffffe00
shl esi, 0xf
mov dword [eax + edi + 0x100], ecx
mov ecx, dword [esp + 0x24]
shrd ebx, ecx, 0x11
mov dword [eax + edi + 0x104], edx
xor eax, eax
shr ecx, 0x11
or eax, ebx
or esi, ecx
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffdf0
mov dword [ecx + edi + 0x108], eax
mov dword [ecx + edi + 0x10c], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc