Function at 0x43ae40
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [eax + 0x28]
xor edx, dword [ecx + 8]
add eax, 0x20
push ebx
mov ebx, dword [eax]
xor ebx, dword [ecx]
push ebp
mov ebp, dword [eax + 4]
xor ebp, dword [ecx + 4]
push esi
mov esi, dword [eax + 0xc]
xor esi, dword [ecx + 0xc]
push edi
xor esi, ebx
mov ecx, edx
xor ecx, ebp
mov edi, esi
and edi, ebp
xor edi, ebx
mov ebp, esi
or ebp, ebx
xor ebp, ecx
xor ecx, esi
xor esi, edx
or edx, edi
xor edx, ecx
mov dword [esp + 0x1c], edx
not ecx
or ecx, edi
mov edx, ecx
xor ecx, esi
or esi, ebp
xor edi, ecx
xor edx, esi
mov ebx, esi
xor ebx, edi
mov edi, dword [esp + 0x1c]
rol ebx, 0xd
rol edi, 3
xor edx, edi
xor edx, ebx
lea ecx, [ebx*8]
xor ecx, edi
xor ecx, ebp
rol ecx, 7
rol edx, 1
mov ebp, edx
shl ebp, 7
xor ebp, edi
mov edi, dword [eax + 0x18]
mov esi, edx
xor edx, dword [eax + 0x14]
xor esi, ebx
xor esi, ecx
xor ebp, ecx
xor ecx, dword [eax + 0x1c]
rol ebp, 0x16
rol esi, 5
xor esi, dword [eax + 0x10]
xor edi, ebp
not esi
mov ebx, esi
and esi, edx
not edi
xor edi, esi
or esi, ecx
xor edx, esi
xor esi, ebx
xor ecx, edi
or ebx, edx
or edi, esi
xor edx, ecx
and edi, ebx
xor esi, edx
and edx, edi
mov ebp, edi
and ebp, esi
xor edx, esi
xor ebp, ebx
rol edi, 0xd
rol ecx, 3
mov ebx, edi
xor edi, ebp
xor edi, ecx
lea esi, [ebx*8]
xor esi, edx
xor esi, ecx
rol esi, 7
rol edi, 1
mov edx, edi
shl edx, 7
xor edx, esi
xor edx, ecx
mov ecx, esi
xor esi, dword [eax + 0x2c]
xor ecx, ebx
xor ecx, edi
xor edi, dword [eax + 0x24]
rol edx, 0x16
xor edx, dword [eax + 0x28]
rol ecx, 5
xor ecx, dword [eax + 0x20]
mov ebx, ecx
and ecx, edx
xor ecx, esi
or esi, ebx
xor esi, edi
mov ebp, ecx
xor ebp, edi
xor edx, ebp
xor ebx, edx
mov edi, esi
or esi, ebx
xor esi, ecx
and ecx, edi
xor ebx, ecx
mov ecx, esi
xor ecx, ebx
xor edi, ecx
rol edx, 0xd
rol edi, 3
xor esi, edi
xor esi, edx
not ebx
lea ecx, [edx*8]
xor ecx, ebx
xor ecx, edi
rol ecx, 7
rol esi, 1
mov ebx, esi
shl ebx, 7
xor ebx, ecx
xor ebx, edi
mov edi, esi
xor esi, dword [eax + 0x34]
xor edi, ecx
xor ecx, dword [eax + 0x3c]
xor edi, edx
rol ebx, 0x16
xor ebx, dword [eax + 0x38]
rol edi, 5
xor edi, dword [eax + 0x30]
mov edx, edi
or edi, ecx
xor ecx, esi
and esi, edx
xor edx, ebx
or edx, esi
xor ebx, ecx
and ecx, edi
xor ecx, edx
xor edi, esi
xor esi, ecx
or esi, edi
xor esi, ebx
and edx, edi
mov ebp, esi
or esi, ecx
xor edx, ebx
xor esi, ecx
xor esi, edi
rol esi, 0xd
rol ecx, 3
mov ebx, ecx
lea ecx, [esi*8]
xor ecx, ebx
xor ecx, edx
rol ecx, 7
mov edi, esi
xor edi, ebx
xor esi, ecx
xor edi, ebp
rol edi, 1
xor esi, edi
rol esi, 5
xor esi, dword [eax + 0x40]
mov edx, edi
shl edx, 7
xor edx, ebx
mov ebx, dword [eax + 0x44]
xor edx, ecx
xor ecx, dword [eax + 0x4c]
rol edx, 0x16
xor edx, dword [eax + 0x48]
xor ebx, ecx
xor edi, ebx
not ecx
xor edx, ecx
xor ecx, esi
mov ebx, ecx
and ebx, edi
xor ebx, edx
xor edi, ecx
xor esi, edi
and edx, edi
xor edx, esi
and esi, ebx
xor ecx, esi
mov ebp, ebx
or ebp, edi
xor ebp, esi
or esi, ecx
xor esi, edx
and edx, ecx
rol ebx, 0xd
mov edi, ebx
not esi
rol esi, 3
mov ebx, esi
lea esi, [edi*8]
xor esi, ebx
xor esi, ecx
mov ecx, ebx
xor ecx, edx
xor ecx, edi
rol esi, 7
xor ecx, ebp
mov dword [esp + 0x1c], ebx
rol ecx, 1
mov ebx, ecx
shl ebx, 7
xor ebx, dword [esp + 0x1c]
mov edx, esi
xor edx, edi
mov edi, dword [eax + 0x58]
xor ebx, esi
xor esi, dword [eax + 0x5c]
xor edx, ecx
xor ecx, dword [eax + 0x54]
rol ebx, 0x16
rol edx, 5
xor edx, dword [eax + 0x50]
xor edi, ebx
xor edx, ecx
xor ecx, esi
not esi
mov ebx, edx
xor edi, esi
and ebx, ecx
mov ebp, ecx
xor ebx, edi
or edi, ebp
xor ebp, esi
and esi, ebx
xor esi, edx
mov ecx, edi
xor ecx, ebp
xor ecx, ebx
xor edi, edx
mov ebp, esi
and ebp, edx
xor ebp, ecx
or ecx, esi
rol ebx, 0xd
rol ebp, 3
xor esi, ebp
xor esi, ebx
lea edx, [ebx*8]
xor ecx, edx
not edi
xor ecx, edi
xor ecx, ebp
rol ecx, 7
rol esi, 1
mov edi, esi
shl edi, 7
xor edi, ecx
xor edi, ebp
mov ebp, dword [eax + 0x68]
rol edi, 0x16
mov edx, ecx
xor ecx, dword [eax + 0x6c]
xor edx, esi
xor edx, ebx
mov ebx, dword [eax + 0x64]
rol edx, 5
xor edx, dword [eax + 0x60]
xor ebp, edi
mov edi, ecx
and ecx, edx
xor edx, edi
not ebp
xor ecx, ebp
xor ebx, ecx
xor esi, ebx
mov ebx, edi
or ebx, ebp
xor ebx, edx
or edx, esi
xor edi, edx
xor ebx, esi
mov dword [esp + 0x1c], edi
mov edi, ecx
or edi, edx
xor edi, ebx
mov edx, ecx
xor edx, dword [esp + 0x1c]
not ecx
xor edx, edi
mov ebp, edx
and ebp, ebx
xor ebp, ecx
rol edi, 0xd
rol edx, 3
mov ebx, edx
xor edx, esi
lea ecx, [edi*8]
xor ecx, ebx
xor ecx, ebp
rol ecx, 7
xor edx, edi
rol edx, 1
mov esi, edx
shl esi, 7
xor esi, ebx
mov ebx, edx
xor ebx, ecx
xor esi, ecx
xor ebx, edi
rol esi, 0x16
rol ebx, 5
xor ebx, dword [eax + 0x70]
xor esi, dword [eax + 0x78]
xor edx, dword [eax + 0x74]
xor ecx, dword [eax + 0x7c]
mov ebp, esi
and esi, edx
xor esi, ecx
xor ebp, esi
xor esi, edx
mov edi, ebp
and ecx, edx
xor edx, ebx
xor ecx, edx
or edi, ebx
xor edi, esi
xor esi, ecx
and ecx, edi
xor ecx, ebp
xor ebp, esi
not ebp
and esi, edi
xor esi, ebp
and ebp, edi
xor ebp, edx
xor ebp, ecx
mov dword [esp + 0x14], 3
lea esp, [esp]
add eax, 0x80
mov edx, esi
rol edx, 0xd
rol ecx, 3
mov ebx, ebp
mov dword [esp + 0x1c], edi
mov edi, ecx
mov esi, edx
lea ebp, [esi*8]
xor ebp, dword [esp + 0x1c]
mov edx, edi
xor ebp, edi
xor edx, ebx
xor edx, esi
rol ebp, 7
rol edx, 1
mov ebx, ebp
xor ebx, edx
xor ebx, esi
mov esi, dword [eax + 0xc]
xor esi, ebp
mov ecx, edx
xor edx, dword [eax + 4]
shl ecx, 7
xor ecx, ebp
xor ecx, edi
rol ecx, 0x16
xor ecx, dword [eax + 8]
rol ebx, 5
xor ebx, dword [eax]
mov edi, ecx
xor esi, ebx
xor edi, edx
mov ebp, esi
and ebp, edx
xor ebp, ebx
mov edx, esi
or edx, ebx
xor edx, edi
xor edi, esi
xor esi, ecx
or ecx, ebp
xor ecx, edi
not edi
or edi, ebp
mov ebx, edi
xor ebx, esi
or esi, edx
xor ebp, ebx
mov ebx, esi
xor ebx, ebp
rol ebx, 0xd
rol ecx, 3
xor edi, esi
mov ebp, ecx
xor edi, ebp
lea ecx, [ebx*8]
xor ecx, ebp
xor ecx, edx
rol ecx, 7
xor edi, ebx
rol edi, 1
mov edx, edi
mov edi, dword [eax + 0x18]
mov dword [esp + 0x1c], ebp
mov ebp, edx
shl ebp, 7
xor ebp, dword [esp + 0x1c]
mov esi, edx
xor edx, dword [eax + 0x14]
xor esi, ebx
xor esi, ecx
xor ebp, ecx
xor ecx, dword [eax + 0x1c]
rol ebp, 0x16
rol esi, 5
xor esi, dword [eax + 0x10]
not esi
mov ebx, esi
and esi, edx
xor edi, ebp
not edi
xor edi, esi
or esi, ecx
xor edx, esi
xor ecx, edi
xor esi, ebx
or ebx, edx
or edi, esi
xor edx, ecx
and edi, ebx
xor esi, edx
and edx, edi
xor edx, esi
mov ebp, edi
and ebp, esi
xor ebp, ebx
rol edi, 0xd
rol ecx, 3
mov ebx, edi
xor edi, ebp
xor edi, ecx
lea esi, [ebx*8]
xor esi, edx
xor esi, ecx
rol esi, 7
rol edi, 1
mov edx, edi
shl edx, 7
xor edx, esi
xor edx, ecx
mov ecx, esi
xor esi, dword [eax + 0x2c]
xor ecx, ebx
xor ecx, edi
xor edi, dword [eax + 0x24]
rol edx, 0x16
xor edx, dword [eax + 0x28]
rol ecx, 5
xor ecx, dword [eax + 0x20]
mov ebx, ecx
and ecx, edx
xor ecx, esi
or esi, ebx
xor esi, edi
mov ebp, ecx
xor ebp, edi
xor edx, ebp
xor ebx, edx
mov edi, esi
or esi, ebx
xor esi, ecx
and ecx, edi
xor ebx, ecx
mov ecx, esi
xor ecx, ebx
xor edi, ecx
rol edx, 0xd
rol edi, 3
not ebx
xor esi, edi
lea ecx, [edx*8]
xor ecx, ebx
xor ecx, edi
rol ecx, 7
xor esi, edx
rol esi, 1
mov ebx, esi
shl ebx, 7
xor ebx, ecx
xor ebx, edi
mov edi, esi
xor esi, dword [eax + 0x34]
xor edi, ecx
xor ecx, dword [eax + 0x3c]
xor edi, edx
rol ebx, 0x16
xor ebx, dword [eax + 0x38]
rol edi, 5
xor edi, dword [eax + 0x30]
mov edx, edi
or edi, ecx
xor ecx, esi
and esi, edx
xor edx, ebx
or edx, esi
xor ebx, ecx
and ecx, edi
xor ecx, edx
xor edi, esi
xor esi, ecx
or esi, edi
xor esi, ebx
and edx, edi
xor edx, ebx
mov ebp, esi
or esi, ecx
xor esi, ecx
xor esi, edi
rol esi, 0xd
rol ecx, 3
mov ebx, ecx
lea ecx, [esi*8]
xor ecx, ebx
xor ecx, edx
mov edi, esi
xor edi, ebx
rol ecx, 7
xor esi, ecx
xor edi, ebp
rol edi, 1
xor esi, edi
rol esi, 5
xor esi, dword [eax + 0x40]
mov edx, edi
shl edx, 7
xor edx, ebx
mov ebx, dword [eax + 0x44]
xor edx, ecx
xor ecx, dword [eax + 0x4c]
rol edx, 0x16
xor edx, dword [eax + 0x48]
xor ebx, ecx
xor edi, ebx
not ecx
xor edx, ecx
xor ecx, esi
mov ebx, ecx
and ebx, edi
xor ebx, edx
xor edi, ecx
xor esi, edi
and edx, edi
xor edx, esi
and esi, ebx
xor ecx, esi
mov ebp, ebx
or ebp, edi
xor ebp, esi
or esi, ecx
xor esi, edx
and edx, ecx
rol ebx, 0xd
mov edi, ebx
not esi
rol esi, 3
mov ebx, esi
lea esi, [edi*8]
xor esi, ebx
xor esi, ecx
mov ecx, ebx
xor ecx, edx
xor ecx, edi
rol esi, 7
mov dword [esp + 0x1c], ebx
xor ecx, ebp
rol ecx, 1
mov ebx, ecx
shl ebx, 7
xor ebx, dword [esp + 0x1c]
mov edx, esi
xor ebx, esi
rol ebx, 0x16
xor esi, dword [eax + 0x5c]
xor edx, edi
xor edx, ecx
xor ecx, dword [eax + 0x54]
mov edi, dword [eax + 0x58]
xor edi, ebx
rol edx, 5
xor edx, dword [eax + 0x50]
xor edx, ecx
xor ecx, esi
mov ebx, edx
and ebx, ecx
mov ebp, ecx
not esi
xor edi, esi
xor ebx, edi
or edi, ebp
xor ebp, esi
and esi, ebx
xor esi, edx
mov ecx, edi
xor ecx, ebp
xor edi, edx
xor ecx, ebx
mov ebp, esi
and ebp, edx
xor ebp, ecx
rol ebx, 0xd
or ecx, esi
rol ebp, 3
not edi
lea edx, [ebx*8]
xor ecx, edx
xor ecx, edi
xor ecx, ebp
xor esi, ebp
xor esi, ebx
rol ecx, 7
rol esi, 1
mov edx, ecx
xor edx, esi
xor edx, ebx
mov ebx, dword [eax + 0x64]
mov edi, esi
shl edi, 7
xor edi, ecx
xor ecx, dword [eax + 0x6c]
xor edi, ebp
mov ebp, dword [eax + 0x68]
rol edi, 0x16
rol edx, 5
xor edx, dword [eax + 0x60]
xor ebp, edi
mov edi, ecx
and ecx, edx
not ebp
xor ecx, ebp
xor ebx, ecx
xor edx, edi
xor esi, ebx
mov ebx, edi
or ebx, ebp
xor ebx, edx
or edx, esi
xor edi, edx
mov dword [esp + 0x1c], edi
mov edi, ecx
or edi, edx
xor ebx, esi
mov edx, ecx
xor edx, dword [esp + 0x1c]
xor edi, ebx
xor edx, edi
mov ebp, edx
and ebp, ebx
not ecx
xor ebp, ecx
rol edi, 0xd
rol edx, 3
mov ebx, edx
lea ecx, [edi*8]
xor edx, esi
xor ecx, ebx
xor ecx, ebp
rol ecx, 7
xor edx, edi
rol edx, 1
mov esi, edx
shl esi, 7
xor esi, ebx
xor esi, ecx
rol esi, 0x16
xor esi, dword [eax + 0x78]
mov ebx, edx
xor edx, dword [eax + 0x74]
xor ebx, ecx
xor ecx, dword [eax + 0x7c]
mov ebp, esi
and esi, edx
xor esi, ecx
xor ebp, esi
xor ebx, edi
rol ebx, 5
xor ebx, dword [eax + 0x70]
xor esi, edx
mov edi, ebp
and ecx, edx
xor edx, ebx
xor ecx, edx
or edi, ebx
xor edi, esi
xor esi, ecx
and ecx, edi
xor ecx, ebp
xor ebp, esi
not ebp
and esi, edi
xor esi, ebp
and ebp, edi
xor ebp, edx
xor ebp, ecx
sub dword [esp + 0x14], 1
jne 0x43b180
xor ebp, dword [eax + 0x84]
xor edi, dword [eax + 0x8c]
mov edx, dword [eax + 0x80]
xor ecx, dword [eax + 0x88]
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], edi
pop edi
xor edx, esi
pop esi
mov dword [eax + 4], ebp
pop ebp
mov dword [eax], edx
mov dword [eax + 8], ecx
pop ebx
ret