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

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