Function at 0x51d656
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov edi, eax
push esi
push ebx
sub esp, 0x21c
mov eax, dword [eax + 0x80]
mov edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x90]
mov ebx, dword [edi + 0x94]
mov esi, dword [edi + 0x20]
mov ebp, dword [edi + 0x24]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], edx
mov eax, dword [edi + 0x60]
mov edx, dword [edi + 0x64]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x198], ebx
mov ecx, dword [edi + 0x30]
mov ebx, dword [edi + 0x34]
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1e0], ebp
mov esi, dword [edi + 0x70]
mov ebp, dword [edi + 0x74]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edx
mov ecx, dword [edi + 0x50]
mov ebx, dword [edi + 0x54]
mov esi, dword [edi + 0x88]
mov ebp, dword [edi + 0x8c]
mov eax, dword [edi + 0x98]
mov edx, dword [edi + 0x9c]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x2c]
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1c8], ebp
mov esi, dword [edi + 0x68]
mov ebp, dword [edi + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1f0], ecx
mov edx, dword [edi + 0x3c]
mov dword [esp + 0x1f4], ebx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x130], ebp
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x78]
mov ebx, dword [edi + 0x7c]
mov esi, dword [edi + 0x48]
mov ebp, dword [edi + 0x4c]
mov dword [esp + 0x140], edx
mov dword [esp + 0x13c], eax
mov dword [esp], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], ebp
mov eax, dword [edi + 0x58]
mov edx, dword [edi + 0x5c]
mov dword [esp + 8], 0x4c0e00
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb0], edx
lea esi, [esi]
mov ebx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 8]
not ebx
not edx
mov dword [edi + 0x84], ebx
mov dword [esp + 0x1d0], ebx
not eax
mov ebx, dword [esp + 0x198]
mov dword [edi + 0x80], edx
mov dword [edi + 0x90], eax
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d4], eax
mov edx, dword [esp + 0xbc]
not ebx
mov eax, dword [esp + 0xc0]
mov dword [edi + 0x94], ebx
mov dword [esp + 0x1d8], ebx
mov esi, dword [ecx + 4]
mov ebx, dword [ecx]
not edx
not eax
and edx, ebx
and eax, esi
xor edx, dword [esp + 0x1dc]
xor eax, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], ebx
mov ebx, dword [esp + 0xc]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov ebp, dword [ecx + 0x10]
not ebx
mov ecx, dword [ecx + 0x14]
and ebx, ebp
mov dword [esp + 0x1e8], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x10]
xor ebx, dword [esp + 0x1b0]
and ebp, edx
not ecx
and ecx, dword [esp + 0x1b8]
xor ecx, dword [esp + 0x1b4]
mov dword [esp + 0x1b0], ebp
mov ebp, dword [esp + 0x1a4]
and ebp, eax
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0x1e4]
xor esi, dword [esp + 0x1b4]
xor ebp, dword [esp + 0x1b0]
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1dc], ebp
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x134]
and esi, ecx
and ebp, ebx
xor esi, dword [esp + 0x1b8]
xor ebp, dword [esp + 0x1e8]
mov dword [esp + 0x1e8], esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x1e4], ebp
and esi, dword [esp + 0x1d0]
mov ebp, dword [esp + 0xbc]
and ebp, dword [esp + 0x1cc]
xor esi, eax
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x1d8]
xor ebp, edx
mov edx, dword [esp + 0xc]
and edx, dword [esp + 0x1d4]
mov dword [esp + 0x1b0], esi
mov esi, dword [esp + 0x1cc]
xor eax, ecx
mov ecx, dword [esp + 0x1a4]
xor edx, ebx
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1b4], edx
mov edx, dword [esp + 0x1d0]
not ecx
and ecx, dword [esp + 0xc0]
not ebx
and ebx, dword [esp + 0xbc]
xor edx, ecx
xor esi, ebx
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1cc], esi
mov edx, dword [esp + 0x134]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
not edx
and esi, edx
mov edx, dword [esp + 0x1d4]
not eax
and eax, dword [esp + 0x10]
mov dword [esp + 0x1f8], esi
xor edx, esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x1d8]
xor eax, dword [esp + 0x1ec]
and esi, ebp
xor esi, dword [esp + 0x1a0]
and edx, dword [esp + 0x1b0]
xor ebx, dword [esp + 0x1c0]
xor ecx, dword [esp + 0x1c4]
and ecx, dword [esp + 0x1b0]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1a0], esi
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1a4]
and ebx, ebp
and eax, dword [esp + 0x1b8]
xor esi, edx
mov edx, dword [esp + 0xc]
and edx, dword [esp + 0x1b4]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x134]
xor eax, edx
mov edx, dword [esp + 0x1a4]
xor edx, dword [esp + 0x20]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xbc]
xor eax, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0xbc], eax
mov ebx, dword [esp + 0xc0]
mov edx, dword [esp + 0x1ec]
xor edx, dword [esp + 0x198]
and edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x1f8]
xor ecx, dword [esp + 0x138]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x1cc]
or ebx, dword [esp + 0x1a0]
and ecx, dword [esp + 0x1b4]
xor eax, edx
xor ecx, dword [esp + 0xc]
mov dword [esp + 0x10], esi
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x1d0]
xor ebx, ebp
mov ebp, dword [esp + 0x1a0]
and ebp, dword [esp + 0xbc]
or eax, esi
mov esi, dword [esp + 0x10]
and esi, dword [esp + 0xc0]
xor esi, dword [esp + 0x1d0]
xor ebp, dword [esp + 0x1cc]
mov dword [esp + 0x138], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x1d4]
or ecx, dword [esp + 0x20]
or ebx, dword [esp + 0x134]
xor eax, dword [esp + 0x1b0]
xor ebx, dword [esp + 0x1b4]
xor ecx, dword [esp + 0x1b8]
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1a4], ebp
mov ebp, dword [esp + 0x1dc]
and ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov esi, dword [esp + 0x1e0]
xor edx, ebp
mov ebp, dword [esp + 0x10]
and esi, eax
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x1dc]
xor edx, dword [esp + 0xbc]
xor ebp, esi
mov esi, ebp
mov ebp, dword [esp + 0x1e0]
xor ebp, dword [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x134]
xor edx, ebx
xor ebp, dword [esp + 0x10]
and ebx, dword [esp + 0x1e4]
mov dword [esp + 0x18], edx
mov edx, esi
xor esi, ecx
mov dword [esp + 0x1c], esi
and ecx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0xbc]
xor ebp, ebx
mov ebx, dword [esp + 0x1e8]
xor ebx, dword [esp + 0x198]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x1e4]
xor ebp, dword [esp + 0x138]
xor ebp, dword [esp + 0xc]
xor esi, ecx
mov ecx, dword [esp + 0x1a4]
xor ebx, eax
mov dword [esp + 0x114], esi
mov esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x1b0]
xor esi, ecx
mov dword [esp + 0x118], esi
xor ebp, ebx
mov dword [esp + 0x11c], ebp
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x20]
and ebp, dword [esp + 0x138]
and esi, dword [esp + 0x198]
xor ebp, dword [esp + 0x1d4]
xor esi, dword [esp + 0x1d8]
xor ebp, dword [esp + 0xc]
xor edx, dword [esp + 0x11c]
xor esi, eax
xor eax, dword [esp + 0x114]
mov dword [esp + 0x120], ebp
mov ebp, dword [esp + 0xc]
xor ebp, dword [esp + 0x110]
mov dword [esp + 0x198], edx
mov dword [edi + 0x44], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x124], esi
mov dword [esp + 0x1fc], eax
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x1a0]
xor eax, dword [esp + 0x118]
mov dword [esp + 0x1f8], ebp
mov dword [edi + 0x20], ebp
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0xbc]
xor esi, dword [esp + 0x124]
mov dword [esp + 0x138], eax
mov dword [edi + 0x40], eax
xor ebp, edx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ebp, eax
xor esi, edx
mov dword [esp + 0xc], ebp
mov dword [edi + 0x60], ebp
mov ebp, ebx
mov dword [esp + 0x10], esi
mov dword [edi + 0x64], esi
xor ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, eax
add esi, eax
mov dword [esp + 0x1d0], ecx
mov dword [edi + 0x80], ecx
mov ecx, edx
mov ebx, esi
mov esi, dword [esp + 0x18]
shld ecx, eax, 1
mov eax, dword [esp + 0x1c]
xor ebp, edx
and ebx, 0xaaaaaaaa
mov dword [esp + 0x1d4], ebp
mov dword [edi + 0x84], ebp
mov ebp, ebx
and ecx, 0xaaaaaaaa
shrd esi, eax, 1
shr eax, 1
mov ebx, ecx
mov dword [esp + 0x24], eax
mov eax, esi
mov esi, ebp
and eax, 0x55555555
mov ebp, ebx
mov edx, dword [esp + 0x24]
or esi, eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x200], esi
mov dword [edi + 0x30], esi
mov esi, dword [esp + 0x110]
and edx, 0x55555555
or ebp, edx
mov dword [esp + 0x204], ebp
mov dword [edi + 0x34], ebp
shld eax, esi, 1
add esi, esi
mov ebx, esi
mov ecx, eax
mov esi, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
and ebx, 0xaaaaaaaa
and ecx, 0xaaaaaaaa
mov ebp, ebx
mov ebx, ecx
shrd esi, eax, 1
shr eax, 1
mov edx, esi
and eax, 0x55555555
mov esi, dword [esp + 0x118]
and edx, 0x55555555
or ebx, eax
mov eax, dword [esp + 0x118]
or ebp, edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x1a4], ebx
mov dword [edi + 0x54], ebx
mov dword [esp + 0x1a0], ebp
mov dword [edi + 0x50], ebp
shld edx, eax, 1
add eax, eax
mov ebx, eax
mov eax, dword [esp + 0x11c]
mov ecx, edx
and ebx, 0xaaaaaaaa
and ecx, 0xaaaaaaaa
mov ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x120]
shrd esi, eax, 1
shr eax, 1
mov edx, esi
and eax, 0x55555555
mov esi, ecx
and edx, 0x55555555
or ebp, edx
or ebx, eax
add esi, ecx
mov dword [esp + 0xbc], ebx
mov dword [edi + 0x74], ebx
mov ebx, esi
mov dword [esp + 0x20], ebp
mov dword [edi + 0x70], ebp
and ebx, 0xaaaaaaaa
mov ebp, dword [esp + 0x124]
mov esi, dword [esp + 0x1bc]
mov eax, ebp
not esi
shld eax, ecx, 1
shrd ecx, ebp, 1
shr ebp, 1
and eax, 0xaaaaaaaa
mov dword [edi + 0x88], esi
mov edx, ecx
mov ecx, ebp
mov ebp, ebx
and ecx, 0x55555555
and edx, 0x55555555
mov ebx, dword [esp + 8]
or eax, ecx
or ebp, edx
mov edx, dword [esp + 0x1c8]
mov dword [edi + 0x94], eax
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x19c]
mov dword [edi + 0x90], ebp
mov dword [esp + 0x1d8], ebp
mov ebp, dword [esp + 0x144]
not edx
mov dword [edi + 0x8c], edx
mov dword [esp + 0x1b4], edx
not eax
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x1b0], esi
mov dword [edi + 0x9c], eax
not ebp
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x130]
mov dword [edi + 0x98], ebp
mov dword [esp + 0x1b8], ebp
mov esi, dword [ebx + 0xc]
not edx
mov ebp, dword [ebx + 8]
not eax
and eax, esi
xor eax, dword [esp + 0x1f4]
and edx, ebp
xor edx, dword [esp + 0x1f0]
mov dword [edi + 0x2c], eax
mov dword [edi + 0x28], edx
mov ecx, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp]
not ecx
not ebx
and ebx, dword [esp + 0xc0]
and ecx, dword [esp + 0x134]
xor ecx, dword [esp + 0x140]
xor ebx, dword [esp + 0x13c]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x1a8]
and ecx, edx
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x1ac]
xor ebp, dword [esp + 0x140]
and ecx, eax
xor esi, ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x1cc], esi
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
and ebp, ebx
and esi, ecx
xor ebp, dword [esp + 0xc0]
xor esi, dword [esp + 0x134]
mov dword [esp + 0x1e0], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x1e4], esi
and ebp, dword [esp + 0x1b0]
mov esi, dword [esp + 0x130]
and esi, dword [esp + 0x1b4]
xor ebp, edx
mov edx, dword [esp]
xor esi, eax
and edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x28]
and eax, dword [esp + 0x1c0]
mov dword [esp + 0xc0], ebp
xor edx, ebx
mov ebx, eax
mov dword [esp + 0x134], edx
xor ebx, ecx
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x1a8]
not ecx
not ebx
and ebx, dword [esp + 0xc4]
and ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
mov ebp, dword [esp + 0x1b8]
xor edx, ebx
xor eax, ecx
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0xb0]
not edx
and edx, dword [esp]
not eax
and eax, dword [esp + 0x28]
xor ebp, edx
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0x1c0]
xor ebp, eax
mov dword [esp + 0x1c0], ebp
mov ebp, dword [esp + 0xc4]
and ebp, dword [esp + 0xc0]
mov dword [esp + 0x140], ebp
mov ebp, dword [esp + 0x130]
and ebp, esi
mov dword [esp + 0x1e8], ebp
mov ebp, dword [esp + 0x140]
xor ebp, dword [esp + 0x1a8]
mov dword [esp + 0x140], ebp
mov ebp, dword [esp + 0x1e8]
xor ebp, dword [esp + 0x1ac]
mov dword [esp + 0x1a8], ebp
mov ebp, dword [esp]
and ebp, dword [esp + 0x134]
mov dword [esp + 0x1ac], ebp
mov ebp, dword [esp + 0x28]
and ebp, dword [esp + 0x13c]
mov dword [esp + 0x1e8], ebp
mov ebp, dword [esp + 0x1ac]
xor ebp, dword [esp + 0xb8]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1e8]
xor ebp, dword [esp + 0xb0]
xor ebx, dword [esp + 0x1bc]
and ebx, dword [esp + 0xc0]
xor ecx, dword [esp + 0x1c8]
xor edx, dword [esp + 0x144]
xor eax, dword [esp + 0x19c]
and edx, dword [esp + 0x134]
and eax, dword [esp + 0x13c]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0xc4]
and ecx, esi
xor edx, dword [esp]
xor ebp, ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x140]
mov dword [esp], edx
mov edx, dword [esp + 0x1b0]
xor ebx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0x1b8]
xor ecx, eax
or edx, dword [esp + 0x140]
mov eax, dword [esp + 0x1b4]
or eax, dword [esp + 0x1a8]
or ebx, dword [esp + 0xb8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c0]
or ecx, dword [esp + 0xb0]
xor edx, dword [esp + 0xc0]
xor ebx, dword [esp + 0x134]
xor ecx, dword [esp + 0x13c]
xor eax, esi
and ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0x130]
xor ebp, dword [esp + 0x1b0]
xor esi, dword [esp + 0x1b4]
mov dword [esp + 0x13c], ebp
mov ebp, dword [esp + 0x1c4]
mov dword [esp + 0x144], esi
mov esi, dword [esp + 0x1cc]
and ebp, edx
and esi, eax
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x140]
xor esi, ebp
mov ebp, dword [esp + 0x134]
xor ebp, dword [esp + 0x1a8]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x1c4]
xor esi, dword [esp + 0xc4]
mov dword [esp + 0x134], ebp
xor ebp, ecx
and ecx, dword [esp + 0x1e4]
mov dword [esp + 0x18c], ebp
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0x1cc]
xor esi, dword [esp + 0x130]
xor ebp, dword [esp + 0xc4]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0xc0]
xor esi, ebx
and ebx, dword [esp + 0x1e0]
mov dword [esp + 0x188], esi
mov esi, dword [esp + 0xb0]
xor esi, dword [esp + 0x130]
xor ebp, ebx
mov dword [esp + 0x128], ebp
xor esi, ecx
mov dword [esp + 0x12c], esi
mov esi, dword [esp + 0x1e0]
xor esi, dword [esp]
mov ebp, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x13c]
xor ebp, dword [esp + 0x28]
xor esi, edx
mov ebx, esi
xor ebp, eax
mov esi, dword [esp + 0xb0]
xor ebx, ecx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x144]
xor ebp, ebx
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0xb8]
and ebp, dword [esp]
and esi, dword [esp + 0x28]
xor ebp, dword [esp + 0x1b8]
xor esi, dword [esp + 0x1c0]
xor ebp, edx
xor esi, eax
xor edx, dword [esp + 0x128]
xor eax, dword [esp + 0x12c]
mov dword [esp + 0x190], ebp
mov ebp, dword [esp + 0x134]
xor ebp, dword [esp + 0xac]
mov dword [esp + 0x194], esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x208], edx
mov dword [edi + 0x28], edx
mov dword [esp + 0x20c], eax
mov dword [edi + 0x2c], eax
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xa8]
xor esi, dword [esp + 0x194]
mov dword [esp + 0x19c], ebp
mov dword [edi + 0x4c], ebp
mov ebp, dword [esp + 0xc4]
xor edx, eax
xor ebp, dword [esp + 0x190]
mov dword [esp + 0x144], edx
mov dword [edi + 0x48], edx
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
xor ebp, eax
xor esi, edx
xor ecx, eax
xor ebx, edx
mov dword [esp + 0x28], ebp
mov dword [edi + 0x68], ebp
shld edx, eax, 1
add eax, eax
mov dword [esp + 0xb8], esi
mov dword [edi + 0x6c], esi
mov ebp, dword [esp + 0x188]
mov esi, eax
mov eax, dword [esp + 0x18c]
and edx, 0xaaaaaaaa
mov dword [esp + 0x1e0], ecx
mov dword [edi + 0x88], ecx
mov ecx, edx
and esi, 0xaaaaaaaa
mov dword [esp + 0x1e4], ebx
shrd ebp, eax, 1
shr eax, 1
mov dword [edi + 0x8c], ebx
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov eax, ebp
and eax, 0x55555555
or esi, eax
mov eax, dword [esp + 0x128]
and edx, 0x55555555
mov dword [esp + 0x210], esi
mov dword [edi + 0x38], esi
or ecx, edx
mov edx, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [esp + 0x214], ecx
mov dword [edi + 0x3c], ecx
shld edx, eax, 1
add eax, eax
mov ebp, eax
mov eax, dword [esp + 0x12c]
mov ecx, edx
and ecx, 0xaaaaaaaa
and ebp, 0xaaaaaaaa
mov ebx, ecx
mov edx, ebp
shrd esi, eax, 1
shr eax, 1
mov ecx, esi
mov esi, dword [esp + 0xa8]
and ecx, 0x55555555
and eax, 0x55555555
or ebx, eax
or edx, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x1ac], ebx
mov dword [edi + 0x5c], ebx
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1a8], edx
mov dword [edi + 0x58], edx
shld ecx, ebx, 1
shrd esi, eax, 1
add ebx, ebx
and ecx, 0xaaaaaaaa
shr eax, 1
mov ebp, ebx
and eax, 0x55555555
mov ebx, ecx
and ebp, 0xaaaaaaaa
mov ecx, esi
mov esi, eax
and ecx, 0x55555555
mov eax, ebp
or ebx, esi
or eax, ecx
mov dword [esp + 0xb0], eax
mov dword [edi + 0x78], eax
mov dword [esp + 0xc0], ebx
mov ebp, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov dword [edi + 0x7c], ebx
mov esi, ebp
mov eax, ecx
add esi, ebp
shld eax, ebp, 1
shrd ebp, ecx, 1
mov ebx, esi
and eax, 0xaaaaaaaa
shr ecx, 1
mov edx, ebp
and ebx, 0xaaaaaaaa
mov esi, eax
and edx, 0x55555555
mov eax, dword [esp + 0x1dc]
mov ebp, dword [esp + 0x1d0]
or ebx, edx
mov edx, dword [esp + 0x1d4]
and ecx, 0x55555555
mov dword [edi + 0x98], ebx
mov dword [esp + 0x1e8], ebx
or esi, ecx
mov ebx, dword [esp + 0x1d8]
not eax
not ebp
not edx
mov dword [edi + 0x94], eax
mov dword [esp + 0x1b4], eax
mov dword [edi + 0x84], edx
mov dword [esp + 0x140], edx
not ebx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [edi + 0x90], ebx
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 8]
mov dword [edi + 0x9c], esi
mov dword [edi + 0x80], ebp
mov dword [esp + 0x1ec], esi
not edx
mov dword [esp + 0x13c], ebp
not eax
mov esi, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x20]
and eax, esi
and edx, ebp
xor eax, dword [esp + 0x1fc]
xor edx, dword [esp + 0x1f8]
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], edx
mov ecx, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x34]
mov dword [esp], ecx
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xbc]
not ebx
and ebx, dword [esp]
xor ebx, dword [esp + 0x200]
not ecx
and ecx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x204]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0x138]
and ebx, edx
mov dword [esp + 0x134], ebx
xor ebp, dword [esp + 0x134]
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x1b8], ebp
and ebx, eax
mov ebp, esi
xor ebp, ebx
mov esi, dword [esp + 0x1a4]
mov ebx, dword [esp]
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x1a0]
and ebp, dword [esp + 0x130]
and esi, ecx
xor esi, dword [esp + 0xc4]
xor ebx, ebp
mov ebp, dword [esp + 0x13c]
mov dword [esp + 0x1c0], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c4], esi
mov esi, dword [esp + 0x140]
and esi, dword [esp + 0x10]
and ebp, ebx
xor ebp, edx
mov edx, dword [esp + 0x1b0]
and edx, dword [esp + 0x20]
mov dword [esp], ebp
xor esi, eax
mov eax, dword [esp + 0x1b4]
and eax, dword [esp + 0xbc]
mov dword [esp + 0xc4], esi
mov ebp, edx
xor ebp, dword [esp + 0x130]
xor eax, ecx
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], eax
mov esi, dword [esp + 0x198]
mov edx, dword [esp + 0x140]
mov ebp, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x1a4]
not esi
and esi, dword [esp + 0x10]
not ebp
and ebp, ebx
not eax
and eax, dword [esp + 0xbc]
xor ecx, ebp
mov ebx, dword [esp + 0x1b0]
xor edx, esi
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x1a0]
xor ecx, eax
not edx
and edx, dword [esp + 0x20]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0xc4]
and ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x198]
xor ebx, edx
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp]
and ebx, dword [esp + 0xc]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x13c], ecx
xor ebx, dword [esp + 0x138]
mov ecx, dword [esp + 0x130]
and ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x1a0]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x134]
and ebx, dword [esp + 0xbc]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x1a4]
xor ecx, ebx
mov dword [esp + 0x140], ecx
xor ebp, dword [esp + 0x1d0]
xor edx, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1b4]
and edx, dword [esp + 0x130]
or ecx, dword [esp + 0x140]
xor edx, dword [esp + 0x20]
xor ecx, dword [esp + 0x134]
and ebp, dword [esp]
xor esi, dword [esp + 0x1d4]
xor eax, dword [esp + 0x1dc]
xor ebp, dword [esp + 0xc]
and esi, dword [esp + 0xc4]
and eax, dword [esp + 0x134]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1c8]
or edx, dword [esp + 0x138]
xor esi, dword [esp + 0x10]
xor eax, dword [esp + 0xbc]
xor edx, dword [esp]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x1b0]
or ebx, dword [esp + 0x198]
xor ebx, dword [esp + 0x130]
and ecx, esi
mov dword [esp + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0x1cc]
mov edx, dword [esp + 0x138]
or eax, dword [esp + 0x13c]
xor eax, dword [esp + 0xc4]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x1c8]
and edx, ebp
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xc4]
xor edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1b8]
and ecx, dword [esp]
xor ebp, dword [esp + 0x1b8]
xor esi, dword [esp + 0x1bc]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x1bc]
and edx, eax
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x138]
xor edx, ecx
mov ecx, dword [esp + 0x134]
xor ecx, dword [esp + 0x13c]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x13c], ebp
xor edx, ebx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x178], edx
mov edx, dword [esp + 0x20]
xor edx, ecx
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x198]
mov ecx, edx
xor ecx, ebp
mov ebp, dword [esp + 0x140]
and ebx, dword [esp + 0x1c0]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x20]
and ecx, dword [esp + 0x1c4]
xor ebp, esi
mov dword [esp + 0x198], ebp
mov ebp, dword [esp + 0x138]
xor ebp, ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x88], ebp
xor ebx, ecx
mov ecx, dword [esp + 0x1c0]
xor ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x1c4]
xor ebx, dword [esp + 0x10]
xor ecx, dword [esp]
mov ebp, dword [esp + 0xbc]
xor ebx, eax
xor ebx, dword [esp + 0xc4]
xor ebp, ecx
mov ecx, dword [esp + 0x140]
and ecx, dword [esp + 0x10]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xc]
mov ebp, ecx
xor ebp, eax
xor eax, dword [esp + 0x8c]
and ebx, edx
mov edx, dword [esp]
xor ebx, edx
xor ebx, dword [esp + 0x1b0]
mov ecx, edx
mov dword [esp + 0x1f4], eax
mov dword [edi + 0x24], eax
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x1b4]
xor edx, eax
mov dword [edi + 0x40], edx
xor ebx, ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x134]
xor ebx, dword [esp + 0x94]
xor esi, dword [esp + 0x104]
xor ecx, ebp
mov dword [esp + 0x134], edx
mov dword [esp + 0x1f0], ecx
mov dword [edi + 0x20], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x138], ebx
mov dword [edi + 0x44], ebx
mov ebx, dword [esp + 0x13c]
mov edx, dword [esp + 0x178]
xor ebx, ecx
mov ecx, dword [esp + 0x17c]
mov ebp, ebx
mov ebx, dword [esp + 0xbc]
xor ebp, edx
mov dword [esp], ebp
mov dword [edi + 0x60], ebp
mov eax, ecx
mov ebp, edx
xor esi, ecx
xor ebx, edx
shld eax, ebp, 2
mov edx, dword [esp + 0xc4]
shl ebp, 2
mov dword [esp + 0xc], esi
mov dword [edi + 0x64], esi
mov dword [esp + 0x1c8], ebx
mov dword [edi + 0x80], ebx
mov esi, dword [esp + 0x178]
mov ebx, ebp
mov ebp, dword [esp + 0x17c]
xor edx, ecx
mov ecx, eax
and ebx, 0xcccccccc
and ecx, 0xcccccccc
mov dword [esp + 0x1cc], edx
mov dword [edi + 0x84], edx
shrd esi, ebp, 2
shr ebp, 2
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x14]
mov eax, esi
and eax, 0x33333333
mov ebp, ebx
mov ebx, ecx
or ebp, eax
mov eax, dword [esp + 0x88]
and edx, 0x33333333
mov dword [esp + 0x1f8], ebp
mov dword [edi + 0x30], ebp
or ebx, edx
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x1fc], ebx
mov dword [edi + 0x34], ebx
shld edx, eax, 2
shl eax, 2
mov ebx, eax
mov eax, dword [esp + 0x8c]
mov ecx, edx
and ebx, 0xcccccccc
and ecx, 0xcccccccc
mov edx, ebx
shrd ebp, eax, 2
shr eax, 2
mov esi, ebp
and eax, 0x33333333
mov ebp, dword [esp + 0x90]
and esi, 0x33333333
or ecx, eax
mov eax, dword [esp + 0x90]
or edx, esi
mov dword [esp + 0x140], ecx
mov dword [edi + 0x54], ecx
mov dword [esp + 0x13c], edx
mov dword [edi + 0x50], edx
mov edx, dword [esp + 0x94]
shld edx, eax, 2
shl eax, 2
mov ebx, eax
mov eax, dword [esp + 0x94]
mov ecx, edx
and ebx, 0xcccccccc
and ecx, 0xcccccccc
shrd ebp, eax, 2
shr eax, 2
mov esi, ebp
and eax, 0x33333333
and esi, 0x33333333
or ecx, eax
or ebx, esi
mov dword [esp + 0x10], ebx
mov dword [edi + 0x70], ebx
mov ebx, dword [esp + 0x104]
mov dword [edi + 0x74], ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x100]
mov edx, ebx
shld edx, ecx, 2
mov ebp, ecx
shrd ecx, ebx, 2
shl ebp, 2
mov eax, edx
shr ebx, 2
mov esi, ebp
mov edx, ecx
and eax, 0xcccccccc
and esi, 0xcccccccc
and edx, 0x33333333
mov ebp, dword [esp + 0x1e4]
or esi, edx
mov edx, dword [esp + 0x1e0]
mov ecx, ebx
and ecx, 0x33333333
mov ebx, dword [esp + 8]
mov dword [edi + 0x90], esi
not ebp
or eax, ecx
mov dword [esp + 0x1d0], esi
not edx
mov dword [edi + 0x8c], ebp
mov dword [esp + 0x1a0], ebp
mov dword [edi + 0x88], edx
mov dword [esp + 0x198], edx
mov edx, dword [esp + 0x1ec]
mov ebp, dword [esp + 0x1e8]
mov dword [edi + 0x94], eax
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xb8]
not edx
not ebp
mov dword [edi + 0x9c], edx
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0x28]
mov dword [edi + 0x98], ebp
not eax
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x1a4], ebp
mov ebp, dword [ebx + 0x28]
not edx
and eax, ecx
xor eax, dword [esp + 0x20c]
mov dword [esp + 0xc4], ecx
and edx, ebp
xor edx, dword [esp + 0x208]
mov dword [edi + 0x2c], eax
mov dword [edi + 0x28], edx
mov esi, dword [ebx + 0x38]
mov ebx, dword [ebx + 0x3c]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x130], esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xb0]
not ecx
and ecx, dword [esp + 0xbc]
xor ecx, dword [esp + 0x214]
not ebx
and ebx, esi
mov esi, dword [esp + 0x144]
xor ebx, dword [esp + 0x210]
and esi, edx
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0x19c]
xor ebp, dword [esp + 0x1b4]
and esi, eax
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x1ac]
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0xc4]
xor ebp, dword [esp + 0x1b8]
and esi, ecx
xor esi, dword [esp + 0xbc]
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0x1a8]
mov dword [esp + 0x1c0], esi
mov esi, dword [esp + 0x1a0]
and esi, dword [esp + 0xb8]
and ebp, ebx
xor ebp, dword [esp + 0x130]
xor esi, eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x198]
and ebp, dword [esp + 0x28]
mov dword [esp + 0xbc], esi
xor ebp, edx
mov edx, dword [esp + 0x1a4]
and edx, dword [esp + 0xb0]
mov dword [esp + 0x1c4], ebp
and eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x19c]
mov ebp, dword [esp + 0x144]
xor edx, ebx
not esi
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x1a0]
mov ebx, esi
and ebx, dword [esp + 0xb8]
not ebp
and ebp, dword [esp + 0x28]
xor eax, ecx
mov ecx, dword [esp + 0x198]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x1ac]
xor edx, ebx
mov dword [esp + 0x1dc], ebx
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x1a8]
xor ecx, ebp
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x1a4]
not eax
not edx
and edx, esi
and eax, dword [esp + 0xc0]
xor ecx, edx
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x1c4]
and ecx, dword [esp + 0x28]
xor ebx, eax
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xbc]
and ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb0]
xor ecx, dword [esp + 0x19c]
xor ebx, dword [esp + 0x144]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x130]
and ebx, dword [esp + 0xc0]
xor edx, dword [esp + 0x1e8]
and ecx, esi
xor ecx, dword [esp + 0x1a8]
and edx, dword [esp + 0xc4]
xor edx, dword [esp + 0xb0]
xor ebp, dword [esp + 0x1e0]
xor eax, dword [esp + 0x1ec]
mov esi, dword [esp + 0x1dc]
and eax, dword [esp + 0x130]
xor esi, dword [esp + 0x1e4]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x1ac]
xor eax, dword [esp + 0xc0]
and esi, dword [esp + 0xbc]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x1d8]
xor ecx, ebx
or edx, dword [esp + 0x144]
xor esi, dword [esp + 0xb8]
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0xc0], eax
mov ebx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
or ebx, dword [esp + 0x1a8]
and ebp, ecx
xor ebp, dword [esp + 0x28]
xor edx, ecx
or eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x1b0]
or ecx, dword [esp + 0x19c]
xor eax, dword [esp + 0xbc]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x28], ebp
xor ebx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x130]
mov esi, dword [esp + 0x144]
mov ebp, dword [esp + 0x198]
and esi, dword [esp + 0x28]
and ebp, dword [esp + 0xb8]
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x1d8]
xor ebp, esi
mov esi, dword [esp + 0xc4]
xor esi, dword [esp + 0x1a0]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x1b4]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0x1b8]
and ebp, edx
and esi, eax
mov dword [esp + 0x1a0], esi
mov esi, dword [esp + 0x144]
xor esi, ebp
mov ebp, dword [esp + 0x1a0]
xor ebp, dword [esp + 0x198]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x1b4]
mov dword [esp + 0x144], ebp
mov ebp, dword [esp + 0xb8]
xor ebp, dword [esp + 0x1b8]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x144]
xor esi, ebx
mov dword [esp + 0x180], esi
mov esi, dword [esp + 0x28]
xor ebp, ecx
mov dword [esp + 0x184], ebp
mov ebp, dword [esp + 0x1a8]
xor esi, ebp
mov dword [esp + 0x198], esi
and ecx, dword [esp + 0x1c0]
mov esi, dword [esp + 0x19c]
xor esi, dword [esp + 0xb8]
and ebx, dword [esp + 0x1bc]
and ebp, dword [esp + 0xb0]
xor ebx, dword [esp + 0x198]
xor ecx, esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x1bc]
xor ebp, edx
xor ecx, dword [esp + 0xb0]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x1c0]
xor ebx, dword [esp + 0xc0]
xor ecx, edx
xor esi, ecx
mov ecx, dword [esp + 0xc4]
xor ebx, eax
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x1a4]
xor ecx, ebx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x19c]
xor esi, ebp
and ecx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x1b0]
mov dword [esp + 0x108], esi
mov ebx, ecx
mov ecx, dword [esp + 0x98]
xor ebx, eax
xor eax, dword [esp + 0x9c]
xor ebp, ebx
mov ebx, dword [esp + 0xa0]
xor edx, ecx
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x200], edx
mov dword [edi + 0x28], edx
mov dword [esp + 0x204], eax
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x144]
xor eax, ebx
xor edx, dword [esp + 0xa4]
mov dword [esp + 0x144], eax
mov ebx, dword [esp + 0x28]
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x108]
mov ebp, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
xor ebp, dword [esp + 0x10c]
mov dword [esp + 0x198], edx
xor ebx, eax
mov dword [edi + 0x4c], edx
mov edx, dword [esp + 0x184]
mov esi, ebx
mov ebx, dword [esp + 0x180]
xor ebp, edx
xor esi, ebx
xor ecx, ebx
mov eax, ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0xb8], ebp
mov dword [edi + 0x6c], ebp
mov ebp, eax
mov dword [esp + 0x1dc], ecx
shl ebp, 2
mov dword [edi + 0x88], ecx
mov dword [esp + 0x28], esi
xor ebx, edx
mov dword [edi + 0x68], esi
mov esi, dword [esp + 0x98]
shld edx, eax, 2
mov dword [esp + 0x1e0], ebx
mov eax, dword [esp + 0x184]
mov dword [edi + 0x8c], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x180]
mov ecx, edx
and ebx, 0xcccccccc
and ecx, 0xcccccccc
shrd ebp, eax, 2
shr eax, 2
mov dword [esp + 0xb4], eax
mov edx, dword [esp + 0xb4]
mov eax, ebp
and eax, 0x33333333
or ebx, eax
mov eax, dword [esp + 0x9c]
and edx, 0x33333333
mov dword [esp + 0x208], ebx
mov dword [edi + 0x38], ebx
or ecx, edx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x20c], ecx
mov dword [edi + 0x3c], ecx
mov ecx, dword [esp + 0x9c]
shrd esi, eax, 2
shr eax, 2
shld ecx, ebx, 2
shl ebx, 2
mov edx, esi
mov ebp, ebx
and edx, 0x33333333
mov ebx, ecx
and ebp, 0xcccccccc
mov ecx, eax
and ebx, 0xcccccccc
mov esi, ebp
and ecx, 0x33333333
or esi, edx
or ebx, ecx
mov dword [esp + 0x19c], esi
mov dword [edi + 0x58], esi
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
mov dword [edi + 0x5c], ebx
mov dword [esp + 0x1a0], ebx
mov ecx, dword [esp + 0x108]
shld edx, eax, 2
shl eax, 2
mov ebp, eax
mov eax, dword [esp + 0xa4]
mov ebx, edx
and ebp, 0xcccccccc
and ebx, 0xcccccccc
shrd esi, eax, 2
shr eax, 2
and eax, 0x33333333
mov edx, esi
or ebx, eax
and edx, 0x33333333
or ebp, edx
mov dword [edi + 0x7c], ebx
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x10c]
mov dword [edi + 0x78], ebp
mov dword [esp + 0xb0], ebp
mov ebp, ecx
shl ebp, 2
mov eax, ebx
mov esi, ebp
shld eax, ecx, 2
and esi, 0xcccccccc
shrd ecx, ebx, 2
mov ebp, esi
mov esi, dword [esp + 0x1cc]
shr ebx, 2
mov edx, ecx
mov ecx, ebx
and eax, 0xcccccccc
and edx, 0x33333333
and ecx, 0x33333333
mov ebx, dword [esp + 8]
or ebp, edx
not esi
or eax, ecx
mov dword [edi + 0x98], ebp
mov dword [edi + 0x84], esi
mov dword [esp + 0x1e4], ebp
mov dword [esp + 0x1a8], esi
mov ebp, dword [esp + 0x1c8]
mov esi, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov dword [edi + 0x9c], eax
mov edx, dword [esp]
mov dword [esp + 0x1e8], eax
not ebp
not esi
not ecx
mov dword [edi + 0x90], esi
mov dword [edi + 0x80], ebp
mov dword [edi + 0x94], ecx
mov dword [esp + 0x1a4], ebp
not edx
mov ebp, dword [ebx + 0x40]
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1b0], ecx
mov ecx, dword [ebx + 0x44]
mov eax, dword [esp + 0xc]
and edx, ebp
xor edx, dword [esp + 0x1f0]
mov dword [esp + 0x130], ecx
not eax
and eax, ecx
xor eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x20], edx
not ecx
mov dword [edi + 0x24], eax
mov esi, dword [ebx + 0x50]
mov ebx, dword [ebx + 0x54]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x134]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x10]
and ecx, dword [esp + 0xc4]
and esi, edx
xor ecx, dword [esp + 0x1fc]
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0x138]
not ebx
xor ebp, dword [esp + 0x1b4]
and ebx, dword [esp + 0xc0]
xor ebx, dword [esp + 0x1f8]
and esi, eax
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x140]
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0x130]
xor ebp, dword [esp + 0x1b8]
and esi, ecx
mov dword [esp + 0x1d8], ebp
mov ebp, dword [esp + 0x13c]
and ebp, ebx
xor ebp, dword [esp + 0xc0]
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0xc4]
xor ebp, esi
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x1a4]
and ebp, dword [esp]
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0xc]
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0x10]
mov dword [esp + 0x1c0], ebp
xor esi, eax
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0x20]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x138]
mov ebp, edx
mov edx, dword [esp + 0x13c]
xor ebp, ebx
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x134]
xor eax, ecx
not esi
and esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x130], eax
not edx
mov eax, dword [esp + 0x140]
not ebp
and ebp, dword [esp]
and edx, dword [esp + 0x10]
xor ecx, esi
not eax
and eax, dword [esp + 0x20]
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x1b0]
xor ebx, ebp
mov dword [esp + 0x1a4], ebx
mov ebx, dword [esp + 0x1ac]
xor ecx, eax
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xc0]
xor ebx, edx
and ecx, dword [esp + 0xc]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1c0]
and ebx, dword [esp]
mov dword [esp + 0x1c4], ebx
mov ebx, dword [esp + 0x1c4]
xor ecx, dword [esp + 0x138]
xor ebx, dword [esp + 0x134]
xor esi, dword [esp + 0x1cc]
xor ebp, dword [esp + 0x1c8]
and esi, dword [esp + 0xc0]
xor eax, dword [esp + 0x1d4]
xor esi, dword [esp + 0xc]
xor edx, dword [esp + 0x1d0]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xc4]
and ecx, dword [esp + 0x10]
mov dword [esp + 0x134], ebx
xor ecx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x130]
and ebx, dword [esp + 0x20]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x140], esi
mov esi, dword [esp + 0x20]
xor ecx, ebx
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x1c0]
and ebp, ecx
xor ebp, dword [esp]
and edx, dword [esp + 0xc4]
and eax, dword [esp + 0x130]
xor edx, dword [esp + 0x10]
xor esi, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x134]
mov eax, dword [esp + 0x1a8]
or eax, dword [esp + 0x138]
or edx, esi
and esi, ebp
xor edx, ecx
mov dword [esp], edx
xor eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x138]
and edx, dword [esp + 0x140]
mov ebx, dword [esp + 0x1ac]
or ebx, dword [esp + 0x1c4]
xor ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0xc], eax
mov eax, esi
mov esi, dword [esp + 0x1a4]
or ecx, dword [esp + 0x13c]
xor ebp, dword [esp + 0x1b4]
xor ecx, dword [esp + 0x130]
xor esi, eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x1b4]
and esi, dword [esp]
xor eax, edx
mov edx, dword [esp + 0x1d8]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc]
and eax, edx
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x134]
xor eax, esi
mov esi, dword [esp + 0x1a4]
xor esi, dword [esp + 0x138]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x140]
mov eax, dword [esp + 0x134]
xor esi, edx
mov edx, dword [esp + 0x130]
xor eax, ecx
mov dword [esp + 0x16c], eax
xor edx, ebx
and ebx, dword [esp + 0x1b8]
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c4]
and edx, ecx
mov ecx, eax
xor ecx, ebp
mov dword [esp + 0x138], ecx
xor ebx, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x68], ebx
xor ecx, esi
mov ebx, edx
xor ebx, ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x1bc]
xor ebx, dword [esp + 0x20]
xor ecx, dword [esp + 0x10]
xor ecx, dword [esp]
xor edx, ebx
mov ebx, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x10]
xor ecx, edx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x13c]
and ebx, eax
and ecx, dword [esp + 0x20]
mov edx, ebx
mov ebx, dword [esp + 0x1b0]
xor ecx, dword [esp + 0xc]
xor edx, dword [esp]
mov eax, dword [esp + 0x1ac]
xor ebx, ecx
xor eax, edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xf4], ebx
mov edx, dword [esp]
mov ebx, dword [esp + 0xc]
xor ebx, dword [esp + 0x6c]
mov dword [esp + 0xf0], eax
xor edx, ecx
mov dword [esp + 0x1ec], edx
mov dword [edi + 0x20], edx
mov dword [esp + 0x1f0], ebx
mov dword [edi + 0x24], ebx
mov eax, dword [esp + 0x134]
xor eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x130]
xor esi, dword [esp + 0xf4]
xor ebp, edx
mov dword [esp + 0x138], eax
mov dword [edi + 0x44], eax
xor ecx, ebx
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x134], ecx
mov dword [edi + 0x40], ecx
mov ecx, ebp
mov ebp, dword [esp + 0xc0]
xor esi, eax
xor ecx, ebx
xor edx, eax
mov dword [esp], ecx
mov dword [edi + 0x60], ecx
shld eax, ebx, 4
mov dword [esp + 0xc], esi
mov dword [edi + 0x64], esi
xor ebp, ebx
and eax, 0xf0f0f0f0
mov esi, dword [esp + 0x168]
mov dword [esp + 0x1cc], edx
mov ecx, eax
mov eax, dword [esp + 0x16c]
mov dword [edi + 0x84], edx
shl ebx, 4
mov dword [esp + 0x1c8], ebp
mov dword [edi + 0x80], ebp
and ebx, 0xf0f0f0f0
shrd esi, eax, 4
shr eax, 4
mov dword [esp + 0x14], eax
mov eax, esi
mov edx, dword [esp + 0x14]
and eax, 0xf0f0f0f
or ebx, eax
mov eax, dword [esp + 0x68]
mov esi, ebx
and edx, 0xf0f0f0f
mov ebx, ecx
or ebx, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x1f4], esi
mov dword [edi + 0x30], esi
mov dword [esp + 0x1f8], ebx
mov dword [edi + 0x34], ebx
mov ebp, dword [esp + 0x68]
shld edx, eax, 4
shl eax, 4
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov ecx, edx
and ebx, 0xf0f0f0f0
and ecx, 0xf0f0f0f0
mov edx, dword [esp + 0x74]
shrd ebp, eax, 4
shr eax, 4
and eax, 0xf0f0f0f
mov esi, ebp
mov ebp, dword [esp + 0x70]
or ecx, eax
mov eax, dword [esp + 0x70]
and esi, 0xf0f0f0f
or ebx, esi
mov dword [esp + 0x140], ecx
mov dword [edi + 0x54], ecx
mov dword [esp + 0x13c], ebx
mov dword [edi + 0x50], ebx
shld edx, eax, 4
shl eax, 4
mov ebx, eax
mov eax, dword [esp + 0x74]
mov ecx, edx
and ebx, 0xf0f0f0f0
and ecx, 0xf0f0f0f0
shrd ebp, eax, 4
shr eax, 4
mov esi, ebp
and eax, 0xf0f0f0f
and esi, 0xf0f0f0f
or ecx, eax
or ebx, esi
mov dword [esp + 0x20], ecx
mov dword [edi + 0x74], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0xf0]
mov dword [edi + 0x70], ebx
mov ebx, dword [esp + 0xf4]
mov ebp, ecx
mov eax, ebx
shl ebp, 4
shld eax, ecx, 4
shrd ecx, ebx, 4
mov esi, ebp
shr ebx, 4
and eax, 0xf0f0f0f0
and esi, 0xf0f0f0f0
mov edx, ecx
and ebx, 0xf0f0f0f
and edx, 0xf0f0f0f
mov ebp, esi
or eax, ebx
or ebp, edx
mov dword [esp + 0x1d4], eax
mov dword [edi + 0x94], eax
mov dword [esp + 0x1d0], ebp
mov dword [edi + 0x90], ebp
mov esi, dword [esp + 0x1dc]
mov ebp, dword [esp + 0x1e0]
mov ebx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
not esi
not ebp
not ebx
not eax
mov dword [esp + 0x1a4], esi
mov dword [edi + 0x88], esi
mov dword [esp + 0x1a8], ebp
mov dword [edi + 0x8c], ebp
mov dword [esp + 0x1b0], eax
mov dword [edi + 0x9c], eax
mov dword [esp + 0x1ac], ebx
mov dword [edi + 0x98], ebx
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xb8]
mov esi, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
not edx
not eax
and edx, esi
and eax, ecx
xor edx, dword [esp + 0x200]
xor eax, dword [esp + 0x204]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xbc]
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov ebp, dword [ebx + 0x58]
not ecx
mov esi, dword [ebx + 0x5c]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x130], ebp
not ebx
mov dword [esp + 0x1c0], esi
and ebx, ebp
mov ebp, dword [esp + 0x144]
and ecx, esi
mov esi, dword [esp + 0xc0]
xor ebx, dword [esp + 0x208]
xor ecx, dword [esp + 0x20c]
and ebp, edx
mov dword [esp + 0x1b4], ebp
xor esi, dword [esp + 0x1b4]
mov ebp, dword [esp + 0x198]
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0xc4]
and ebp, eax
xor esi, ebp
mov ebp, dword [esp + 0x19c]
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x1a0]
and ebp, ebx
xor ebp, dword [esp + 0x130]
and esi, ecx
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x1c0]
xor ebp, esi
mov dword [esp + 0x1c0], ebp
mov ebp, dword [esp + 0x1a4]
and ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0xb8]
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0xb0]
mov dword [esp + 0x1c4], ebp
mov ebp, dword [esp + 0x144]
xor esi, eax
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0xbc]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x198]
xor edx, ebx
mov ebx, dword [esp + 0x28]
not ebp
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x1a4]
xor eax, ecx
not esi
and esi, dword [esp + 0xb8]
and ebp, ebx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x1a8]
xor edx, ebp
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x19c]
xor eax, esi
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1a0]
not edx
and edx, dword [esp + 0xb0]
not eax
and eax, dword [esp + 0xbc]
xor ecx, edx
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1b0]
xor ecx, eax
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1c4]
and ecx, ebx
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x1d8]
xor ecx, dword [esp + 0x198]
xor ebx, dword [esp + 0x144]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0xc4]
and ecx, dword [esp + 0xb0]
mov dword [esp + 0x144], ebx
xor ecx, dword [esp + 0x19c]
mov ebx, dword [esp + 0x130]
and ebx, dword [esp + 0xbc]
xor edx, dword [esp + 0x1e4]
and edx, dword [esp + 0xc4]
xor ebp, dword [esp + 0x1dc]
xor edx, dword [esp + 0xb0]
xor eax, dword [esp + 0x1e8]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x1a0]
and eax, dword [esp + 0x130]
xor esi, dword [esp + 0x1e0]
xor eax, dword [esp + 0xbc]
and esi, dword [esp + 0xc0]
xor ecx, ebx
xor esi, dword [esp + 0xb8]
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0x1a4]
or edx, dword [esp + 0x144]
mov dword [esp + 0xb8], eax
and ebp, ecx
xor ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x1a8]
or eax, dword [esp + 0x198]
xor edx, ecx
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x28], edx
mov ebp, dword [esp + 0x198]
mov edx, dword [esp + 0x144]
and edx, dword [esp + 0x1a0]
xor eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x1ac]
or ebx, dword [esp + 0x1d8]
and ebp, esi
xor ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x1a4]
or ecx, dword [esp + 0x19c]
xor ecx, dword [esp + 0x130]
xor ebp, edx
mov edx, dword [esp + 0xbc]
xor edx, dword [esp + 0x1a8]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0x1b4]
and ebp, dword [esp + 0x28]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x1b8]
and edx, eax
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x144]
xor edx, ebp
mov ebp, dword [esp + 0xc4]
xor ebp, dword [esp + 0x198]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x1a0]
xor ebp, dword [esp + 0x1b4]
xor esi, dword [esp + 0x1b8]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0xc0]
xor edx, ecx
xor esi, ebx
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x1d8]
and ebx, dword [esp + 0x1bc]
and ecx, dword [esp + 0x1c0]
mov esi, edx
xor esi, ebp
mov dword [esp + 0x144], esi
mov esi, dword [esp + 0x19c]
xor ebx, dword [esp + 0x144]
xor esi, dword [esp + 0x130]
mov dword [esp + 0x78], ebx
xor ecx, esi
mov ebx, dword [esp + 0x1c0]
xor ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x1bc]
xor ebx, eax
xor ecx, esi
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0xb0]
xor ebx, ecx
mov ecx, dword [esp + 0x144]
xor ecx, dword [esp + 0xbc]
mov dword [esp + 0x80], ebx
mov ebx, edx
mov edx, dword [esp + 0x28]
and ebx, esi
xor ebx, edx
xor ebx, dword [esp + 0x1ac]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x19c]
and ecx, dword [esp + 0xb8]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0x1b0]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
xor esi, eax
xor ebx, esi
mov esi, dword [esp + 0x78]
xor edx, eax
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x200], edx
xor ecx, esi
mov dword [esp + 0x1fc], ecx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], edx
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x130]
xor edx, dword [esp + 0xfc]
xor ebx, eax
mov eax, dword [esp + 0x170]
xor ebp, esi
mov dword [esp + 0x144], ebx
mov dword [edi + 0x48], ebx
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x198], ecx
xor ebp, eax
mov dword [edi + 0x4c], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x28], ebp
mov dword [edi + 0x68], ebp
mov ebp, dword [esp + 0xb0]
mov esi, ebx
xor edx, ebx
xor ecx, ebx
mov dword [esp + 0xb8], edx
mov dword [edi + 0x6c], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x1e0], ecx
xor ebp, eax
mov dword [edi + 0x8c], ecx
mov dword [esp + 0x1dc], ebp
mov dword [edi + 0x88], ebp
mov ebp, eax
shld esi, eax, 4
shl ebp, 4
mov ebx, ebp
mov ebp, dword [esp + 0x170]
mov ecx, esi
and ecx, 0xf0f0f0f0
and ebx, 0xf0f0f0f0
mov esi, ecx
shrd ebp, edx, 4
shr edx, 4
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xb4]
mov eax, ebp
and eax, 0xf0f0f0f
mov ebp, ebx
mov ebx, esi
mov ecx, eax
mov eax, dword [esp + 0x78]
and edx, 0xf0f0f0f
or ebp, ecx
or ebx, edx
mov dword [esp + 0x204], ebp
mov dword [edi + 0x38], ebp
mov dword [esp + 0x208], ebx
mov dword [edi + 0x3c], ebx
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
shld edx, eax, 4
shl eax, 4
mov ebx, eax
mov eax, dword [esp + 0x7c]
mov ecx, edx
and ecx, 0xf0f0f0f0
and ebx, 0xf0f0f0f0
mov ebp, ecx
shrd esi, eax, 4
shr eax, 4
mov edx, esi
mov ecx, eax
mov eax, dword [esp + 0x80]
and edx, 0xf0f0f0f
mov esi, dword [esp + 0x80]
and ecx, 0xf0f0f0f
or ebx, edx
mov edx, dword [esp + 0x84]
or ebp, ecx
mov dword [esp + 0x19c], ebx
mov dword [edi + 0x58], ebx
mov dword [esp + 0x1a0], ebp
mov dword [edi + 0x5c], ebp
shld edx, eax, 4
shl eax, 4
mov ebx, eax
mov eax, dword [esp + 0x84]
mov ecx, edx
and ebx, 0xf0f0f0f0
and ecx, 0xf0f0f0f0
mov ebp, ebx
shrd esi, eax, 4
shr eax, 4
mov edx, esi
mov ebx, eax
and edx, 0xf0f0f0f
and ebx, 0xf0f0f0f
or ebp, edx
or ecx, ebx
mov dword [esp + 0xb0], ebp
mov dword [edi + 0x78], ebp
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0xbc], ecx
mov dword [edi + 0x7c], ecx
mov ecx, dword [esp + 0xfc]
mov esi, ebp
shl esi, 4
mov eax, ecx
mov ebx, esi
shld eax, ebp, 4
and ebx, 0xf0f0f0f0
shrd ebp, ecx, 4
mov esi, eax
shr ecx, 4
mov edx, ebp
mov ebp, ebx
and esi, 0xf0f0f0f0
and edx, 0xf0f0f0f
and ecx, 0xf0f0f0f
mov eax, esi
or ebp, edx
or eax, ecx
mov esi, dword [esp + 0x1cc]
mov dword [esp + 0x1e4], ebp
mov dword [edi + 0x98], ebp
mov ebp, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1d0]
not esi
mov dword [esp + 0x1e8], eax
mov dword [edi + 0x9c], eax
mov dword [esp + 0x1a8], esi
mov dword [edi + 0x84], esi
not ebp
not ecx
mov dword [esp + 0x1a4], ebp
mov dword [edi + 0x80], ebp
mov ebp, dword [esp + 0x1d4]
mov dword [esp + 0x1ac], ecx
mov dword [edi + 0x90], ecx
not ebp
mov dword [esp + 0x1b0], ebp
mov dword [edi + 0x94], ebp
mov ebx, dword [esp + 8]
mov edx, dword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x64]
mov ebp, dword [ebx + 0x60]
not edx
not eax
and edx, ebp
and eax, ecx
xor edx, dword [esp + 0x1ec]
xor eax, dword [esp + 0x1f0]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov esi, dword [ebx + 0x70]
not ecx
mov ebx, dword [ebx + 0x74]
mov dword [esp + 0x130], esi
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x10]
and ecx, dword [esp + 0xc0]
xor ecx, dword [esp + 0x1f8]
not ebx
and ebx, esi
mov esi, dword [esp + 0x134]
xor ebx, dword [esp + 0x1f4]
and esi, edx
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0x138]
xor ebp, dword [esp + 0x1b4]
and esi, eax
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x140]
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0xc4]
xor ebp, dword [esp + 0x1b8]
and esi, ecx
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0x13c]
and ebp, ebx
xor ebp, dword [esp + 0x130]
mov dword [esp + 0x1bc], ebp
xor esi, dword [esp + 0xc0]
mov ebp, dword [esp + 0x1a4]
and ebp, dword [esp]
mov dword [esp + 0x1c0], esi
mov esi, dword [esp + 0x1a8]
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0x10]
and esi, dword [esp + 0xc]
mov dword [esp + 0x1c4], ebp
mov ebp, edx
mov edx, dword [esp + 0x13c]
xor esi, eax
xor ebp, ebx
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0x20]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebp
mov esi, dword [esp + 0x138]
not edx
mov ebp, dword [esp + 0x134]
mov ebx, dword [esp + 0x1a4]
xor eax, ecx
not esi
mov ecx, dword [esp + 0x1a8]
not ebp
and ebp, dword [esp]
and esi, dword [esp + 0xc]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x140]
and edx, dword [esp + 0x10]
xor ebx, ebp
xor ecx, esi
not eax
and eax, dword [esp + 0x20]
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], ecx
mov ebx, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
xor ebx, edx
mov dword [esp + 0x1d8], eax
xor ecx, eax
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x1b0], ecx
and eax, dword [esp]
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xc]
xor ecx, dword [esp + 0x138]
xor esi, dword [esp + 0x1cc]
and esi, dword [esp + 0xc0]
xor ebp, dword [esp + 0x1c8]
xor esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x134]
xor edx, dword [esp + 0x1d0]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xc4]
and ecx, dword [esp + 0x10]
xor ebx, eax
and edx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x130]
and eax, dword [esp + 0x20]
xor edx, dword [esp + 0x10]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x1c4]
xor ebx, eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x140], ebx
and ebp, ecx
xor ebp, dword [esp]
mov dword [esp], esi
mov esi, dword [esp + 0x1d8]
xor esi, dword [esp + 0x1d4]
and esi, dword [esp + 0x130]
xor esi, dword [esp + 0x20]
mov dword [esp + 0x10], esi
or edx, dword [esp + 0x134]
mov eax, dword [esp + 0x1a8]
or eax, dword [esp + 0x138]
xor eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x1ac]
mov esi, dword [esp + 0x138]
xor edx, ecx
or ebx, dword [esp + 0x13c]
mov ecx, dword [esp + 0x1b0]
or ecx, dword [esp + 0x140]
and esi, dword [esp]
xor ecx, dword [esp + 0x130]
xor ebx, dword [esp + 0xc4]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0x1a4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x134]
and ecx, ebp
xor ebp, dword [esp + 0x1b4]
xor esi, ecx
mov ecx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x1a8]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x1b4]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x1b8]
and esi, edx
and ecx, eax
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x134]
xor ecx, esi
mov esi, dword [esp + 0x1a4]
xor esi, dword [esp + 0x138]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x130]
xor ecx, ebx
mov dword [esp + 0x134], esi
mov esi, dword [esp]
xor esi, dword [esp + 0x1b8]
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x134]
xor ecx, dword [esp + 0x20]
and ebx, dword [esp + 0x1bc]
mov dword [esp + 0x15c], ecx
mov ecx, dword [esp + 0x20]
and ecx, dword [esp + 0x1c0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x13c]
xor ecx, ebp
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x140]
xor ebx, dword [esp + 0x20]
xor ecx, esi
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp]
xor ebx, dword [esp + 0x138]
xor ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x1c0]
xor ecx, edx
xor ebx, dword [esp + 0x10]
xor ebx, eax
mov dword [esp], ebx
mov ebx, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, dword [esp]
xor ecx, dword [esp + 0xc4]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x13c]
and ebx, dword [esp + 0xc]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x140]
and ecx, dword [esp + 0x10]
xor ebx, edx
xor ecx, eax
mov dword [esp], ecx
mov ecx, dword [esp + 0x1ac]
xor ecx, ebx
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp]
xor ebx, dword [esp + 0x1b0]
xor eax, dword [esp + 0x54]
xor edx, ecx
mov ecx, dword [esp + 0x134]
xor ecx, dword [esp + 0xdc]
mov dword [esp + 0x1ec], edx
mov dword [edi + 0x20], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0xe4], ebx
xor esi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x130]
xor ebx, dword [esp + 0xd8]
mov dword [esp + 0x1f0], eax
xor ebp, edx
mov edx, dword [esp + 0x15c]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x138], ecx
mov dword [edi + 0x44], ecx
xor esi, edx
mov dword [esp + 0x134], ebx
mov dword [edi + 0x40], ebx
mov dword [esp + 0xc], esi
mov dword [edi + 0x64], esi
xor ebp, eax
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebp
mov dword [edi + 0x60], ebp
xor esi, eax
xor ebx, edx
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x1c8], esi
mov dword [edi + 0x80], esi
mov dword [esp + 0x1cc], ebx
mov dword [edi + 0x84], ebx
mov ebx, eax
mov esi, dword [esp + 0x158]
mov eax, dword [esp + 0x15c]
mov ecx, edx
and ebx, 0xff00ff00
and ecx, 0xff00ff00
mov ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x50]
shrd esi, eax, 8
shr eax, 8
mov dword [esp + 0x14], eax
mov eax, esi
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
and eax, 0xff00ff
or ebp, eax
mov eax, dword [esp + 0x54]
and edx, 0xff00ff
mov dword [esp + 0x1f4], ebp
mov dword [edi + 0x30], ebp
shld esi, ecx, 8
or ebx, edx
shl ecx, 8
mov dword [esp + 0x1f8], ebx
mov dword [edi + 0x34], ebx
mov ebx, ecx
mov ecx, esi
mov esi, dword [esp + 0x50]
and ebx, 0xff00ff00
and ecx, 0xff00ff00
mov ebp, ebx
shrd esi, eax, 8
shr eax, 8
and eax, 0xff00ff
mov ebx, esi
mov esi, ebp
or ecx, eax
mov eax, dword [esp + 0xdc]
and ebx, 0xff00ff
mov dword [esp + 0x140], ecx
mov dword [edi + 0x54], ecx
or esi, ebx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x13c], esi
mov dword [edi + 0x50], esi
mov esi, dword [esp + 0xd8]
shld eax, ecx, 8
shl ecx, 8
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0xdc]
and ebx, 0xff00ff00
and ecx, 0xff00ff00
mov ebp, ebx
shrd esi, eax, 8
shr eax, 8
mov ebx, eax
mov edx, esi
and ebx, 0xff00ff
and edx, 0xff00ff
or ecx, ebx
or ebp, edx
mov dword [esp + 0x20], ecx
mov dword [edi + 0x74], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x10], ebp
mov dword [edi + 0x70], ebp
mov ebp, dword [esp + 0xe0]
mov eax, ecx
shld eax, ebp, 8
mov esi, ebp
shrd ebp, ecx, 8
shl esi, 8
shr ecx, 8
mov ebx, eax
mov edx, ebp
and esi, 0xff00ff00
and ebx, 0xff00ff00
and edx, 0xff00ff
mov ebp, ecx
mov ecx, ebx
or esi, edx
and ebp, 0xff00ff
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1d0], esi
mov dword [edi + 0x90], esi
or ecx, ebp
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x1d4], ecx
mov dword [edi + 0x94], ecx
not eax
not esi
mov dword [esp + 0x1a4], esi
mov dword [edi + 0x88], esi
mov edx, dword [esp + 0x1e4]
mov ebp, dword [esp + 0x1e8]
mov ebx, dword [esp + 8]
mov dword [edi + 0x8c], eax
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0xb8]
not edx
not ebp
mov dword [edi + 0x98], edx
mov dword [esp + 0x1ac], edx
mov edx, dword [esp + 0x28]
mov dword [edi + 0x9c], ebp
not eax
mov esi, dword [ebx + 0x68]
mov dword [esp + 0x1b0], ebp
mov ebp, dword [ebx + 0x6c]
not edx
and edx, esi
xor edx, dword [esp + 0x1fc]
mov dword [esp + 0xc4], esi
and eax, ebp
xor eax, dword [esp + 0x200]
mov dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x144]
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov ecx, dword [ebx + 0x7c]
and ebp, edx
mov esi, dword [ebx + 0x78]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0x198]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xbc]
not ebx
mov dword [esp + 0x1bc], esi
and ebx, esi
mov esi, dword [esp + 0xc4]
xor ebx, dword [esp + 0x204]
not ecx
and ecx, dword [esp + 0xc0]
and ebp, eax
xor ecx, dword [esp + 0x208]
xor esi, dword [esp + 0x1b4]
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0x130]
xor esi, ebp
mov ebp, dword [esp + 0x19c]
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x1a0]
and ebp, ebx
xor ebp, dword [esp + 0x1bc]
and esi, ecx
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0xc0]
xor ebp, esi
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0xb8]
mov dword [esp + 0x1c0], ebp
mov ebp, dword [esp + 0x1a4]
and ebp, dword [esp + 0x28]
xor esi, eax
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0xbc]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x198]
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0xb0]
mov dword [esp + 0x1c4], ebp
mov ebp, dword [esp + 0x144]
not esi
and esi, dword [esp + 0xb8]
xor eax, ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x130], eax
not ebp
and ebp, dword [esp + 0x28]
xor edx, ebx
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0xc4], edx
xor ecx, esi
mov edx, dword [esp + 0x19c]
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], ecx
xor ebx, ebp
mov dword [esp + 0x1a4], ebx
mov ecx, dword [esp + 0xb0]
not edx
mov ebx, dword [esp + 0x1ac]
not eax
and eax, dword [esp + 0xbc]
xor ebp, dword [esp + 0x1dc]
xor esi, dword [esp + 0x1e0]
and ecx, edx
mov edx, dword [esp + 0x1c4]
and edx, dword [esp + 0x28]
xor ebx, ecx
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x144]
and esi, dword [esp + 0xc0]
xor ecx, eax
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xc0]
xor ebx, edx
and ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x130]
xor ecx, dword [esp + 0x198]
and edx, dword [esp + 0xbc]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x1c4]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0xc4]
and ebp, ebx
and ecx, dword [esp + 0xb0]
xor ecx, dword [esp + 0x19c]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x1a0]
xor ecx, edx
xor ebp, dword [esp + 0x28]
xor esi, dword [esp + 0xb8]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], ebp
mov ebp, dword [esp + 0x1fc]
xor ebp, dword [esp + 0x1e4]
xor eax, dword [esp + 0x1e8]
and ebp, dword [esp + 0xc4]
and eax, dword [esp + 0x130]
xor ebp, dword [esp + 0xb0]
mov edx, dword [esp + 0x1a4]
or edx, dword [esp + 0x144]
xor eax, dword [esp + 0xbc]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1b0]
xor edx, ebx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x28], edx
or eax, dword [esp + 0x198]
or ebp, ecx
mov edx, dword [esp + 0x144]
and edx, dword [esp + 0x1a0]
mov ecx, ebp
mov ebp, dword [esp + 0x198]
xor eax, dword [esp + 0xc0]
xor ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x1ac]
or ebx, dword [esp + 0x1d8]
and ebp, esi
xor ebx, dword [esp + 0xc4]
mov dword [esp + 0xc0], ebp
mov ebp, dword [esp + 0x1a4]
xor ebp, edx
mov edx, dword [esp + 0xc0]
xor edx, dword [esp + 0x1a8]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x1b4]
and ebp, dword [esp + 0x28]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x1b8]
and edx, eax
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x144]
xor edx, ebp
mov dword [esp + 0xc4], edx
mov ebp, dword [esp + 0x130]
mov edx, dword [esp + 0xc4]
xor ebp, dword [esp + 0x198]
xor esi, dword [esp + 0x1b8]
xor edx, ebx
and ebx, dword [esp + 0x1bc]
mov dword [esp + 0x130], ebp
mov dword [esp + 0x160], edx
mov edx, dword [esp + 0x130]
mov ebp, dword [esp + 0x1a0]
xor ebp, dword [esp + 0x1b4]
xor edx, ecx
mov dword [esp + 0x164], edx
mov edx, dword [esp + 0x1c0]
and edx, ecx
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x1d8]
mov ecx, edx
xor ecx, ebp
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x19c]
xor ecx, esi
xor ebx, dword [esp + 0x198]
and edx, dword [esp + 0xb8]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x144]
xor ebx, ecx
mov ecx, dword [esp + 0x1bc]
xor ecx, dword [esp + 0xb8]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x1c0]
xor ebx, dword [esp + 0xb0]
xor ecx, dword [esp + 0x28]
xor ebx, eax
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0xbc]
xor ebx, ecx
mov ecx, dword [esp + 0x144]
xor ecx, dword [esp + 0xc0]
mov dword [esp + 0x60], ebx
mov ebx, edx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x19c]
xor ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x1ac]
and ecx, dword [esp + 0xb0]
xor edx, ebx
mov ebx, dword [esp + 0x1b0]
xor ecx, eax
mov dword [esp + 0xe8], edx
mov edx, dword [esp + 0x58]
xor eax, dword [esp + 0x5c]
xor ebx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0xc4]
xor esi, dword [esp + 0xec]
xor ecx, edx
mov dword [esp + 0x208], eax
mov dword [edi + 0x2c], eax
mov dword [esp + 0x204], ecx
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x130]
xor edx, dword [esp + 0x64]
xor ebx, ecx
mov ecx, dword [esp + 0x164]
xor ebp, eax
mov dword [esp + 0x198], ebx
mov dword [edi + 0x48], ebx
mov ebx, dword [esp + 0x160]
mov eax, dword [esp + 0xbc]
xor esi, ecx
mov dword [esp + 0x19c], edx
mov dword [edi + 0x4c], edx
mov dword [esp + 0xb8], esi
mov dword [edi + 0x6c], esi
mov esi, ecx
xor ebp, ebx
xor eax, ebx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x28], ebp
mov dword [edi + 0x68], ebp
mov ebp, ebx
shl ebp, 8
mov dword [esp + 0x1dc], eax
mov dword [edi + 0x88], eax
shld esi, ebx, 8
mov eax, dword [esp + 0x164]
mov ebx, ebp
mov ebp, dword [esp + 0x160]
xor edx, ecx
mov ecx, esi
and ebx, 0xff00ff00
mov dword [esp + 0x1e0], edx
mov dword [edi + 0x8c], edx
and ecx, 0xff00ff00
shrd ebp, eax, 8
shr eax, 8
mov esi, ecx
mov dword [esp + 0xb4], eax
mov edx, dword [esp + 0xb4]
mov eax, ebp
and eax, 0xff00ff
mov ebp, ebx
mov ebx, esi
mov ecx, eax
mov eax, dword [esp + 0x58]
and edx, 0xff00ff
or ebp, ecx
or ebx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x20c], ebp
mov dword [edi + 0x38], ebp
mov dword [esp + 0x210], ebx
mov dword [edi + 0x3c], ebx
mov ebp, dword [esp + 0x58]
shld edx, eax, 8
shl eax, 8
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [esp + 0x64]
and ebx, 0xff00ff00
shrd ebp, eax, 8
shr eax, 8
and eax, 0xff00ff
mov esi, ebp
mov ebp, dword [esp + 0x60]
or ecx, eax
mov eax, dword [esp + 0x60]
and esi, 0xff00ff
or ebx, esi
mov dword [esp + 0x1a4], ecx
mov dword [edi + 0x5c], ecx
mov dword [esp + 0x1a0], ebx
mov dword [edi + 0x58], ebx
shld edx, eax, 8
shl eax, 8
mov ebx, eax
mov eax, dword [esp + 0x64]
mov ecx, edx
and ecx, 0xff00ff00
and ebx, 0xff00ff00
shrd ebp, eax, 8
shr eax, 8
and eax, 0xff00ff
mov esi, ebp
mov ebp, dword [esp + 0xe8]
or ecx, eax
and esi, 0xff00ff
mov dword [esp + 0xbc], ecx
mov dword [edi + 0x7c], ecx
or ebx, esi
mov ecx, dword [esp + 0xec]
mov esi, ebp
mov dword [esp + 0xb0], ebx
shl esi, 8
mov dword [edi + 0x78], ebx
mov ebx, esi
mov eax, ecx
and ebx, 0xff00ff00
shld eax, ebp, 8
shrd ebp, ecx, 8
shr ecx, 8
and eax, 0xff00ff00
mov edx, ebp
and ecx, 0xff00ff
mov ebp, ebx
and edx, 0xff00ff
or eax, ecx
or ebp, edx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e4], ebp
mov dword [edi + 0x98], ebp
mov dword [edi + 0x9c], eax
mov ebx, dword [esp + 0x1d0]
mov ebp, dword [esp + 0x1c8]
mov esi, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp]
not ebx
mov eax, dword [esp + 0xc]
mov dword [edi + 0x90], ebx
mov dword [esp + 0x1ac], ebx
not ebp
mov ebx, dword [esp + 8]
not esi
not ecx
mov dword [edi + 0x80], ebp
mov dword [edi + 0x84], esi
not edx
mov dword [edi + 0x94], ecx
mov dword [esp + 0x144], ebp
not eax
mov ebp, dword [ebx + 0x80]
mov dword [esp + 0x1a8], esi
mov esi, dword [ebx + 0x84]
mov dword [esp + 0x1b0], ecx
and edx, ebp
xor edx, dword [esp + 0x1ec]
and eax, esi
xor eax, dword [esp + 0x1f0]
mov dword [esp + 0xc4], esi
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov esi, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x94]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x130], esi
not ebx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x20]
and ebx, esi
mov esi, dword [esp + 0x134]
xor ebx, dword [esp + 0x1f4]
not ecx
and ecx, dword [esp + 0xc0]
and esi, edx
xor ecx, dword [esp + 0x1f8]
mov dword [esp + 0x1b4], esi
xor ebp, dword [esp + 0x1b4]
mov esi, dword [esp + 0x138]
and esi, eax
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x1b8], esi
xor ebp, dword [esp + 0x1b8]
mov esi, dword [esp + 0x140]
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0x13c]
and esi, ecx
xor esi, dword [esp + 0xc0]
and ebp, ebx
xor ebp, dword [esp + 0x130]
mov dword [esp + 0x1c0], esi
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0xc]
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x144]
and ebp, dword [esp]
xor esi, eax
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0x20]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x138]
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0x10]
mov dword [esp + 0x1c4], ebp
not esi
and esi, dword [esp + 0xc]
xor eax, ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x130], eax
mov ebp, edx
xor ebp, ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0x134]
xor ecx, esi
not ebp
and ebp, dword [esp]
xor ebx, ebp
mov dword [esp + 0x144], ebx
mov dword [esp + 0x1a8], ecx
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ebx, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
not edx
not eax
and edx, dword [esp + 0x10]
and eax, dword [esp + 0x20]
xor ebx, edx
xor ecx, eax
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1c4]
mov dword [esp + 0x1b0], ecx
and ebx, dword [esp]
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xc]
xor ecx, dword [esp + 0x138]
xor esi, dword [esp + 0x1cc]
and esi, dword [esp + 0xc0]
xor ebp, dword [esp + 0x1c8]
mov dword [esp + 0x1d8], ebx
mov ebx, dword [esp + 0x1d8]
xor ebx, dword [esp + 0x134]
xor esi, dword [esp + 0xc]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xc4]
and ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x13c]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x130]
and ebx, dword [esp + 0x20]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x140]
xor ecx, ebx
mov ebx, dword [esp + 0x1c4]
mov dword [esp + 0x140], ecx
and ebp, ebx
xor ebp, dword [esp]
mov dword [esp], esi
mov esi, dword [esp + 0x1b0]
or esi, dword [esp + 0x140]
xor esi, dword [esp + 0x130]
xor eax, dword [esp + 0x1d4]
and eax, dword [esp + 0x130]
xor edx, dword [esp + 0x1d0]
xor eax, dword [esp + 0x20]
and edx, dword [esp + 0xc4]
xor edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x1c4], esi
mov esi, dword [esp + 0x138]
and esi, dword [esp]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1a8]
and ecx, ebp
or eax, dword [esp + 0x138]
mov dword [esp + 0xc], edx
xor eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x144]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x144]
or edx, dword [esp + 0x134]
xor esi, ecx
mov ecx, dword [esp + 0xc0]
xor ecx, dword [esp + 0x1a8]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x1b4]
xor edx, ebx
mov ebx, dword [esp + 0x1ac]
or ebx, dword [esp + 0x13c]
xor ebx, dword [esp + 0xc4]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x1b8]
and esi, edx
and ecx, eax
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x134]
xor ebp, dword [esp + 0x1b4]
xor ecx, esi
mov esi, dword [esp + 0x130]
xor esi, dword [esp + 0x138]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp]
xor ecx, dword [esp + 0x1b8]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0xc4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
xor esi, ebx
and ebx, dword [esp + 0x1bc]
mov dword [esp + 0x148], esi
mov esi, dword [esp + 0x1c4]
xor ecx, esi
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x1c0]
and ecx, esi
mov esi, dword [esp + 0x13c]
xor esi, ebp
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x140]
xor esi, dword [esp]
xor ebx, dword [esp + 0x134]
xor ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1bc]
xor ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c0]
xor ebx, dword [esp + 0x10]
xor ecx, edx
xor esi, ecx
mov ecx, dword [esp + 0xc0]
xor ebx, eax
mov dword [esp + 0x38], esi
xor ecx, ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x3c], ecx
and ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x140]
and ecx, dword [esp + 0x10]
xor ebx, edx
xor esi, ebx
mov ebx, dword [esp + 0x1b0]
xor ecx, eax
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xc4]
xor eax, dword [esp + 0x34]
xor ebx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x38]
xor edx, ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x1f8], eax
xor esi, ebx
mov ebx, dword [esp + 0x130]
xor ebx, dword [esp + 0x3c]
mov dword [esp + 0x138], esi
mov dword [edi + 0x40], esi
xor ebp, ecx
mov ecx, dword [esp]
xor ecx, dword [esp + 0xcc]
mov esi, ebp
mov ebp, dword [esp + 0x148]
mov dword [edi + 0x24], eax
mov dword [esp + 0x13c], ebx
mov eax, dword [esp + 0x14c]
mov dword [edi + 0x44], ebx
mov ebx, dword [esp + 0xc0]
xor esi, ebp
mov dword [esp + 0x1c8], edx
mov dword [edi + 0x20], edx
mov dword [esp], esi
mov dword [edi + 0x60], esi
xor ecx, eax
mov esi, dword [esp + 0x20]
xor ebx, eax
mov dword [esp + 0xc], ecx
shld eax, ebp, 0x10
mov dword [edi + 0x64], ecx
xor esi, ebp
mov ecx, eax
shl ebp, 0x10
mov dword [esp + 0x1cc], esi
mov edx, dword [esp + 0x14c]
xor cx, cx
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1d0], ebx
mov dword [edi + 0x84], ebx
mov ebx, ebp
mov dword [edi + 0x80], esi
xor bx, bx
shrd eax, edx, 0x10
mov ebp, ebx
mov ebx, ecx
shr edx, 0x10
mov dword [esp + 0x10], eax
movzx ecx, word [esp + 0x10]
mov esi, ebp
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x34]
mov ebp, ebx
movzx eax, word [esp + 0x14]
or esi, ecx
mov dword [esp + 0x1fc], esi
mov dword [edi + 0x30], esi
mov esi, dword [esp + 0x30]
or ebp, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x200], ebp
mov dword [edi + 0x34], ebp
shld edx, esi, 0x10
shl esi, 0x10
mov ebx, esi
mov esi, dword [esp + 0x34]
mov ecx, edx
xor bx, bx
xor cx, cx
mov ebp, ebx
mov ebx, ecx
shrd eax, esi, 0x10
shr esi, 0x10
mov dword [esp + 0x10], eax
movzx ecx, word [esp + 0x10]
mov dword [esp + 0x14], esi
movzx edx, word [esp + 0x14]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
or ebp, ecx
mov ecx, dword [esp + 0x3c]
or ebx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x140], ebp
mov dword [esp + 0x144], ebx
mov dword [edi + 0x54], ebx
shld ecx, esi, 0x10
shl esi, 0x10
mov dword [edi + 0x50], ebp
shrd eax, edx, 0x10
mov ebx, esi
xor cx, cx
shr edx, 0x10
xor bx, bx
movzx esi, ax
mov ebp, ebx
mov ebx, ecx
movzx ecx, dx
or ebp, esi
mov esi, ebx
or esi, ecx
mov dword [esp + 0x10], ebp
mov dword [edi + 0x70], ebp
mov dword [esp + 0x20], esi
mov dword [edi + 0x74], esi
mov ebp, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov eax, ebp
mov esi, ecx
shld eax, ecx, 0x10
shl esi, 0x10
mov ebx, eax
xor si, si
mov eax, dword [esp + 0x1e0]
xor bx, bx
shrd ecx, ebp, 0x10
shr ebp, 0x10
not eax
movzx edx, cx
movzx ecx, bp
mov ebp, ebx
or esi, edx
mov edx, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1e8]
mov dword [edi + 0x90], esi
mov dword [esp + 0x1d4], esi
or ebp, ecx
mov esi, dword [esp + 0x1dc]
mov dword [edi + 0x8c], eax
not edx
not ebx
mov dword [esp + 0x1a8], eax
mov dword [edi + 0x98], edx
mov dword [esp + 0x1ac], edx
not esi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x88], esi
mov dword [esp + 0x134], esi
mov esi, dword [esp + 8]
mov dword [edi + 0x94], ebp
mov dword [edi + 0x9c], ebx
mov dword [esp + 0x1b0], ebx
not edx
not eax
mov dword [esp + 0x1d8], ebp
mov ebx, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
and edx, ebx
and eax, ecx
xor edx, dword [esp + 0x204]
xor eax, dword [esp + 0x208]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0xc4], ecx
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov ebp, dword [esi + 0x98]
not ebx
mov esi, dword [esi + 0x9c]
mov ecx, dword [esp + 0xbc]
and ebx, ebp
mov dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x198]
not ecx
mov dword [esp + 0x1bc], esi
xor ebx, dword [esp + 0x20c]
and ecx, esi
mov esi, dword [esp + 0xc0]
xor ecx, dword [esp + 0x210]
and ebp, edx
mov dword [esp + 0x1b4], ebp
xor esi, dword [esp + 0x1b4]
mov ebp, dword [esp + 0x19c]
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0xc4]
and ebp, eax
xor esi, ebp
mov ebp, dword [esp + 0x1a0]
mov dword [esp + 0x1ec], esi
mov esi, dword [esp + 0x1a4]
and ebp, ebx
xor ebp, dword [esp + 0x130]
and esi, ecx
mov dword [esp + 0x1b8], ebp
mov ebp, dword [esp + 0x1bc]
xor ebp, esi
mov esi, dword [esp + 0x1a8]
and esi, dword [esp + 0xb8]
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x134]
and ebp, dword [esp + 0x28]
xor esi, eax
mov eax, dword [esp + 0x1b0]
and eax, dword [esp + 0xbc]
mov dword [esp + 0xc0], esi
xor ebp, edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0xb0]
mov dword [esp + 0x1c0], ebp
mov ebp, dword [esp + 0x198]
xor eax, ecx
mov dword [esp + 0x130], eax
xor edx, ebx
not ebp
mov dword [esp + 0xc4], edx
mov esi, dword [esp + 0x19c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ac]
not esi
and esi, dword [esp + 0xb8]
and ebp, ecx
xor edx, ebp
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0x1a0]
xor eax, esi
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1a4]
not edx
and edx, dword [esp + 0xb0]
xor ebp, dword [esp + 0x1dc]
xor esi, dword [esp + 0x1e0]
not eax
and eax, dword [esp + 0xbc]
xor ebx, edx
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1f0], eax
xor ebx, eax
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x1c0]
and ebx, ecx
xor ebx, dword [esp + 0x198]
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xb8]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0xc4]
and ebx, dword [esp + 0xb0]
mov eax, ecx
mov ecx, dword [esp + 0x1a0]
xor eax, dword [esp + 0x19c]
xor ecx, ebx
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], ecx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x1a4]
and eax, dword [esp + 0xbc]
mov ebx, dword [esp + 0x1c0]
xor edx, dword [esp + 0x1e4]
and esi, dword [esp + 0xc0]
and edx, dword [esp + 0xc4]
xor esi, dword [esp + 0xb8]
and ebp, ebx
xor ebp, dword [esp + 0x28]
xor edx, dword [esp + 0xb0]
xor ecx, eax
mov eax, dword [esp + 0x1a8]
or eax, dword [esp + 0x198]
xor eax, dword [esp + 0xc0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x1a0], ebp
mov ebp, dword [esp + 0x1f0]
xor ebp, dword [esp + 0x1e8]
mov dword [esp + 0x1a4], edx
and ebp, dword [esp + 0x130]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x198]
xor edx, ebp
mov ebp, dword [esp + 0x1b0]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x1c4]
or edx, dword [esp + 0x134]
or ebp, ecx
mov ecx, ebp
xor ecx, dword [esp + 0x130]
mov ebp, dword [esp + 0x1c4]
xor edx, ebx
mov ebx, dword [esp + 0x1ac]
or ebx, dword [esp + 0x19c]
xor ebx, dword [esp + 0xc4]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x134]
and edx, dword [esp + 0x1a0]
and eax, esi
xor ebp, edx
mov dword [esp + 0x130], ebp
mov edx, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x1b4]
and ebp, dword [esp + 0xb8]
xor edx, eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x28]
xor esi, eax
and edx, eax
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x134]
xor edx, ebp
mov ebp, dword [esp + 0xc4]
xor ebp, dword [esp + 0x198]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc4], ebp
xor edx, ebx
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0x1a0]
mov dword [esp + 0x150], edx
xor ebp, dword [esp + 0x1b4]
mov edx, dword [esp + 0x19c]
xor eax, ecx
and ecx, dword [esp + 0x1bc]
and ebx, dword [esp + 0x1b8]
mov dword [esp + 0x154], eax
mov eax, edx
xor eax, ebp
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xb0]
xor ebx, dword [esp + 0x134]
xor eax, esi
xor ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x1b8]
xor ecx, dword [esp + 0x1a4]
mov dword [esp + 0x40], ebx
xor ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x1bc]
xor ebx, dword [esp + 0xbc]
xor ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x130]
and edx, dword [esp + 0x1a4]
xor eax, ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1ac]
xor ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xb0]
and ecx, dword [esp + 0xbc]
xor ebx, edx
xor ecx, dword [esp + 0x28]
xor eax, ebx
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd0]
xor ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0xc0]
xor ecx, edx
mov edx, dword [esp + 0x28]
xor edx, dword [esp + 0x44]
mov dword [esp + 0x204], ecx
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x208], edx
mov dword [edi + 0x2c], edx
xor ebx, ecx
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x150]
xor edx, dword [esp + 0x4c]
xor ebp, eax
xor esi, dword [esp + 0xd4]
mov dword [esp + 0x198], ebx
mov dword [edi + 0x48], ebx
xor ebp, ecx
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x1ac], edx
mov dword [edi + 0x4c], edx
mov dword [esp + 0xc0], ebp
mov dword [edi + 0x68], ebp
xor esi, ebx
mov ebp, dword [esp + 0x130]
mov edx, dword [esp + 0x1a8]
mov eax, ebx
shld eax, ecx, 0x10
mov dword [esp + 0xc4], esi
mov dword [edi + 0x6c], esi
xor ebp, ecx
xor edx, ebx
mov dword [esp + 0x1dc], ebp
mov dword [edi + 0x88], ebp
mov ebp, ecx
shl ebp, 0x10
mov dword [esp + 0x1ec], edx
mov dword [edi + 0x8c], edx
mov ebx, ebp
mov edx, dword [esp + 0x154]
mov ebp, dword [esp + 0x150]
mov ecx, eax
xor bx, bx
xor cx, cx
mov esi, ebx
shrd ebp, edx, 0x10
shr edx, 0x10
mov ebx, ecx
mov dword [esp + 0x28], ebp
movzx eax, word [esp + 0x28]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
movzx ecx, word [esp + 0x2c]
or esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20c], esi
mov dword [edi + 0x38], esi
or ebx, ecx
shld edx, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x210], ebx
mov dword [edi + 0x3c], ebx
mov ecx, edx
mov ebx, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
xor bx, bx
xor cx, cx
mov esi, ebx
mov ebp, esi
shrd eax, edx, 0x10
shr edx, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
movzx ebx, word [esp + 0x28]
movzx eax, word [esp + 0x2c]
or ebp, ebx
or ecx, eax
mov dword [esp + 0x1b0], ebp
mov dword [edi + 0x58], ebp
mov dword [esp + 0x1b4], ecx
mov dword [edi + 0x5c], ecx
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
shld esi, ecx, 0x10
shl ecx, 0x10
mov ebx, ecx
mov ecx, esi
shrd eax, edx, 0x10
xor bx, bx
shr edx, 0x10
xor cx, cx
mov ebp, ebx
movzx ebx, dx
movzx esi, ax
or ecx, ebx
mov eax, ebp
mov ebx, dword [esp + 0xd4]
or eax, esi
mov esi, dword [esp + 0xd0]
mov dword [edi + 0x7c], ecx
mov dword [edi + 0x78], eax
mov dword [esp + 0x130], eax
mov eax, ebx
mov dword [esp + 0x134], ecx
shld eax, esi, 0x10
mov ebp, esi
shrd esi, ebx, 0x10
shr ebx, 0x10
shl ebp, 0x10
xor ax, ax
movzx ecx, bx
movzx edx, si
xor bp, bp
or eax, ecx
or ebp, edx
mov esi, dword [esp + 0x1d0]
mov dword [edi + 0x9c], eax
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x1d4]
mov dword [edi + 0x98], ebp
mov dword [esp + 0x1f0], ebp
mov ecx, dword [esp + 0x1d8]
not esi
mov ebp, dword [esp + 0x1cc]
mov ebx, dword [esp + 8]
not eax
mov edx, dword [esp]
mov dword [edi + 0x84], esi
mov dword [edi + 0x90], eax
not ecx
mov dword [esp + 0x1a0], eax
not ebp
mov eax, dword [esp + 0xc]
mov dword [edi + 0x94], ecx
mov dword [edi + 0x80], ebp
mov dword [esp + 0xbc], ebp
not edx
mov ebp, dword [ebx + 0xa0]
mov dword [esp + 0x19c], esi
mov esi, dword [ebx + 0xa4]
not eax
mov dword [esp + 0x1a4], ecx
and edx, ebp
xor edx, dword [esp + 0x1c8]
and eax, esi
xor eax, dword [esp + 0x1f8]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov ecx, dword [ebx + 0xb0]
mov ebx, dword [ebx + 0xb4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0x10]
not ecx
and ecx, dword [esp + 0xb8]
xor ecx, dword [esp + 0x200]
not ebx
and ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x1fc]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x138]
and ecx, edx
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x13c]
xor ebp, dword [esp + 0x1a8]
and ecx, eax
xor esi, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x1a8], ebp
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x1b8], esi
mov esi, dword [esp + 0x144]
and esi, dword [esp + 0xb0]
and ebp, ebx
xor ebp, dword [esp + 0x28]
xor ecx, esi
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0xbc]
and ecx, dword [esp]
mov dword [esp + 0x1bc], ebp
mov ebp, dword [esp + 0x19c]
and ebp, dword [esp + 0xc]
mov esi, ecx
xor esi, edx
mov edx, ebp
xor edx, eax
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x1a0]
and edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x138]
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x1a4]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0xb0]
not ebp
mov ecx, edx
not esi
mov edx, dword [esp + 0x19c]
xor ecx, ebx
and ebp, dword [esp]
and esi, dword [esp + 0xc]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x144]
xor edx, esi
mov dword [esp + 0x19c], edx
mov edx, dword [esp + 0x140]
xor ebx, ebp
not eax
and eax, dword [esp + 0x20]
mov dword [esp + 0x1c8], ebx
mov ebx, dword [esp + 0x1a4]
not edx
and edx, dword [esp + 0x10]
xor ebx, eax
mov dword [esp + 0x1a4], ebx
xor ecx, edx
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1c4]
and ecx, dword [esp]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x28]
and ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
xor ecx, dword [esp + 0x13c]
xor ebx, dword [esp + 0x138]
mov dword [esp + 0x138], ecx
mov dword [esp + 0xbc], ebx
mov ecx, dword [esp + 0xb8]
and ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0xb0]
and ebx, dword [esp + 0x20]
xor esi, dword [esp + 0x1d0]
and esi, dword [esp + 0x28]
xor ebp, dword [esp + 0x1cc]
xor esi, dword [esp + 0xc]
xor edx, dword [esp + 0x1d4]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x144]
and edx, dword [esp + 0xb8]
xor eax, dword [esp + 0x1d8]
and eax, dword [esp + 0xb0]
xor ecx, ebx
mov ebx, dword [esp + 0x1c4]
xor eax, dword [esp + 0x20]
mov dword [esp + 0x140], ecx
and ebp, ebx
xor ebp, dword [esp]
mov dword [esp], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x19c]
or eax, dword [esp + 0x138]
xor eax, dword [esp + 0x28]
xor esi, edx
mov edx, dword [esp + 0x1c8]
or edx, dword [esp + 0xbc]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1a4]
xor edx, ebx
mov ebx, dword [esp + 0x1a0]
or ebx, dword [esp + 0x13c]
xor ebx, dword [esp + 0xb8]
or esi, ecx
xor esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x138]
and ecx, dword [esp]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c8]
and esi, ebp
xor ebp, dword [esp + 0x1a8]
xor ecx, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x19c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x1c8], esi
mov esi, dword [esp + 0x1b8]
and ecx, edx
and esi, eax
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0xbc]
xor esi, ecx
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x138]
mov dword [esp + 0xb0], esi
mov esi, dword [esp]
xor esi, dword [esp + 0x1b8]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0xc]
xor ecx, ebx
and ebx, dword [esp + 0x1bc]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0xbc]
xor ecx, esi
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x1c0]
and ecx, esi
mov esi, dword [esp + 0x13c]
xor esi, ebp
mov dword [esp], esi
mov esi, dword [esp + 0x140]
xor esi, dword [esp + 0x138]
mov dword [esp + 0xc], esi
mov esi, dword [esp]
xor esi, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x1c4]
xor ebx, ecx
mov ecx, dword [esp + 0x1c0]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0x1bc]
xor ebx, dword [esp + 0x10]
xor ecx, eax
xor ebx, edx
xor esi, ebx
mov ebx, dword [esp + 0x1c8]
mov dword [esp], esi
mov esi, dword [esp + 0xb0]
xor ebx, ecx
mov ecx, dword [esp + 0x140]
and ecx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x13c]
and ebx, dword [esp + 0x10]
xor ecx, eax
xor ebx, edx
xor ebx, dword [esp + 0x1a0]
xor edx, dword [esp + 0x28]
xor eax, dword [esp + 0xb8]
xor esi, dword [esp]
xor ecx, dword [esp + 0x1a4]
mov dword [esp + 0x1f8], edx
mov dword [edi + 0x20], edx
xor ebp, ebx
mov edx, dword [esp + 0xbc]
xor edx, dword [esp + 0xc]
mov dword [esp + 0x1fc], eax
mov dword [edi + 0x24], eax
mov dword [esp + 0x1a4], esi
mov dword [edi + 0x40], esi
mov esi, dword [esp + 0x138]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a8], edx
mov dword [edi + 0x44], edx
mov edx, dword [esp + 0x19c]
mov eax, dword [esp + 0x144]
xor esi, ecx
mov dword [esp + 0x1e0], ebx
mov dword [edi + 0x94], ebx
mov ecx, esi
mov esi, dword [esp + 0xc]
xor ecx, edx
xor ebp, eax
mov dword [edi + 0x30], edx
mov dword [esp + 0xbc], ecx
mov dword [edi + 0x64], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0xb0], ebp
mov dword [edi + 0x60], ebp
mov ebp, eax
mov dword [edi + 0x70], esi
mov dword [edi + 0x34], ebp
mov ebp, dword [esp + 0x28]
xor ecx, eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x1e4], ecx
mov dword [edi + 0x80], ecx
mov ecx, dword [esp + 0xb8]
mov dword [edi + 0x54], ebp
xor eax, edx
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x1e8], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x50], ecx
mov eax, dword [esp]
mov dword [edi + 0x90], edx
mov edx, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1ec]
mov dword [edi + 0x74], eax
not edx
mov dword [esp + 0x140], edx
not ecx
mov eax, dword [esp + 0x1f0]
mov dword [edi + 0x8c], ecx
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x1f4]
mov ebx, dword [esp + 8]
not eax
mov dword [edi + 0x88], edx
mov edx, dword [esp + 0xc0]
mov dword [edi + 0x98], eax
mov dword [esp + 0x1bc], eax
not ecx
mov eax, dword [esp + 0xc4]
mov dword [edi + 0x9c], ecx
mov dword [esp + 0x1c0], ecx
not edx
mov ecx, dword [ebx + 0xa8]
mov esi, dword [ebx + 0xac]
not eax
and edx, ecx
and eax, esi
xor edx, dword [esp + 0x204]
xor eax, dword [esp + 0x208]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x134]
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov ebp, dword [ebx + 0xb8]
not ecx
mov ebx, dword [ebx + 0xbc]
mov dword [esp + 0x138], ebp
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x130]
and ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x210]
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x198]
xor ebx, dword [esp + 0x20c]
and ebp, edx
mov dword [esp + 0x13c], ebp
mov ebp, dword [esp + 0x1ac]
and ebp, eax
mov dword [esp + 0x1c8], ebp
mov ebp, dword [esp + 0x20]
xor ebp, dword [esp + 0x13c]
mov dword [esp + 0x1c4], ebp
mov ebp, dword [esp + 0x1c8]
xor ebp, esi
mov esi, dword [esp + 0x1b4]
mov dword [esp + 0x1c8], ebp
mov ebp, dword [esp + 0x1b0]
and esi, ecx
xor esi, dword [esp + 0x10]
and ebp, ebx
xor ebp, dword [esp + 0x138]
mov dword [esp + 0x1d0], esi
mov esi, dword [esp + 0x1b8]
mov dword [esp + 0x1cc], ebp
and esi, dword [esp + 0xc4]
mov ebp, dword [esp + 0x140]
and ebp, dword [esp + 0xc0]
xor esi, eax
mov eax, dword [esp + 0x1c0]
xor ebp, edx
mov dword [esp + 0x20], esi
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x10], ebp
and edx, dword [esp + 0x130]
mov ebp, dword [esp + 0x198]
and eax, dword [esp + 0x134]
mov esi, dword [esp + 0x1ac]
not ebp
and ebp, dword [esp + 0xc0]
xor edx, ebx
not esi
and esi, dword [esp + 0xc4]
xor eax, ecx
mov ebx, dword [esp + 0x140]
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], eax
mov edx, dword [esp + 0x1b0]
xor ebx, ebp
xor ecx, esi
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1c0]
not edx
and edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x1bc]
xor esi, dword [esp + 0x1ec]
xor ebp, dword [esp + 0x1dc]
not eax
and eax, dword [esp + 0x134]
and esi, dword [esp + 0x20]
xor esi, dword [esp + 0xc4]
and ebp, dword [esp + 0x10]
xor ebx, edx
xor edx, dword [esp + 0x1f0]
xor ebp, dword [esp + 0xc0]
mov dword [esp + 0x1bc], ebx
mov ebx, dword [esp + 0x198]
xor ecx, eax
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x20]
and ecx, dword [esp + 0xc4]
and eax, dword [esp + 0xc0]
xor ecx, dword [esp + 0x1ac]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0x1d8]
xor ebx, eax
mov eax, dword [esp + 0x13c]
and eax, dword [esp + 0x134]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x138]
and ecx, dword [esp + 0x130]
mov dword [esp + 0x140], ebx
xor ecx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1b4]
xor esi, dword [esp + 0x1f4]
and edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x130]
and esi, dword [esp + 0x13c]
xor ecx, eax
xor esi, dword [esp + 0x134]
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0xc0], ecx
xor ebx, edx
mov edx, dword [esp + 0x1d4]
or edx, dword [esp + 0x140]
xor edx, dword [esp + 0x10]
or eax, dword [esp + 0x198]
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x1c0]
xor eax, dword [esp + 0x20]
mov dword [esp + 0x1d8], ebx
mov ebx, dword [esp + 0x1bc]
or ebx, dword [esp + 0x1ac]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x198]
or esi, ecx
and edx, dword [esp + 0xc4]
mov ecx, esi
mov esi, dword [esp + 0x140]
xor ecx, dword [esp + 0x13c]
xor ebx, dword [esp + 0x138]
and esi, ebp
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1d4]
xor edx, esi
mov esi, dword [esp + 0x20]
xor esi, dword [esp + 0x1b8]
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0x1c4]
and edx, dword [esp + 0x10]
mov dword [esp + 0x1d4], esi
mov esi, dword [esp + 0x1c8]
and esi, eax
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x140]
xor ebp, dword [esp + 0x1c4]
xor esi, edx
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x198]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0xc4]
xor esi, dword [esp + 0x1c8]
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0x138]
xor edx, ebx
and ebx, dword [esp + 0x1cc]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0x140]
xor edx, ecx
and ecx, dword [esp + 0x1d0]
mov dword [esp + 0x1b4], edx
mov edx, dword [esp + 0x1ac]
xor edx, ebp
mov ebp, dword [esp + 0xc0]
xor ebx, edx
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x1cc]
xor ebp, esi
xor ebx, dword [esp + 0x1d8]
xor ecx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x1d0]
xor ecx, dword [esp + 0x134]
mov edx, ebx
mov ebx, dword [esp + 0x1d4]
xor edx, ebp
xor edx, dword [esp + 0x13c]
xor ecx, eax
xor ebx, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1ac]
and ebx, dword [esp + 0x1d8]
mov dword [esp + 0x10], edx
and ecx, dword [esp + 0x134]
xor ebx, ebp
xor ebx, dword [esp + 0x1bc]
xor ebp, dword [esp + 0xc4]
xor ecx, eax
mov edx, ebx
mov ebx, dword [esp + 0x1c0]
mov dword [esp + 0x200], ebp
mov dword [edi + 0x28], ebp
mov ebp, dword [esp + 0x138]
xor ebp, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x198], ebx
mov ebx, dword [esp + 0x140]
xor ebx, dword [esp + 0x20]
xor esi, dword [esp + 0x198]
xor ecx, eax
mov dword [esp + 0x1b8], ebp
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x204], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x1b0]
mov dword [edi + 0x48], ebp
mov dword [esp + 0x1bc], ebx
mov dword [edi + 0x4c], ebx
mov ebx, edx
mov edx, dword [esp + 0x1c4]
mov ebp, dword [esp + 0x1d4]
xor esi, eax
mov dword [esp + 0x138], esi
mov dword [edi + 0x6c], esi
mov dword [edi + 0x38], eax
xor edx, ebx
xor ebp, eax
xor edx, ecx
mov dword [esp + 0x1f4], ebp
mov dword [edi + 0x8c], ebp
mov dword [esp + 0x134], edx
mov dword [edi + 0x68], edx
mov edx, dword [esp + 0x13c]
xor edx, ecx
mov dword [esp + 0x1f0], edx
mov dword [edi + 0x88], edx
mov dword [edi + 0x3c], ecx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x198]
mov ebp, dword [esp + 0x10]
mov dword [edi + 0x9c], ebx
mov esi, dword [esp + 0x130]
mov dword [edi + 0x5c], edx
mov edx, dword [esp + 0x1e8]
mov dword [edi + 0x98], eax
mov eax, dword [esp + 0x1e0]
mov dword [edi + 0x7c], ebp
mov ebp, dword [esp + 0x1e4]
not edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1ec], ebx
mov dword [edi + 0x84], edx
mov dword [esp + 0x1c0], edx
not eax
mov edx, dword [esp + 0x1a0]
mov ebx, dword [esp + 8]
not ebp
mov dword [edi + 0x94], eax
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0xbc]
mov dword [edi + 0x78], ecx
not edx
mov dword [edi + 0x58], esi
mov dword [edi + 0x80], ebp
mov dword [edi + 0x90], edx
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0xb0]
mov esi, dword [ebx + 0xc4]
not eax
mov dword [esp + 0x1ac], ebp
mov ebp, dword [ebx + 0xc0]
not edx
and eax, esi
xor eax, dword [esp + 0x1fc]
and edx, ebp
xor edx, dword [esp + 0x1f8]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
mov ecx, dword [ebx + 0xd0]
mov ebx, dword [ebx + 0xd4]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0xc]
not ecx
and ecx, dword [esp + 0x13c]
xor ecx, dword [esp + 0x144]
not ebx
and ebx, dword [esp + 0xc0]
xor ebx, dword [esp + 0x19c]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x1a4]
and ecx, edx
mov dword [esp + 0x144], ecx
xor ebp, dword [esp + 0x144]
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x1c8], ebp
mov ebp, dword [esp + 0xb8]
and ecx, eax
xor esi, ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x1cc], esi
mov esi, dword [esp + 0x28]
and ebp, ebx
and esi, dword [esp + 0x140]
xor ebp, dword [esp + 0xc0]
xor ecx, esi
mov dword [esp + 0x1d0], ebp
mov ebp, dword [esp + 0x1ac]
and ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0x1c0]
and esi, dword [esp + 0xbc]
mov dword [esp + 0x1d4], ecx
xor ebp, edx
mov edx, dword [esp + 0x1c4]
and edx, dword [esp + 0xc]
xor esi, eax
mov dword [esp + 0x1d8], ebp
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0x1dc]
mov esi, dword [esp]
mov ebp, dword [esp + 0x1a4]
xor edx, ebx
mov ebx, dword [esp + 0x140]
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0x1ac]
and esi, ecx
not ebp
and ebp, dword [esp + 0xb0]
xor ebx, esi
mov esi, dword [esp + 0x1a8]
mov dword [esp + 0x140], ebx
mov ebx, dword [esp + 0x1c4]
not esi
and esi, dword [esp + 0xbc]
xor edx, ebp
mov dword [esp + 0x1ac], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x1f8], ebp
mov ebp, dword [esp + 0x1a4]
xor eax, esi
not edx
and edx, dword [esp + 0xc]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x28]
not eax
and eax, dword [esp]
xor ebx, edx
mov dword [esp + 0x1c4], ebx
mov ebx, dword [esp + 0x1d8]
and ebx, dword [esp + 0xb0]
xor ecx, eax
mov dword [esp + 0x1dc], ecx
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xbc]
xor ebp, ebx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x144], ebp
xor ebx, ecx
mov ecx, dword [esp + 0x13c]
and ecx, dword [esp + 0xc]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x140]
and ebx, dword [esp]
mov ebp, dword [esp + 0xb8]
xor esi, dword [esp + 0x1e8]
xor edx, dword [esp + 0x1a0]
and esi, dword [esp + 0xc0]
xor eax, dword [esp + 0x1e0]
xor ebp, ecx
mov ecx, dword [esp + 0x28]
xor esi, dword [esp + 0xbc]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1f8]
xor ebp, dword [esp + 0x1e4]
xor ecx, ebx
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1ac]
and ebp, ebx
xor ebp, dword [esp + 0xb0]
and edx, dword [esp + 0x13c]
xor edx, dword [esp + 0xc]
and eax, dword [esp + 0x140]
xor eax, dword [esp]
or ecx, dword [esp + 0x144]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x1c0]
or edx, dword [esp + 0x19c]
mov dword [esp + 0x1a0], eax
mov eax, ecx
xor edx, dword [esp + 0xc0]
xor eax, ebx
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1c4]
or ecx, dword [esp + 0x28]
or ebx, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
xor ebx, dword [esp + 0x13c]
mov dword [esp + 0xbc], edx
xor ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x19c]
mov edx, dword [esp + 0x144]
and eax, esi
xor eax, dword [esp + 0x1c0]
xor esi, dword [esp + 0x1cc]
and edx, ebp
xor ebp, dword [esp + 0x1c8]
xor edx, dword [esp + 0x1ac]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1c8]
and eax, dword [esp + 0xc]
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1ac], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [esp + 0x1cc]
and eax, dword [esp + 0xbc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp]
xor eax, dword [esp + 0x144]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
xor eax, dword [esp + 0x19c]
mov esi, dword [esp + 0xc0]
xor esi, ebx
and ebx, dword [esp + 0x1d0]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x13c], esi
mov dword [edi + 0x30], esi
xor eax, ecx
and ecx, dword [esp + 0x1d4]
mov dword [esp + 0x140], eax
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x1c0]
xor ebp, eax
xor ebx, ebp
mov ebp, dword [esp + 0x1d0]
mov dword [esp + 0xb8], ebx
mov dword [edi + 0x50], ebx
xor ecx, esi
mov ebx, dword [esp + 0x1a4]
mov esi, dword [esp + 0x1d4]
xor esi, dword [esp + 0x1a0]
mov dword [esp + 0xb0], ecx
mov dword [edi + 0x54], ecx
xor ebp, ebx
mov ecx, ebp
xor ecx, dword [esp + 0xc]
xor esi, dword [esp + 0xbc]
xor esi, dword [esp + 0x1a8]
and eax, ebx
mov ebx, dword [esp + 0x28]
and ebx, dword [esp + 0x1a0]
xor eax, dword [esp + 0x1c4]
xor ebx, dword [esp + 0x1dc]
xor ecx, edx
mov ebp, esi
mov dword [esp], ecx
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], esi
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0xbc]
xor eax, ecx
xor ecx, dword [esp + 0xb8]
xor ebx, esi
xor esi, dword [esp + 0xb0]
mov dword [esp + 0x144], eax
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], ebx
mov dword [esp + 0x1dc], ecx
mov dword [edi + 0x20], ecx
mov dword [esp + 0x1e0], esi
mov dword [edi + 0x24], esi
mov esi, dword [esp + 0xc0]
xor esi, dword [esp]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x19c], ebx
mov eax, dword [esp + 0x1a8]
xor ecx, ebp
mov dword [esp + 0x1a0], esi
mov ebp, dword [esp + 0x13c]
mov dword [esp + 0x1a4], ecx
mov dword [edi + 0x44], ecx
mov ecx, dword [esp + 0x1ac]
xor ecx, dword [esp + 0x144]
mov dword [edi + 0x40], esi
mov esi, dword [esp + 0x1c0]
xor edx, ebp
mov dword [esp + 0x1c0], edx
mov dword [edi + 0x80], edx
xor ecx, ebp
xor esi, ebx
mov ebp, dword [esp + 0x1f0]
mov ebx, esi
mov esi, dword [esp + 0x140]
mov dword [esp + 0xbc], ecx
mov dword [edi + 0x60], ecx
mov ecx, dword [esp + 0x1f4]
not ebp
xor ebx, esi
xor eax, esi
mov dword [esp + 0x1c8], ebp
mov dword [edi + 0x88], ebp
mov esi, dword [esp + 0x1ec]
not ecx
mov ebp, dword [esp + 0x198]
mov dword [esp + 0xc0], ebx
mov dword [edi + 0x64], ebx
mov dword [esp + 0x1c4], eax
not esi
mov dword [edi + 0x84], eax
mov dword [esp + 0x1cc], ecx
not ebp
mov dword [edi + 0x8c], ecx
mov dword [esp + 0x1d0], ebp
mov dword [edi + 0x98], ebp
mov dword [esp + 0x1d4], esi
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
mov dword [edi + 0x9c], esi
mov ebp, dword [ebx + 0xc8]
mov esi, dword [ebx + 0xcc]
not edx
not eax
and edx, ebp
and eax, esi
xor edx, dword [esp + 0x200]
xor eax, dword [esp + 0x204]
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov ecx, dword [ebx + 0xd8]
mov ebx, dword [ebx + 0xdc]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x20]
not ecx
and ecx, dword [esp + 0x1a8]
xor ecx, dword [esp + 0x1b0]
not ebx
and ebx, dword [esp + 0xc]
xor ebx, dword [esp + 0x1b4]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1b8]
and ecx, edx
mov dword [esp + 0x1b0], ecx
xor ebp, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x1e4], ebp
mov ebp, dword [esp + 0x130]
and ecx, eax
xor esi, ecx
mov dword [esp + 0x1b0], esi
mov esi, dword [esp + 0xc4]
and ebp, ebx
and esi, dword [esp + 0x1ac]
mov ecx, ebp
xor ecx, dword [esp + 0xc]
mov dword [esp + 0x1e8], ecx
xor esi, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x134]
mov ebp, dword [esp + 0x1c8]
mov dword [esp + 0x1d8], esi
mov esi, dword [esp + 0x1cc]
and ebp, ecx
and esi, dword [esp + 0x138]
xor ebp, edx
mov dword [esp + 0x1b4], ebp
mov ebp, dword [esp + 0x1b8]
xor esi, eax
mov eax, dword [esp + 0x1d0]
and eax, dword [esp + 0x20]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1d4]
not ebp
and esi, dword [esp + 0x10]
and ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x1c8]
xor edx, ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x1cc]
xor eax, ebp
xor ebx, esi
mov esi, dword [esp + 0x1bc]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1d0]
not esi
and esi, dword [esp + 0x138]
not eax
and eax, dword [esp + 0x10]
xor edx, esi
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x130]
not edx
mov ecx, edx
and ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1b4]
xor ebx, ecx
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0x1d0], ebx
xor ecx, eax
mov dword [esp + 0x1d4], ecx
and edx, dword [esp + 0x134]
xor edx, dword [esp + 0x1b8]
mov ecx, dword [esp + 0xc]
and ecx, dword [esp + 0x138]
mov ebx, dword [esp + 0x130]
xor ebp, dword [esp + 0x1f0]
xor esi, dword [esp + 0x1f4]
and esi, dword [esp + 0xc]
mov dword [esp + 0x1fc], edx
mov edx, dword [esp + 0x1bc]
xor edx, ecx
mov ecx, dword [esp + 0x1a8]
and ecx, dword [esp + 0x20]
mov dword [esp + 0x1b8], edx
mov edx, dword [esp + 0x1ac]
and edx, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0x1b4]
xor ecx, edx
mov edx, dword [esp + 0x1f8]
and ebp, ebx
xor ebp, dword [esp + 0x134]
xor edx, dword [esp + 0x198]
xor eax, dword [esp + 0x1ec]
xor esi, dword [esp + 0x138]
and eax, dword [esp + 0x1ac]
mov dword [esp + 0xc4], ecx
xor eax, dword [esp + 0x10]
mov dword [esp + 0x134], ebp
mov ebp, edx
and ebp, dword [esp + 0x1a8]
xor ebp, dword [esp + 0x20]
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1ec], ebp
mov ecx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1cc]
or eax, dword [esp + 0x1b8]
xor eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x1fc]
mov esi, dword [esp + 0x1d4]
or esi, dword [esp + 0xc4]
xor esi, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1c8]
or ecx, ebp
mov dword [esp + 0x198], eax
mov eax, ebp
and ebp, dword [esp + 0x134]
xor ecx, ebx
mov ebx, dword [esp + 0x1d0]
or ebx, dword [esp + 0x130]
mov dword [esp + 0x138], ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1b4]
xor edx, ebp
mov ebp, dword [esp + 0x1cc]
xor ebx, dword [esp + 0x1a8]
mov dword [esp + 0x1b8], edx
mov edx, dword [esp + 0x1e4]
and esi, ecx
xor ebp, esi
mov esi, dword [esp + 0x1b0]
and esi, dword [esp + 0x198]
mov dword [esp + 0x1c8], ebp
mov ebp, dword [esp + 0x138]
xor esi, ecx
mov ecx, dword [esp + 0x1b0]
xor ecx, dword [esp + 0x1b4]
and ebp, edx
mov dword [esp + 0x1ac], esi
xor ebp, eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x1a8], ebp
xor ebp, ebx
mov dword [esp + 0x1b0], ebp
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0xc]
xor eax, edx
mov ebp, dword [esp + 0x130]
mov edx, dword [esp + 0x1e8]
mov dword [esp + 0x1e4], eax
xor esi, ecx
and ecx, dword [esp + 0x1d8]
xor ebp, eax
mov dword [esp + 0x1b4], esi
mov esi, dword [esp + 0xc4]
and ebx, edx
xor esi, dword [esp + 0x1cc]
xor ebx, ebp
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x1c8]
xor ecx, esi
mov esi, dword [esp + 0x1d8]
xor esi, dword [esp + 0x1bc]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1ec]
xor edx, ecx
mov ebp, edx
xor ebp, dword [esp + 0x138]
mov edx, esi
xor edx, dword [esp + 0x198]
xor eax, ebp
mov ebp, dword [esp + 0x130]
xor ebx, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc4]
and ebx, dword [esp + 0x1bc]
and ebp, ecx
mov ecx, dword [esp + 0x198]
mov edx, ebp
xor edx, dword [esp + 0x1d0]
mov ebp, dword [esp + 0x20]
mov eax, ebx
xor eax, dword [esp + 0x1d4]
mov ebx, dword [esp + 0x134]
mov esi, edx
mov edx, dword [esp + 0x138]
xor ebp, ecx
mov dword [esp + 0x1f4], ebp
xor eax, ecx
xor esi, edx
mov dword [esp + 0x198], eax
mov eax, edx
mov dword [esp + 0x138], esi
xor eax, ebx
mov dword [esp + 0x1f0], eax
mov dword [edi + 0x28], eax
mov edx, dword [esp + 0x1a8]
xor edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1ac]
mov dword [edi + 0x2c], ebp
xor ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1e4]
xor ebp, dword [esp + 0x138]
mov dword [edi + 0x50], ebx
mov dword [esp + 0x1a8], edx
mov dword [edi + 0x48], edx
mov edx, dword [esp + 0x1cc]
xor edx, dword [esp + 0x198]
mov dword [esp + 0x1ac], ecx
mov dword [edi + 0x4c], ecx
mov eax, ebp
mov ecx, dword [esp + 0x1b0]
mov ebp, dword [esp + 0x1b4]
xor eax, ecx
xor edx, ebp
mov dword [edi + 0x30], ecx
mov esi, eax
mov dword [esp + 0xc4], eax
mov eax, edx
mov dword [esp + 0x130], edx
mov dword [edi + 0x6c], eax
mov edx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1b8]
mov dword [edi + 0x34], ebp
mov dword [edi + 0x68], esi
xor eax, ecx
xor edx, ebp
mov ecx, dword [esp + 0x13c]
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c8], edx
mov dword [edi + 0x88], eax
mov dword [edi + 0x8c], edx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], ebp
mov esi, dword [esp + 0x20]
mov ebx, dword [esp]
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
add dword [esp + 8], 0xe0
mov dword [edi + 0x54], esi
mov esi, dword [esp + 0x28]
mov dword [edi + 0x78], ebx
mov ebx, dword [esp + 8]
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], edx
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], ebp
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x19c]
mov dword [edi + 0x7c], esi
mov esi, 0x4c1340
cmp esi, ebx
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], edx
mov dword [edi + 0x98], ecx
mov dword [edi + 0x9c], ebp
jne 0x51d7b6
add esp, 0x21c
pop ebx
pop esi
pop edi
pop ebp
ret