Function at 0x43a670
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x18]
add ebp, ebp
add ebp, ebp
add ebp, ebp
cmp ebp, 0x100
jbe 0x43a68e
or eax, 0xffffffff
pop ebp
add esp, 8
ret
mov edx, dword [esp + 0x10]
push ebx
lea eax, [ebp + 0x1f]
shr eax, 5
push esi
xor ebx, ebx
push edi
test eax, eax
jbe 0x43a6bd
mov esi, dword [esp + 0x20]
mov ecx, edx
sub esi, edx
mov ebx, eax
jmp 0x43a6b0
mov edi, dword [esi + ecx]
mov dword [ecx], edi
add ecx, 4
sub eax, 1
jne 0x43a6b0
cmp ebp, 0x100
jae 0x43a6f4
cmp ebx, 8
jae 0x43a6d8
mov ecx, 8
sub ecx, ebx
lea edi, [edx + ebx*4]
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov eax, ebp
shr eax, 5
lea ecx, [esi - 1]
and ecx, dword [edx + eax*4]
or ecx, esi
mov dword [edx + eax*4], ecx
mov ebx, 2
mov dword [esp + 0x24], ebx
lea eax, [edx + 4]
mov ebp, dword [eax + 0x10]
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 8]
lea ecx, [ebx - 2]
xor ecx, dword [eax - 4]
add eax, 0x18
xor ecx, ebp
xor ecx, esi
xor ecx, edi
mov edi, dword [eax - 0xc]
lea esi, [ebx - 1]
xor esi, dword [eax - 0x18]
xor ecx, 0x9e3779b9
rol ecx, 0xb
xor esi, ecx
xor esi, edi
xor esi, dword [eax - 4]
mov edi, dword [eax - 0x14]
xor edi, ebx
xor esi, 0x9e3779b9
rol esi, 0xb
xor edi, esi
xor edi, ebp
xor edi, dword [eax]
mov ebp, dword [esp + 0x24]
inc ebx
xor edi, 0x9e3779b9
rol edi, 0xb
xor ebx, edi
xor ebx, ecx
xor ebx, dword [eax - 0x10]
add ebp, 2
xor ebx, dword [eax - 4]
mov dword [eax + 8], esi
xor ebx, 0x9e3779b9
rol ebx, 0xb
xor ebp, ebx
xor ebp, esi
xor ebp, dword [eax - 0xc]
mov dword [eax + 0x10], ebx
xor ebp, dword [eax]
mov ebx, dword [esp + 0x24]
xor ebp, 0x9e3779b9
rol ebp, 0xb
lea esi, [ebx + 3]
xor esi, ebp
xor esi, edi
xor esi, ecx
xor esi, dword [eax - 8]
add ebx, 6
xor esi, 0x9e3779b9
rol esi, 0xb
mov dword [eax + 4], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], esi
lea ecx, [ebx - 2]
mov dword [esp + 0x24], ebx
cmp ecx, 0x84
jb 0x43a700
mov eax, dword [edx + 0x2c]
mov edi, dword [edx + 0x20]
mov ecx, dword [edx + 0x28]
mov ebp, dword [edx + 0x24]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, esi
and ebx, edi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x24], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
or eax, edi
xor eax, ebp
mov dword [esp + 0x10], esi
mov esi, ecx
or esi, edi
and esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x28]
mov ebx, esi
xor ebp, eax
xor eax, esi
xor eax, ecx
xor ebx, edi
mov edi, dword [edx + 0x34]
mov dword [edx + 0x2c], eax
mov eax, dword [edx + 0x30]
not eax
mov dword [edx + 0x28], ecx
mov ecx, dword [edx + 0x38]
mov esi, eax
and esi, ecx
mov dword [edx + 0x24], ebx
mov ebx, dword [edx + 0x3c]
xor ebx, edi
mov dword [esp + 0x24], ecx
xor esi, ebx
mov dword [edx + 0x20], ebp
mov ebp, eax
xor ebp, ecx
mov ecx, esi
xor ecx, dword [esp + 0x24]
and ecx, edi
mov edi, ecx
xor edi, ebp
mov dword [esp + 0x24], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0x3c]
or ecx, ebp
and edi, ecx
xor edi, dword [edx + 0x30]
mov ecx, dword [esp + 0x24]
or eax, ebp
mov ebp, dword [edx + 0x4c]
xor eax, ecx
xor eax, edi
mov dword [edx + 0x3c], ecx
mov ecx, dword [edx + 0x40]
xor eax, ebx
mov ebx, dword [edx + 0x44]
mov dword [edx + 0x30], esi
mov esi, ecx
not esi
xor esi, ebx
mov dword [edx + 0x34], eax
mov eax, esi
or eax, ecx
xor eax, dword [edx + 0x48]
mov dword [edx + 0x38], edi
mov edi, eax
mov ecx, esi
xor edi, ebp
or ecx, ebp
xor ecx, ebx
mov ebx, edi
xor ebx, esi
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
xor esi, ebx
and ebp, ebx
xor ebp, eax
mov eax, esi
xor eax, ecx
mov ecx, dword [edx + 0x54]
mov dword [esp + 0x10], ecx
mov dword [edx + 0x4c], esi
mov esi, dword [edx + 0x5c]
mov dword [edx + 0x48], edi
mov edi, dword [edx + 0x50]
mov dword [edx + 0x44], eax
mov ecx, esi
xor ecx, edi
mov eax, ecx
and ecx, dword [esp + 0x10]
and esi, edi
xor ecx, edi
mov dword [edx + 0x40], ebp
mov ebp, dword [edx + 0x58]
xor eax, ebp
mov ebx, eax
xor ebx, dword [esp + 0x10]
mov edi, ecx
xor edi, eax
xor esi, ebx
and edi, esi
not eax
xor eax, edi
mov dword [esp + 0x24], esi
mov esi, ecx
or ecx, ebp
mov ebp, dword [edx + 0x60]
mov dword [edx + 0x54], eax
mov eax, dword [esp + 0x24]
xor ecx, ebx
mov dword [edx + 0x5c], eax
mov eax, dword [edx + 0x68]
mov ebx, eax
mov dword [edx + 0x58], ecx
mov ecx, dword [edx + 0x64]
xor eax, ecx
not esi
xor esi, edi
mov edi, dword [edx + 0x6c]
mov dword [edx + 0x50], esi
not ebx
mov dword [esp + 0x10], eax
mov esi, ebx
or esi, ecx
mov eax, esi
xor eax, edi
and esi, dword [edx + 0x6c]
mov edi, eax
and edi, ebp
mov ecx, edi
xor ecx, dword [esp + 0x10]
or eax, ebx
mov dword [esp + 0x24], ecx
mov ecx, edi
xor ecx, dword [edx + 0x64]
or ecx, dword [esp + 0x10]
xor ecx, dword [edx + 0x6c]
xor ecx, ebp
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x24]
and edi, ebp
xor edi, esi
xor eax, ebp
xor eax, edi
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], ecx
mov dword [edx + 0x68], edi
mov ebp, dword [edx + 0x7c]
mov eax, dword [edx + 0x70]
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x74]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, dword [edx + 0x78]
mov edi, esi
xor edi, ecx
mov ebx, eax
xor ebx, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
and ecx, edi
xor esi, edi
not eax
xor ecx, eax
mov dword [edx + 0x7c], ecx
mov ecx, dword [edx + 0x80]
xor ebp, esi
mov dword [edx + 0x74], ebx
mov ebx, dword [edx + 0x8c]
mov eax, ebx
xor eax, ecx
mov dword [edx + 0x78], esi
mov esi, dword [edx + 0x84]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
xor esi, ecx
or eax, esi
xor eax, dword [edx + 0x88]
mov dword [edx + 0x70], ebp
mov ebp, ecx
not ebp
xor eax, ebp
mov edi, eax
and edi, ebx
mov ecx, eax
or ecx, ebp
xor ecx, dword [esp + 0x24]
mov ebx, eax
xor ebx, edi
xor ebx, esi
mov dword [edx + 0x80], eax
mov eax, edi
or eax, esi
mov esi, dword [edx + 0x9c]
xor eax, ecx
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x10]
mov edi, dword [edx + 0x94]
mov dword [edx + 0x8c], ecx
mov ecx, dword [edx + 0x90]
mov dword [edx + 0x88], eax
mov eax, esi
xor eax, ecx
mov dword [esp + 0x24], ecx
mov ecx, eax
and ecx, esi
xor ecx, dword [edx + 0x98]
mov dword [edx + 0x84], ebx
mov esi, ecx
or esi, edi
not edi
mov ebx, edi
xor edi, eax
or ebx, eax
xor ebx, ecx
mov ebp, edi
and ebp, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
xor esi, eax
mov eax, dword [edx + 0xac]
mov ebp, ebx
and ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
and edi, ebx
xor edi, ecx
xor edi, dword [esp + 0x24]
mov ecx, dword [edx + 0xa8]
mov dword [edx + 0x9c], esi
mov esi, eax
xor esi, ecx
mov dword [edx + 0x94], edi
mov edi, dword [edx + 0xa0]
xor esi, edi
mov dword [edx + 0x98], ebx
mov ebx, esi
and ebx, edi
mov dword [edx + 0x90], ebp
mov ebp, dword [edx + 0xa4]
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x24], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
or eax, edi
xor eax, ebp
mov dword [esp + 0x10], esi
mov esi, ecx
or esi, edi
mov edi, dword [esp + 0x10]
and esi, dword [esp + 0x24]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0xa8]
mov ebx, esi
xor ebp, eax
xor eax, esi
xor eax, ecx
xor ebx, edi
mov edi, dword [edx + 0xb4]
mov dword [edx + 0xac], eax
mov eax, dword [edx + 0xb0]
not eax
mov dword [edx + 0xa8], ecx
mov ecx, dword [edx + 0xb8]
mov esi, eax
and esi, ecx
mov dword [edx + 0xa4], ebx
mov ebx, dword [edx + 0xbc]
xor ebx, edi
mov dword [edx + 0xa0], ebp
mov ebp, eax
xor ebp, ecx
mov dword [esp + 0x24], ecx
xor esi, ebx
mov ecx, esi
xor ecx, dword [esp + 0x24]
and ecx, edi
mov edi, ecx
xor edi, ebp
mov dword [esp + 0x24], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0xbc]
or ecx, ebp
and edi, ecx
xor edi, dword [edx + 0xb0]
mov ecx, dword [esp + 0x24]
or eax, ebp
xor eax, ecx
xor eax, edi
xor eax, ebx
mov dword [edx + 0xb0], esi
mov dword [edx + 0xb4], eax
mov dword [edx + 0xb8], edi
mov dword [edx + 0xbc], ecx
mov ecx, dword [edx + 0xc0]
mov ebx, dword [edx + 0xc4]
mov ebp, dword [edx + 0xcc]
mov esi, ecx
not esi
xor esi, ebx
mov eax, esi
or eax, ecx
xor eax, dword [edx + 0xc8]
mov ecx, esi
or ecx, ebp
xor ecx, ebx
mov edi, eax
xor edi, ebp
mov ebx, edi
xor ebx, esi
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
xor esi, ebx
and ebp, ebx
xor ebp, eax
mov eax, esi
xor eax, ecx
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x10], ecx
mov dword [edx + 0xcc], esi
mov esi, dword [edx + 0xdc]
mov dword [edx + 0xc8], edi
mov edi, dword [edx + 0xd0]
mov ecx, esi
xor ecx, edi
mov dword [edx + 0xc4], eax
mov eax, ecx
and ecx, dword [esp + 0x10]
and esi, edi
xor ecx, edi
mov dword [edx + 0xc0], ebp
mov ebp, dword [edx + 0xd8]
xor eax, ebp
mov ebx, eax
xor ebx, dword [esp + 0x10]
mov edi, ecx
xor edi, eax
xor esi, ebx
and edi, esi
not eax
xor eax, edi
mov dword [esp + 0x24], esi
mov esi, ecx
or ecx, ebp
mov ebp, dword [edx + 0xe0]
mov dword [edx + 0xd4], eax
mov eax, dword [esp + 0x24]
xor ecx, ebx
mov dword [edx + 0xdc], eax
mov eax, dword [edx + 0xe8]
mov dword [edx + 0xd8], ecx
mov ecx, dword [edx + 0xe4]
not esi
xor esi, edi
mov edi, dword [edx + 0xec]
mov ebx, eax
xor eax, ecx
mov dword [edx + 0xd0], esi
not ebx
mov dword [esp + 0x10], eax
mov esi, ebx
or esi, ecx
mov eax, esi
xor eax, edi
mov edi, eax
and edi, ebp
mov ecx, edi
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, edi
xor ecx, dword [edx + 0xe4]
or ecx, dword [esp + 0x10]
xor ecx, dword [edx + 0xec]
and esi, dword [edx + 0xec]
xor ecx, ebp
mov ebp, ecx
or eax, ebx
xor ebp, edi
mov edi, dword [esp + 0x24]
xor eax, ebp
and edi, ebp
mov ebp, dword [edx + 0xfc]
xor edi, esi
xor eax, edi
mov dword [edx + 0xe0], eax
mov eax, dword [edx + 0xf0]
mov dword [edx + 0xe4], ecx
mov ecx, dword [esp + 0x24]
mov dword [edx + 0xec], ecx
mov ecx, dword [edx + 0xf4]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, dword [edx + 0xf8]
mov dword [edx + 0xe8], edi
mov ebx, eax
xor ebx, ecx
mov edi, esi
xor edi, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
and ecx, edi
not eax
xor ecx, eax
xor esi, edi
mov dword [edx + 0xfc], ecx
mov ecx, dword [edx + 0x100]
xor ebp, esi
mov dword [edx + 0xf4], ebx
mov ebx, dword [edx + 0x10c]
mov dword [edx + 0xf8], esi
mov esi, dword [edx + 0x104]
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
xor esi, ecx
or eax, esi
xor eax, dword [edx + 0x108]
mov dword [edx + 0xf0], ebp
mov ebp, ecx
not ebp
xor eax, ebp
mov edi, eax
and edi, ebx
mov ecx, eax
or ecx, ebp
xor ecx, dword [esp + 0x24]
mov ebx, eax
mov dword [edx + 0x100], eax
xor ebx, edi
mov eax, edi
or eax, esi
xor eax, ecx
xor ebx, esi
mov esi, dword [edx + 0x11c]
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x10]
mov edi, dword [edx + 0x114]
mov dword [edx + 0x108], eax
mov dword [edx + 0x10c], ecx
mov ecx, dword [edx + 0x110]
mov eax, esi
xor eax, ecx
mov dword [esp + 0x24], ecx
mov dword [edx + 0x104], ebx
mov ecx, eax
and ecx, esi
xor ecx, dword [edx + 0x118]
mov esi, ecx
or esi, edi
not edi
mov ebx, edi
xor edi, eax
or ebx, eax
xor ebx, ecx
mov ebp, edi
and ebp, esi
mov dword [esp + 0x14], ebp
xor esi, eax
mov eax, dword [edx + 0x12c]
mov ebp, ebx
and ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
and edi, ebx
xor edi, ecx
xor edi, dword [esp + 0x24]
mov ecx, dword [edx + 0x128]
mov dword [edx + 0x11c], esi
mov esi, eax
xor esi, ecx
mov dword [edx + 0x114], edi
mov edi, dword [edx + 0x120]
xor esi, edi
mov dword [edx + 0x118], ebx
mov ebx, esi
and ebx, edi
mov dword [edx + 0x110], ebp
mov ebp, dword [edx + 0x124]
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x24], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
or eax, edi
mov dword [esp + 0x10], esi
xor eax, ebp
mov esi, ecx
or esi, edi
mov edi, dword [esp + 0x10]
and esi, dword [esp + 0x24]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x128]
mov ebx, esi
xor ebp, eax
xor eax, esi
xor eax, ecx
xor ebx, edi
mov edi, dword [edx + 0x134]
mov dword [edx + 0x12c], eax
mov eax, dword [edx + 0x130]
mov dword [edx + 0x128], ecx
mov ecx, dword [edx + 0x138]
not eax
mov dword [edx + 0x124], ebx
mov ebx, dword [edx + 0x13c]
xor ebx, edi
mov esi, eax
and esi, ecx
mov dword [edx + 0x120], ebp
mov dword [esp + 0x24], ecx
xor esi, ebx
mov ebp, eax
xor ebp, ecx
mov ecx, esi
xor ecx, dword [esp + 0x24]
and ecx, edi
mov edi, ecx
xor edi, ebp
mov dword [esp + 0x24], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0x13c]
or ecx, ebp
and edi, ecx
xor edi, dword [edx + 0x130]
mov ecx, dword [esp + 0x24]
or eax, ebp
xor eax, ecx
mov ebp, dword [edx + 0x14c]
xor eax, edi
xor eax, ebx
mov ebx, dword [edx + 0x144]
mov dword [edx + 0x13c], ecx
mov ecx, dword [edx + 0x140]
mov dword [edx + 0x130], esi
mov esi, ecx
not esi
xor esi, ebx
mov dword [edx + 0x134], eax
mov eax, esi
or eax, ecx
xor eax, dword [edx + 0x148]
mov ecx, esi
or ecx, ebp
xor ecx, ebx
mov dword [edx + 0x138], edi
mov edi, eax
xor edi, ebp
mov ebx, edi
xor ebx, esi
mov esi, ecx
xor ecx, eax
and esi, eax
xor esi, ebx
mov ebp, ecx
and ebp, ebx
xor ebp, eax
mov eax, esi
xor eax, ecx
mov ecx, dword [edx + 0x154]
mov dword [esp + 0x10], ecx
mov dword [edx + 0x14c], esi
mov esi, dword [edx + 0x15c]
mov dword [edx + 0x148], edi
mov edi, dword [edx + 0x150]
mov ecx, esi
xor ecx, edi
mov dword [edx + 0x144], eax
mov eax, ecx
and ecx, dword [esp + 0x10]
mov dword [edx + 0x140], ebp
mov ebp, dword [edx + 0x158]
xor eax, ebp
xor ecx, edi
and esi, edi
mov ebx, eax
xor ebx, dword [esp + 0x10]
mov edi, ecx
xor esi, ebx
xor edi, eax
and edi, esi
not eax
xor eax, edi
mov dword [esp + 0x24], esi
mov esi, ecx
or ecx, ebp
mov ebp, dword [edx + 0x160]
mov dword [edx + 0x154], eax
mov eax, dword [esp + 0x24]
xor ecx, ebx
mov dword [edx + 0x15c], eax
mov eax, dword [edx + 0x168]
not esi
xor esi, edi
mov edi, dword [edx + 0x16c]
mov dword [edx + 0x158], ecx
mov ecx, dword [edx + 0x164]
mov ebx, eax
xor eax, ecx
mov dword [edx + 0x150], esi
not ebx
mov dword [esp + 0x10], eax
mov esi, ebx
or esi, ecx
mov eax, esi
xor eax, edi
mov edi, eax
and edi, ebp
and esi, dword [edx + 0x16c]
mov ecx, edi
xor ecx, dword [esp + 0x10]
or eax, ebx
mov dword [esp + 0x24], ecx
mov ecx, edi
xor ecx, dword [edx + 0x164]
or ecx, dword [esp + 0x10]
xor ecx, dword [edx + 0x16c]
xor ecx, ebp
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x24]
xor eax, ebp
and edi, ebp
mov ebp, dword [edx + 0x17c]
xor edi, esi
xor eax, edi
mov dword [edx + 0x160], eax
mov eax, dword [edx + 0x170]
mov dword [edx + 0x164], ecx
mov ecx, dword [esp + 0x24]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, dword [edx + 0x178]
mov dword [edx + 0x16c], ecx
mov ecx, dword [edx + 0x174]
mov ebx, eax
xor ebx, ecx
mov dword [edx + 0x168], edi
mov edi, esi
xor edi, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
and ecx, edi
not eax
xor ecx, eax
xor esi, edi
xor ebp, esi
mov dword [edx + 0x174], ebx
mov ebx, dword [edx + 0x18c]
mov dword [edx + 0x17c], ecx
mov ecx, dword [edx + 0x180]
mov eax, ebx
xor eax, ecx
mov dword [edx + 0x178], esi
mov esi, dword [edx + 0x184]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
xor esi, ecx
or eax, esi
xor eax, dword [edx + 0x188]
mov dword [edx + 0x170], ebp
mov ebp, ecx
not ebp
xor eax, ebp
mov edi, eax
and edi, ebx
mov ebx, eax
mov ecx, eax
xor ebx, edi
or ecx, ebp
xor ecx, dword [esp + 0x24]
mov dword [edx + 0x180], eax
xor ebx, esi
mov eax, edi
mov dword [edx + 0x184], ebx
or eax, esi
mov esi, dword [edx + 0x19c]
xor eax, ecx
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x10]
mov edi, dword [edx + 0x194]
mov dword [edx + 0x18c], ecx
mov ecx, dword [edx + 0x190]
mov dword [edx + 0x188], eax
mov eax, esi
xor eax, ecx
mov dword [esp + 0x24], ecx
mov ecx, eax
and ecx, esi
xor ecx, dword [edx + 0x198]
mov esi, ecx
or esi, edi
not edi
mov ebx, edi
xor edi, eax
or ebx, eax
xor ebx, ecx
mov ebp, edi
and ebp, esi
mov dword [esp + 0x14], ebp
mov ebp, ebx
and ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
and edi, ebx
xor esi, eax
mov dword [edx + 0x19c], esi
mov dword [edx + 0x198], ebx
mov dword [edx + 0x190], ebp
xor edi, ecx
xor edi, dword [esp + 0x24]
mov dword [edx + 0x194], edi
mov eax, dword [edx + 0x1ac]
mov edi, dword [edx + 0x1a0]
mov ecx, dword [edx + 0x1a8]
mov ebp, dword [edx + 0x1a4]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, esi
and ebx, edi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x24], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov dword [esp + 0x10], esi
or eax, edi
xor eax, ebp
mov esi, ecx
or esi, edi
mov edi, dword [esp + 0x10]
and esi, dword [esp + 0x24]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x1a8]
mov ebx, esi
xor ebp, eax
mov dword [edx + 0x1a0], ebp
xor ebx, edi
mov dword [edx + 0x1a4], ebx
xor eax, esi
mov dword [edx + 0x1a8], ecx
xor eax, ecx
mov dword [edx + 0x1ac], eax
mov eax, dword [edx + 0x1b0]
mov ecx, dword [edx + 0x1b8]
mov ebx, dword [edx + 0x1bc]
mov edi, dword [edx + 0x1b4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ebx
not eax
xor ebx, edi
mov esi, eax
and esi, ecx
xor esi, ebx
mov ebp, eax
xor ebp, ecx
mov ecx, esi
xor ecx, dword [esp + 0x24]
and ecx, edi
mov edi, ecx
xor edi, ebp
mov dword [esp + 0x24], edi
mov edi, esi
or edi, ebp
mov ebp, dword [esp + 0x14]
or ecx, ebp
and edi, ecx
xor edi, dword [edx + 0x1b0]
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x1b0], esi
or eax, ebp
xor eax, ecx
xor eax, edi
xor eax, ebx
mov dword [edx + 0x1b4], eax
mov dword [edx + 0x1b8], edi
mov dword [edx + 0x1bc], ecx
mov ecx, dword [edx + 0x1c0]
mov ebx, dword [edx + 0x1c4]
mov ebp, dword [edx + 0x1cc]
mov esi, ecx
not esi
xor esi, ebx
mov eax, esi
or eax, ecx
xor eax, dword [edx + 0x1c8]
mov ecx, esi
or ecx, ebp
xor ecx, ebx
mov edi, eax
xor edi, ebp
mov ebx, edi
xor ebx, esi
mov esi, ecx
xor ecx, eax
and esi, eax
xor esi, ebx
mov ebp, ecx
and ebp, ebx
xor ebp, eax
mov eax, esi
xor eax, ecx
mov dword [edx + 0x1c0], ebp
mov dword [edx + 0x1c4], eax
mov dword [edx + 0x1c8], edi
mov dword [edx + 0x1cc], esi
mov ecx, dword [edx + 0x1d4]
mov edi, dword [edx + 0x1d0]
mov esi, dword [edx + 0x1dc]
mov ebp, dword [edx + 0x1d8]
mov dword [esp + 0x10], ecx
mov ecx, esi
xor ecx, edi
mov eax, ecx
and ecx, dword [esp + 0x10]
xor eax, ebp
and esi, edi
xor ecx, edi
mov ebx, eax
xor ebx, dword [esp + 0x10]
mov edi, ecx
xor esi, ebx
xor edi, eax
and edi, esi
mov dword [esp + 0x24], esi
mov esi, ecx
not esi
xor esi, edi
not eax
mov dword [edx + 0x1d0], esi
xor eax, edi
mov dword [edx + 0x1d4], eax
mov eax, dword [esp + 0x24]
or ecx, ebp
xor ecx, ebx
mov dword [edx + 0x1d8], ecx
mov dword [edx + 0x1dc], eax
mov eax, dword [edx + 0x1e8]
mov ecx, dword [edx + 0x1e4]
mov edi, dword [edx + 0x1ec]
mov ebp, dword [edx + 0x1e0]
mov ebx, eax
xor eax, ecx
mov dword [esp + 0x10], eax
not ebx
mov esi, ebx
or esi, ecx
mov eax, esi
and esi, dword [edx + 0x1ec]
xor eax, edi
mov edi, eax
and edi, ebp
mov ecx, edi
xor ecx, dword [esp + 0x10]
or eax, ebx
mov dword [esp + 0x24], ecx
mov ecx, edi
xor ecx, dword [edx + 0x1e4]
or ecx, dword [esp + 0x10]
xor ecx, dword [edx + 0x1ec]
xor ecx, ebp
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x24]
xor eax, ebp
and edi, ebp
xor edi, esi
xor eax, edi
mov dword [edx + 0x1e0], eax
mov dword [edx + 0x1e4], ecx
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x1e8], edi
mov dword [edx + 0x1ec], ecx
mov ebp, dword [edx + 0x1fc]
mov eax, dword [edx + 0x1f0]
mov ecx, dword [edx + 0x1f4]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, dword [edx + 0x1f8]
mov edi, esi
xor edi, ecx
mov ebx, eax
xor ebx, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
xor esi, edi
mov ebp, ecx
xor ebp, esi
mov dword [edx + 0x1f0], ebp
not eax
mov dword [edx + 0x1f4], ebx
and ecx, edi
xor ecx, eax
mov dword [edx + 0x1f8], esi
mov dword [edx + 0x1fc], ecx
mov ecx, dword [edx + 0x200]
mov ebx, dword [edx + 0x20c]
mov esi, dword [edx + 0x204]
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x10], esi
mov ebp, ecx
xor esi, ecx
mov dword [esp + 0x24], eax
not ebp
or eax, esi
xor eax, dword [edx + 0x208]
xor eax, ebp
mov dword [edx + 0x200], eax
mov edi, eax
and edi, ebx
mov ecx, eax
or ecx, ebp
xor ecx, dword [esp + 0x24]
mov ebx, eax
xor ebx, edi
xor ebx, esi
mov dword [edx + 0x204], ebx
mov eax, edi
or eax, esi
xor eax, ecx
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x10]
mov dword [edx + 0x208], eax
mov dword [edx + 0x20c], ecx
mov esi, dword [edx + 0x21c]
mov ecx, dword [edx + 0x210]
mov edi, dword [edx + 0x214]
mov eax, esi
xor eax, ecx
mov dword [esp + 0x24], ecx
mov ecx, eax
and ecx, esi
xor ecx, dword [edx + 0x218]
mov esi, ecx
or esi, edi
not edi
mov ebx, edi
xor edi, eax
or ebx, eax
xor ebx, ecx
mov ebp, edi
and ebp, esi
mov dword [esp + 0x14], ebp
mov ebp, ebx
and ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
and edi, ebx
xor edi, ecx
xor edi, dword [esp + 0x24]
mov dword [edx + 0x210], ebp
xor esi, eax
mov dword [edx + 0x214], edi
mov dword [edx + 0x218], ebx
mov dword [edx + 0x21c], esi
mov eax, dword [edx + 0x22c]
mov edi, dword [edx + 0x220]
mov ecx, dword [edx + 0x228]
mov ebp, dword [edx + 0x224]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, esi
and ebx, edi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x24], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov dword [esp + 0x10], esi
mov esi, ecx
or esi, edi
and esi, dword [esp + 0x24]
or eax, edi
mov edi, dword [esp + 0x10]
xor eax, ebp
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x228]
xor ebp, eax
mov dword [edx + 0x220], ebp
mov ebx, esi
xor ebx, edi
pop edi
xor eax, esi
mov dword [edx + 0x224], ebx
pop esi
xor eax, ecx
mov dword [edx + 0x228], ecx
pop ebx
mov dword [edx + 0x22c], eax
xor eax, eax
pop ebp
add esp, 8
ret