Function at 0x40d710
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x124
mov edx, dword [ecx + 0x54]
mov ebx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x28]
mov eax, dword [ecx + 0x2c]
mov ebp, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x110], 0xfffffffc
mov dword [esp + 0x78], edx
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [ecx + 0x34]
mov dword [esp + 0xe4], esi
mov esi, dword [ecx + 0x50]
mov dword [esp + 0x84], eax
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 0xa4]
mov dword [esp + 0x10], ebx
mov ebx, dword [ecx + 0x5c]
mov dword [esp + 0xc4], esi
mov esi, dword [ecx + 0x78]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], ebx
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0xdc], esi
mov esi, dword [ecx + 0xa0]
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ecx + 0xac]
mov dword [esp + 0xd8], edx
mov edx, dword [ecx + 0x58]
mov dword [esp + 0xd0], ebx
mov ebx, dword [ecx + 0x14]
mov dword [esp + 0xbc], edx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0xc8], ebx
mov ebx, dword [ecx + 0x3c]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0x64], ebx
mov ebx, dword [ecx + 0x64]
mov dword [esp + 0xb0], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x98], ebx
mov ebx, dword [ecx + 0x8c]
mov dword [esp + 0x10c], edx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x80], ebx
mov ebx, dword [ecx + 0xb4]
mov dword [esp + 0xc0], edx
mov edx, dword [ecx + 0x60]
mov dword [esp + 8], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0xec], edx
mov edx, dword [ecx + 0x88]
mov dword [esp + 0x68], ebx
mov ebx, dword [ecx + 0x44]
mov dword [esp + 0xcc], edx
mov edx, dword [ecx + 0xb0]
mov dword [esp + 0x108], ebx
mov ebx, dword [ecx + 0x6c]
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xb8], ebx
mov ebx, dword [ecx + 0x94]
mov dword [esp + 0xe0], edx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x44], ebx
mov ebx, dword [ecx + 0xbc]
mov dword [esp + 0xe8], edx
mov edx, dword [ecx + 0x68]
mov dword [esp + 0x48], ebx
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0xb4], edx
mov edx, dword [ecx + 0x90]
mov dword [esp + 0x60], ebx
mov ebx, dword [ecx + 0x4c]
mov dword [esp + 0xd4], edx
mov edx, dword [ecx + 0xb8]
mov dword [esp + 0x4c], ebx
mov ebx, dword [ecx + 0x74]
mov dword [esp + 0xac], edx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x104], ebx
mov ebx, dword [ecx + 0x9c]
mov dword [esp + 0x74], edx
mov edx, dword [ecx + 0x48]
mov dword [esp + 0x6c], ebx
mov ebx, dword [ecx + 0xc4]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx + 0x70]
mov dword [esp], ebx
mov dword [esp + 0x58], edx
mov edx, dword [ecx + 0x98]
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + 0xc0]
mov ecx, esi
mov dword [esp + 0x5c], edx
nop word cs:[eax + eax]
nop
mov dword [esp + 0x70], ebp
xor ebp, dword [esp + 0xc4]
mov eax, dword [esp + 0xe0]
mov ebx, dword [esp + 0xa0]
mov esi, edi
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x100], ecx
xor esi, dword [esp + 0x78]
xor ebp, dword [esp + 0xdc]
xor eax, dword [esp + 0xb4]
xor ebx, dword [esp + 0xbc]
xor edi, dword [esp + 0xb8]
xor esi, dword [esp + 0x9c]
xor ebp, ecx
xor eax, dword [esp + 0xd4]
xor ebx, dword [esp + 0xa8]
xor edi, dword [esp + 0x44]
xor ebp, dword [esp + 0xe4]
xor esi, dword [esp + 0x24]
xor eax, dword [esp + 0xac]
xor ebx, dword [esp + 0xb0]
xor edi, dword [esp + 0x48]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x2c]
xor esi, dword [esp + 0x84]
xor eax, dword [esp + 0xe8]
xor ebx, dword [esp + 0xd8]
xor edi, dword [esp + 0x108]
xor ebp, dword [esp + 0x30]
mov dword [esp + 0xc], esi
mov ecx, eax
mov eax, ebx
xor ebp, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x94], ecx
shld edx, edi, 1
xor ebp, dword [esp + 0xd0]
xor ebp, dword [esp + 0x10]
shld eax, ebp, 1
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, edx
mov edx, esi
mov esi, dword [esp + 0x28]
xor ecx, ebx
mov dword [esp + 0x34], ecx
shld edx, esi, 1
xor edx, edi
shld edi, eax, 1
xor edi, ebp
shld ebp, ebx, 1
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov edi, dword [esp + 0x74]
xor ebx, dword [esp + 0x104]
xor edi, dword [esp + 0x58]
xor ebx, dword [esp + 0x6c]
xor edi, dword [esp + 0x3c]
xor ebx, dword [esp]
xor edi, dword [esp + 0x5c]
xor ebx, dword [esp + 0x4c]
xor edi, dword [esp + 0x8c]
mov esi, ebx
xor ebp, ebx
shrd ebx, edi, 0x1f
mov dword [esp + 0x88], ebp
xor dword [esp + 0x14], edi
shld esi, edi, 1
mov edi, dword [esp + 0x10c]
mov ebp, dword [esp + 0xec]
mov ecx, ebx
mov ebx, dword [esp + 0xc8]
xor edi, ebp
xor ebp, dword [esp + 0x34]
xor ebx, dword [esp + 0x98]
xor edi, dword [esp + 0xcc]
xor ebx, dword [esp + 0x80]
xor edi, dword [esp + 0x38]
xor ebx, dword [esp + 8]
xor edi, dword [esp + 0xc0]
xor ebx, dword [esp + 0x64]
mov eax, edi
shld eax, ebx, 1
xor esi, ebx
shld ebx, edi, 1
mov edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], esi
xor ebx, edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x90], ebx
xor eax, edi
mov dword [esp + 0x54], eax
mov eax, edx
mov edx, dword [esp + 0x28]
xor ecx, dword [esp + 0x54]
shrd edi, edx, 0x1f
xor eax, edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x7c], eax
xor edi, dword [esp + 0x94]
xor edx, eax
mov eax, ecx
shrd ecx, edx, 0x14
shld eax, edx, 0xc
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x50], eax
xor edx, ebx
xor ecx, dword [esp + 4]
mov eax, ecx
shrd ecx, ebp, 0x15
shld eax, ebp, 0xb
mov ebp, ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x44]
xor eax, esi
mov esi, dword [esp + 0x5c]
mov ebx, eax
shrd eax, edx, 0xb
mov dword [esp + 0x44], eax
mov eax, dword [esp]
shld ebx, edx, 0x15
xor esi, edi
mov edi, dword [esp + 0x94]
xor eax, dword [esp + 0x20]
mov ecx, eax
shrd eax, esi, 0x12
shld ecx, esi, 0xe
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edx, ecx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x10]
xor eax, dword [esp + 0x88]
not ecx
and ecx, ebp
mov dword [esp + 0x98], ecx
mov ecx, ebx
not ecx
mov dword [esp + 0x40], eax
and ecx, edx
xor ecx, ebp
mov dword [esp + 0xd8], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x50]
not ecx
and ecx, ebx
mov dword [esp + 0x5c], ecx
mov ecx, edx
mov edx, esi
not ecx
not edx
and ecx, eax
mov eax, ebp
xor ecx, ebx
mov ebx, dword [esp + 0x70]
not eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp]
and eax, edi
xor ebx, dword [esp + 0x14]
and edx, ecx
xor edx, edi
not edi
mov dword [esp + 0xd4], edx
mov edx, ecx
and edi, esi
not edx
xor eax, ebx
xor edi, ebp
and edx, ebx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x40]
not ebx
mov dword [esp + 0xfc], edi
xor edx, esi
and ebx, ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xa8]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x68]
xor dword [esp + 0x98], eax
not eax
xor ebp, dword [esp + 0x88]
xor esi, dword [esp + 0x7c]
and eax, edx
xor dword [esp + 0x5c], edx
mov edx, dword [esp + 0xc4]
xor ecx, dword [esp + 4]
xor eax, dword [esp + 0xa4]
xor ebx, dword [esp + 0x18]
xor edx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov eax, ebp
mov edi, ebx
shld eax, edx, 3
shrd ebp, edx, 0x1d
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x54]
mov edx, eax
shrd eax, esi, 0x13
shld edx, esi, 0xd
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, ecx
xor esi, dword [esp + 0x34]
shld eax, esi, 0x1d
shrd ecx, esi, 3
mov esi, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], eax
xor esi, dword [esp + 0x90]
xor ecx, dword [esp + 0x20]
shld edi, esi, 0x1c
shrd ebx, esi, 4
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x8c]
mov esi, ecx
xor edi, dword [esp + 0xc]
shld esi, edi, 0x14
shrd ecx, edi, 0xc
mov edi, edx
not edi
mov dword [esp + 0x4c], ecx
not ecx
mov dword [esp], esi
and edi, eax
and ecx, ebp
not eax
mov dword [esp + 0xa4], ecx
xor edi, ebp
not ebp
mov ecx, dword [esp + 0x1c]
and eax, ebx
xor dword [esp + 0xa4], ebx
not ebx
and ebp, edx
xor eax, edx
mov edx, dword [esp]
mov dword [esp + 0xa8], edi
mov esi, ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x50]
mov edi, ecx
not edi
not edx
and edi, ebp
and edx, eax
xor edi, eax
not eax
and eax, ecx
mov dword [esp + 0x38], edi
mov edi, eax
mov eax, ebp
mov ebp, dword [esp + 0x10]
not eax
and eax, ebp
xor edx, ebp
not ebp
xor eax, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xa0]
and ebx, ecx
xor esi, ecx
mov ecx, dword [esp]
xor ebx, dword [esp + 0x44]
xor eax, dword [esp + 0x7c]
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x64]
and ebp, ecx
xor edi, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x24]
xor ebp, dword [esp + 8]
xor esi, dword [esp + 4]
mov dword [esp + 0x50], edi
xor ecx, dword [esp + 0x14]
xor ebx, dword [esp + 0x88]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0xb8]
mov edx, ebx
shrd ebx, ecx, 0xe
xor ebp, dword [esp + 0x18]
shld edx, ecx, 0x12
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x8c], edx
mov edi, ebp
xor ecx, dword [esp + 0x54]
mov edx, ecx
shrd ecx, eax, 0x1f
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xc0]
shld edx, eax, 1
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x4c], edx
mov edx, esi
xor ecx, dword [esp + 0x34]
xor eax, dword [esp + 0x90]
shld edx, ecx, 6
shld edi, eax, 0x19
shrd ebp, eax, 7
mov eax, dword [esp + 0x3c]
shrd esi, ecx, 0x1a
mov dword [esp], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x64], esi
not esi
and esi, ebp
mov dword [esp + 0xa0], esi
xor eax, dword [esp + 0xc]
xor edx, dword [esp + 0x20]
mov ecx, edx
shrd edx, eax, 0x18
shld ecx, eax, 8
mov eax, edx
not eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x8c]
and eax, ebx
mov esi, dword [esp + 0x3c]
xor eax, ebp
mov dword [esp + 0xc0], eax
mov eax, ebp
mov ebp, dword [esp]
not eax
and eax, edx
mov dword [esp + 0x78], eax
mov eax, ebx
mov ebx, dword [esp + 0x2c]
not eax
not ebp
and ebp, edi
and eax, ebx
xor dword [esp + 0xa0], ebx
not ebx
xor eax, edx
mov dword [esp + 0xb8], eax
mov eax, esi
not eax
and eax, ecx
xor eax, edi
not edi
and edi, esi
mov dword [esp + 0xf4], eax
mov eax, ecx
mov edx, edi
mov edi, dword [esp + 0x4c]
not eax
and eax, edi
xor ebp, edi
not edi
xor eax, esi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x64]
and ebx, eax
xor dword [esp + 0x78], eax
mov eax, dword [esp]
xor ebx, dword [esp + 0x24]
and edi, eax
xor edx, eax
xor edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x48]
xor ecx, dword [esp + 0x88]
xor edx, dword [esp + 0x14]
xor ebx, dword [esp + 0x90]
xor edi, dword [esp + 0x18]
mov eax, ecx
shrd ecx, edx, 0x1c
shld eax, edx, 4
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
xor edx, dword [esp + 0x7c]
xor ecx, dword [esp + 4]
xor eax, dword [esp + 0x54]
mov esi, eax
shrd eax, edx, 0x16
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xcc]
shld esi, edx, 0xa
mov edx, ecx
xor eax, dword [esp + 0x34]
shrd ecx, eax, 0x11
shld edx, eax, 0xf
mov eax, edi
shrd edi, ebx, 8
shld eax, ebx, 0x18
mov ebx, edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], ebx
xor edi, dword [esp + 0x20]
xor eax, dword [esp + 0xc]
mov ebp, edi
shrd edi, eax, 5
shld ebp, eax, 0x1b
mov eax, dword [esp + 0x84]
mov dword [esp + 0x60], edi
mov edi, edx
not edi
and edi, ebx
not eax
xor edi, esi
and eax, esi
mov dword [esp + 0x64], edi
mov edi, ecx
mov dword [esp + 0xcc], eax
mov eax, ebx
mov ebx, esi
not edi
xor dword [esp + 0xcc], ebp
mov esi, eax
not ebx
mov eax, dword [esp + 0x3c]
not esi
and ebx, edx
and esi, ebp
not ebp
xor esi, edx
mov edx, dword [esp]
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0x30]
and edi, eax
not eax
not edx
xor edi, esi
and edx, esi
not esi
and esi, ecx
mov dword [esp + 0xac], edi
mov ecx, dword [esp + 0x84]
mov edi, esi
mov esi, dword [esp + 0x60]
and ebp, ecx
xor ebx, ecx
and eax, esi
xor edx, esi
not esi
xor ebp, dword [esp + 0x48]
mov dword [esp + 0x24], ebx
xor eax, dword [esp + 0x80]
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], ebp
mov dword [esp + 0xbc], eax
mov eax, dword [esp]
xor edx, dword [esp + 0xdc]
and esi, eax
xor edi, eax
mov eax, dword [esp + 0x88]
xor esi, dword [esp + 0x3c]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x90]
xor eax, dword [esp + 0x9c]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x7c]
xor edi, dword [esp + 0xe8]
mov ecx, eax
shrd eax, edx, 0x17
shld ecx, edx, 9
mov edx, dword [esp + 0x54]
xor esi, dword [esp + 0xb0]
mov dword [esp + 0x88], eax
xor edx, dword [esp + 0xd0]
mov eax, edx
shrd edx, esi, 0x1e
mov ebp, edx
mov edx, dword [esp + 4]
shld eax, esi, 2
mov esi, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 0x54], ebp
xor edx, dword [esp + 0xc8]
xor esi, dword [esp + 0x10c]
mov eax, edx
shrd edx, esi, 2
shld eax, esi, 0x1e
mov esi, dword [esp + 0x18]
mov dword [esp + 4], edx
mov dword [esp + 0x3c], eax
xor esi, dword [esp + 0x108]
mov eax, esi
shrd esi, edi, 9
mov edx, esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
shld eax, edi, 0x17
mov edi, dword [esp + 0xc]
mov dword [esp + 0x74], eax
not eax
xor esi, dword [esp + 0x104]
xor edi, dword [esp + 0x58]
mov ebx, esi
shrd esi, edi, 0x19
shld ebx, edi, 7
mov edi, ebp
and eax, ebx
not edi
mov dword [esp + 0x9c], eax
mov eax, ecx
and edi, dword [esp + 0x3c]
not eax
and eax, ebp
mov ebp, edx
mov edx, dword [esp + 0x88]
xor eax, ebx
not ebx
not ebp
mov dword [esp + 0xe8], eax
mov eax, dword [esp]
xor edi, ecx
and ebx, ecx
and ebp, esi
mov dword [esp + 0xb0], edi
mov edi, ebp
mov ecx, edx
not ecx
and ecx, eax
not eax
xor ecx, esi
not esi
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 4]
and esi, edx
and eax, ecx
xor edi, ecx
not ecx
xor eax, edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc8], edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
xor ebx, edx
xor esi, eax
and ecx, eax
mov eax, dword [esp + 0x3c]
mov ebp, ebx
mov dword [esp + 0xec], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xdc], esi
mov esi, dword [esp + 0x9c]
xor ecx, dword [esp]
xor ebp, dword [esp + 0xdc]
xor esi, eax
not eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
and eax, edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x9c], esi
xor eax, dword [esp + 0x54]
xor ebp, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x110]
xor ebp, dword [esp + 0xb4]
xor edx, dword [eax*8 + 0x501ce8]
xor ecx, dword [eax*8 + 0x501cec]
mov eax, dword [esp + 0x30]
xor ebp, dword [esp + 0x50]
mov dword [esp + 0x94], edx
xor edx, dword [esp + 0xa4]
xor eax, dword [esp + 0x28]
mov dword [esp + 0x98], ecx
xor ecx, dword [esp + 0x1c]
xor edx, dword [esp + 0xa0]
xor eax, dword [esp + 0xc4]
xor ecx, dword [esp + 0x6c]
xor edx, esi
mov esi, dword [esp + 0x80]
xor eax, dword [esp + 0xe4]
xor ecx, edi
xor edx, dword [esp + 0x100]
xor ecx, dword [esp + 0xcc]
xor esi, ebx
mov ebx, dword [esp + 0xb0]
xor eax, dword [esp + 0x44]
xor esi, dword [esp + 0xfc]
mov dword [esp + 0x54], edx
mov dword [esp + 0x8c], ecx
xor ebx, dword [esp + 0xf8]
xor esi, dword [esp + 0x78]
xor ebx, dword [esp + 0xe0]
xor esi, dword [esp + 0xf0]
xor ebx, dword [esp + 0xbc]
mov edx, esi
shld edx, ebp, 1
xor ebx, dword [esp + 0xb8]
mov edi, ebx
shld edi, eax, 1
mov dword [esp + 0xc], edi
mov edi, ecx
mov ecx, dword [esp + 0x54]
shld edi, ecx, 1
mov ecx, ebp
xor edi, eax
shld eax, ebx, 1
shld ecx, esi, 1
xor eax, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x20], edi
mov dword [esp], eax
mov eax, dword [esp + 0x40]
xor ebp, esi
mov esi, dword [esp + 0x70]
xor eax, dword [esp + 8]
mov dword [esp + 0xc], ebp
xor esi, dword [esp + 0x60]
xor eax, dword [esp + 0x10]
xor esi, dword [esp + 0x68]
xor eax, dword [esp + 4]
xor esi, dword [esp + 0x3c]
xor eax, dword [esp + 0x4c]
xor esi, dword [esp + 0x2c]
mov edi, eax
xor ecx, eax
mov dword [esp + 0x34], ecx
xor edx, esi
shld edi, esi, 1
shld esi, eax, 1
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
xor eax, dword [esp + 0xc0]
xor edx, dword [esp + 0xf4]
xor eax, dword [esp + 0xd4]
xor edx, dword [esp + 0xd8]
xor eax, dword [esp + 0xac]
xor edx, dword [esp + 0x64]
xor eax, dword [esp + 0xe8]
xor edx, dword [esp + 0x48]
mov ecx, eax
xor edi, edx
shld ecx, edx, 1
shld edx, eax, 1
mov dword [esp + 0x58], edi
mov edi, esi
mov esi, dword [esp + 0x8c]
xor edi, eax
mov eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], edi
xor edx, esi
shrd esi, ecx, 0x1f
xor eax, ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], eax
xor esi, ebx
mov dword [esp + 0x8c], esi
xor ecx, eax
mov eax, dword [esp + 0x50]
xor eax, edx
mov edx, eax
shrd eax, ecx, 0x14
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xf4]
shld edx, ecx, 0xc
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x88], edx
xor eax, dword [esp]
xor ecx, ebp
mov ebx, eax
shrd eax, ecx, 0x15
shld ebx, ecx, 0xb
mov ecx, dword [esp + 0xe4]
mov ebp, eax
mov eax, dword [esp + 0xbc]
xor ecx, dword [esp + 0x58]
xor eax, edi
mov edi, dword [esp + 0x94]
mov edx, ecx
shrd ecx, eax, 0xb
xor edi, dword [esp + 0x14]
shld edx, eax, 0x15
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 4]
xor eax, esi
xor edx, dword [esp + 0x20]
mov esi, edx
shrd edx, eax, 0x12
shld esi, eax, 0xe
mov eax, dword [esp + 0x88]
mov dword [esp + 4], edx
mov dword [esp + 0x18], esi
mov esi, ecx
not esi
and esi, edx
not eax
xor esi, ebx
and eax, ebx
not ebx
mov dword [esp + 0x10c], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x54], eax
mov eax, edx
and ebx, ecx
mov edx, dword [esp + 0x18]
not eax
mov dword [esp + 0xd0], ebx
mov ebx, edi
and eax, edi
xor dword [esp + 0x54], ebx
not ebx
xor eax, ecx
mov ecx, ebp
xor esi, dword [esp + 0x34]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x50]
not eax
and eax, ebp
mov ebp, eax
mov eax, dword [esp + 0x84]
xor ebp, esi
mov dword [esp + 0x3c], ebp
mov edi, eax
not edi
and edi, edx
xor edi, ecx
mov dword [esp + 0x108], edi
mov edi, ecx
mov ecx, eax
not edi
and edi, eax
mov eax, edi
mov edi, edx
not edi
and edi, esi
not esi
xor edi, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x88]
and esi, ecx
xor eax, ecx
mov ecx, dword [esp + 0x6c]
xor esi, edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x88], eax
and ebx, edi
xor dword [esp + 0xd0], edi
mov dword [esp + 0x98], esi
xor ebx, dword [esp + 4]
xor ecx, dword [esp + 0x34]
xor edx, dword [esp + 0x14]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x10]
mov eax, ecx
shrd ecx, edx, 0x1d
shld eax, edx, 3
mov edx, dword [esp + 0x80]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x24]
xor ebx, dword [esp + 0x20]
xor edx, dword [esp + 0x7c]
xor ecx, dword [esp + 0x74]
mov ebp, ebx
mov esi, ecx
shrd ecx, edx, 0x13
shld esi, edx, 0xd
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
xor ecx, dword [esp]
xor edx, dword [esp + 0xc]
mov edi, ecx
shrd ecx, edx, 3
shld edi, edx, 0x1d
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], edi
mov edi, dword [esp + 0xf8]
xor ecx, dword [esp + 0x58]
xor edi, dword [esp + 0x90]
mov edx, ecx
shld edx, edi, 0x1c
shrd ecx, edi, 4
mov edi, dword [esp + 0x68]
mov dword [esp + 0x18], edx
mov edx, ecx
mov dword [esp + 0x28], ecx
xor edi, dword [esp + 0x8c]
shrd ebx, edi, 0xc
shld ebp, edi, 0x14
mov edi, esi
mov ecx, ebx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x6c]
not edi
mov dword [esp + 0x68], ebp
not ebp
not ecx
and ebp, eax
and ecx, ebx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 4]
and edi, ecx
xor edi, ebx
not ebx
mov dword [esp + 0xc0], edi
mov edi, ecx
mov ecx, dword [esp + 0x48]
and ebx, esi
not edi
and edi, edx
mov edx, dword [esp + 0x24]
xor edi, esi
mov esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xe8], edi
mov edi, edx
not edi
xor esi, ebp
and edi, ecx
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0xa8]
xor edi, eax
not eax
and eax, edx
mov dword [esp + 0x50], edi
mov edi, eax
mov eax, ecx
not eax
xor esi, dword [esp + 0xc]
and eax, ebp
not ebp
xor eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x28]
xor ebx, edx
xor dword [esp + 0xa0], eax
not eax
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0x60]
and eax, edx
mov edx, dword [esp + 0x68]
xor eax, dword [esp + 4]
xor ebx, dword [esp + 0x8c]
and ebp, edx
xor edi, edx
xor ebp, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebp
xor eax, dword [esp + 0x34]
xor ecx, dword [esp + 0x14]
mov edx, eax
shrd eax, ecx, 0xe
shld edx, ecx, 0x12
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], edx
xor eax, dword [esp + 0x74]
xor ecx, dword [esp + 0x7c]
mov edi, eax
shrd eax, ecx, 0x1f
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
shld edi, ecx, 1
xor eax, dword [esp]
mov ecx, eax
shrd eax, esi, 0x1a
shld ecx, esi, 6
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
mov edx, ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xb8]
mov ebp, edx
not ebp
xor eax, dword [esp + 0x58]
xor ecx, dword [esp + 0x90]
mov esi, eax
shrd eax, ecx, 7
shld esi, ecx, 0x19
mov dword [esp + 0x44], eax
mov eax, dword [esp + 8]
and ebp, esi
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 4]
xor dword [esp + 0x24], edi
xor eax, dword [esp + 0x20]
mov ecx, eax
shrd eax, ebx, 0x18
shld ecx, ebx, 8
mov dword [esp + 8], eax
mov ebx, esi
mov eax, dword [esp + 0xc8]
mov edx, ecx
not ebx
not edx
and ebx, ecx
and edx, ebp
not ebp
and ebp, edi
xor edx, esi
mov esi, dword [esp + 0x38]
not edi
xor ebp, ecx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 8]
not esi
and esi, edx
mov ecx, ebp
not ecx
and ecx, eax
xor ecx, edx
not edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x5c]
and edx, ebp
mov ebp, eax
not ebp
xor esi, ecx
and ebp, ecx
not ecx
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x38]
xor ebp, dword [esp + 8]
and ecx, esi
xor edx, esi
mov dword [esp + 0xa8], ebp
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x78]
xor ecx, eax
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x1c]
and edi, ebp
xor ebx, ebp
xor esi, dword [esp + 0x7c]
xor edx, dword [esp + 0x14]
xor edi, dword [esp + 4]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xb0]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0xe4], edi
xor ebx, dword [esp + 0x90]
mov ebp, ecx
shrd ecx, edx, 0x1c
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xb4]
shld ebp, edx, 4
mov dword [esp + 0x68], ebp
not ebp
xor ecx, dword [esp + 0x74]
mov edx, ecx
shrd ecx, esi, 0x16
mov edi, ecx
mov ecx, dword [esp + 0x64]
shld edx, esi, 0xa
mov esi, dword [esp + 0xac]
and ebp, edi
mov dword [esp + 0xc8], ebp
xor ecx, dword [esp]
xor esi, dword [esp + 0xc]
mov eax, ecx
shrd ecx, esi, 0x11
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x30]
shld eax, esi, 0xf
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
xor ecx, dword [esp + 0x58]
xor eax, dword [esp + 0x20]
mov esi, ecx
shrd ecx, ebx, 8
shld esi, ebx, 0x18
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
mov ecx, eax
mov dword [esp + 8], esi
xor ebx, dword [esp + 0x8c]
shld ecx, ebx, 0x1b
shrd eax, ebx, 5
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov eax, esi
mov ebx, ecx
not ebx
and ebx, esi
mov esi, edi
xor ebx, edi
mov edi, dword [esp + 0x40]
not esi
mov dword [esp + 0xb4], ebx
mov ebx, eax
mov eax, dword [esp + 4]
and esi, ecx
not ebx
and ebx, edi
xor dword [esp + 0xc8], edi
not edi
xor ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, eax
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x1c]
not ebp
and ebp, ecx
not ebx
xor ebp, edx
and ebx, edx
not edx
mov dword [esp + 0x38], ebp
and edx, eax
mov eax, ecx
mov ebp, edx
mov edx, dword [esp + 0x70]
not eax
and eax, edx
xor ebx, edx
not edx
xor eax, dword [esp + 4]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x68]
and edi, eax
xor esi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf4], esi
xor edi, dword [esp + 8]
and edx, eax
xor ebp, eax
mov eax, dword [esp + 0x34]
xor edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x70], edx
xor eax, dword [esp + 0xcc]
xor ecx, dword [esp + 0x100]
mov ebp, eax
shrd eax, ecx, 0x17
shld ebp, ecx, 9
mov ecx, dword [esp + 0x74]
mov esi, eax
mov eax, dword [esp + 0x7c]
xor ecx, dword [esp + 0xdc]
xor eax, dword [esp + 0xec]
mov edx, ecx
shrd ecx, eax, 0x1e
shld edx, eax, 2
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp]
mov dword [esp + 0x14], edx
xor eax, dword [esp + 0xd4]
xor ecx, dword [esp + 0xd8]
mov edi, ecx
shrd ecx, eax, 2
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
shld edi, eax, 0x1e
mov eax, dword [esp + 0x90]
mov dword [esp + 0x1c], edi
xor ecx, dword [esp + 0xc4]
xor eax, dword [esp + 0xe0]
mov edi, ecx
shrd ecx, eax, 9
shld edi, eax, 0x17
mov eax, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
xor eax, dword [esp + 0x2c]
xor edi, dword [esp + 0x4c]
mov ecx, edi
shrd edi, eax, 0x19
shld ecx, eax, 7
mov eax, ebx
mov ebx, dword [esp]
not eax
and eax, edi
mov dword [esp + 0x30], eax
mov eax, esi
not eax
xor dword [esp + 0x30], ebx
and eax, edx
xor eax, edi
not edi
mov dword [esp + 0x20], eax
mov eax, edx
mov edx, dword [esp + 0x74]
and edi, esi
not eax
and eax, ebx
not ebx
xor eax, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov eax, ebp
not eax
and eax, edx
xor eax, ecx
not esi
mov dword [esp + 0x90], eax
mov eax, edx
mov edx, dword [esp + 0x1c]
and esi, ecx
not ecx
not eax
and ecx, ebp
and eax, edx
xor esi, edx
xor eax, ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xd8], eax
mov eax, edx
mov edx, dword [esp + 4]
not eax
and ebx, ebp
xor edi, ebp
and eax, edx
xor ebx, dword [esp + 0x14]
xor ecx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x80]
xor eax, dword [esp + 0x74]
mov ebp, ecx
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp], ebx
mov ebx, dword [esp + 0xa0]
xor edi, dword [esp + 0xf0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x110]
xor ebx, dword [esp + 0xc8]
xor edi, dword [esp + 0x30]
xor edx, dword [eax*8 + 0x501cf4]
xor ecx, dword [eax*8 + 0x501cf0]
mov eax, dword [esp + 0xf8]
xor ebx, esi
xor eax, dword [esp + 0xb8]
xor ebx, ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x10]
xor edi, edx
mov dword [esp + 0x3c], edx
xor ebx, dword [esp + 0xfc]
xor edi, dword [esp + 0x24]
xor eax, dword [esp + 0xf4]
xor ecx, dword [esp + 0x44]
mov esi, ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xbc]
xor eax, ebp
mov ebp, dword [esp + 0x84]
xor ecx, dword [esp + 0x6c]
xor ebx, dword [esp + 0xa8]
xor eax, dword [esp + 0xd0]
xor ebp, dword [esp + 0x48]
xor ecx, dword [esp + 0xe0]
xor ebx, dword [esp + 0xb0]
mov edx, eax
xor ebp, dword [esp + 0xac]
xor ecx, dword [esp + 0x88]
xor ebx, dword [esp + 0xd8]
xor ebp, dword [esp + 0x4c]
shld edx, ecx, 1
xor ebx, dword [esp + 0xe8]
mov dword [esp + 8], edx
xor ebp, dword [esp + 0x104]
mov edx, ebx
shld edx, ebp, 1
mov dword [esp + 0x14], edx
mov edx, edi
xor dword [esp + 0x14], eax
shld edx, esi, 1
mov esi, ecx
xor edx, ebp
shld ebp, ebx, 1
shld esi, eax, 1
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x18]
xor ebp, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
xor edx, dword [esp + 0xe4]
xor ecx, dword [esp + 0x5c]
xor ebp, dword [esp + 0x60]
xor edx, dword [esp + 0x70]
xor ecx, dword [esp + 0x40]
xor ebp, dword [esp + 0x38]
xor edx, dword [esp]
xor ecx, dword [esp + 0x1c]
xor ebp, dword [esp + 0x20]
xor edx, dword [esp + 0x98]
xor ecx, dword [esp + 0x94]
xor ebp, dword [esp + 0x108]
xor esi, edx
xor dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov esi, edx
shld esi, ecx, 1
shld ecx, edx, 1
mov edx, dword [esp + 0xc0]
xor esi, ebp
mov dword [esp + 0x2c], esi
xor edx, dword [esp + 0x9c]
xor edx, dword [esp + 0xb4]
xor edx, dword [esp + 0x90]
xor edx, dword [esp + 0x10c]
xor ecx, edx
mov eax, edx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x58]
shld eax, ebp, 1
shld ebp, edx, 1
xor ebp, edi
mov dword [esp + 0x68], ebp
shrd edi, ecx, 0x1f
xor eax, ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x78], eax
xor edi, ebx
mov dword [esp + 0xa4], edi
xor ecx, eax
mov eax, dword [esp + 0x10]
xor eax, ebp
mov edx, eax
shrd eax, ecx, 0x14
shld edx, ecx, 0xc
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov esi, edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xac]
xor eax, dword [esp + 4]
xor ecx, dword [esp + 0x14]
xor edx, dword [esp + 0x2c]
mov ebp, eax
shrd eax, ecx, 0x15
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb0]
shld ebp, ecx, 0xb
mov ecx, edx
xor eax, dword [esp + 0x64]
shld ecx, eax, 0x15
shrd edx, eax, 0xb
mov eax, dword [esp]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1c]
mov ebx, edx
not ebx
xor eax, dword [esp + 0x34]
xor ecx, edi
mov edi, eax
shrd eax, ecx, 0x12
shld edi, ecx, 0xe
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], edi
mov edi, eax
mov eax, esi
not eax
and ebx, edi
mov esi, edi
mov dword [esp], edi
mov edi, dword [esp + 0x10]
and eax, ebp
xor ebx, ebp
not ebp
not esi
xor ecx, dword [esp + 8]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x3c]
and ebp, edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x9c], ebp
not edi
and edi, dword [esp + 0x60]
and esi, ecx
mov ebp, ecx
mov ecx, dword [esp + 0x58]
xor ebx, dword [esp + 0xc]
xor esi, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xdc], esi
mov esi, ecx
xor edi, ebx
not esi
mov dword [esp + 0x60], edi
and esi, eax
not eax
and eax, ebx
xor esi, edx
not ebx
xor eax, ecx
mov dword [esp + 0xac], esi
mov esi, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x10]
not esi
and esi, ecx
xor esi, eax
and ebx, eax
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x7c]
xor dword [esp + 0x74], ebp
not ebp
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0x84]
xor ebx, dword [esp + 0x1c]
and ebp, eax
xor dword [esp + 0x9c], eax
mov eax, dword [esp + 0x24]
xor edx, dword [esp + 8]
xor edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x18]
xor ebp, dword [esp]
xor eax, dword [esp + 0xc]
xor ebx, dword [esp + 0x34]
mov dword [esp + 0x54], ebp
mov ebp, eax
shrd eax, edx, 0x1d
shld ebp, edx, 3
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
xor eax, dword [esp + 0x68]
xor edx, dword [esp + 0x78]
mov esi, eax
shrd eax, edx, 0x13
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
shld esi, edx, 0xd
mov edx, dword [esp + 0x90]
xor eax, dword [esp + 4]
xor edx, dword [esp + 0x14]
mov ecx, eax
shrd eax, edx, 3
shld ecx, edx, 0x1d
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
xor ecx, dword [esp + 0x64]
shld eax, ecx, 0x1c
shrd edi, ecx, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, ebx
mov dword [esp + 0x84], edi
xor ecx, dword [esp + 0xa4]
shld eax, ecx, 0x14
shrd ebx, ecx, 0xc
mov ecx, esi
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x24]
not ecx
not eax
and eax, ebx
mov dword [esp + 0xcc], eax
mov eax, dword [esp]
and ecx, eax
not eax
and eax, edi
mov edi, edx
mov edx, dword [esp + 0x6c]
xor ecx, ebx
not ebx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
xor eax, esi
and ebx, esi
not edi
and edi, ebp
mov dword [esp + 0xfc], eax
mov esi, edx
not esi
mov eax, ecx
and esi, ecx
not eax
xor esi, ebp
not ebp
and ebp, edx
mov dword [esp + 0x1c], esi
mov esi, ebp
mov ebp, dword [esp + 0x10]
and eax, ebp
xor edi, ebp
not ebp
xor eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x84]
xor ebx, edx
xor edi, dword [esp + 0x14]
xor dword [esp + 0xcc], eax
not eax
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x40]
and eax, edx
mov edx, dword [esp + 0x28]
xor eax, dword [esp]
xor ebx, dword [esp + 0xa4]
and ebp, edx
xor esi, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
xor ebp, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x10], ebp
xor eax, dword [esp + 0xc]
xor ecx, dword [esp + 8]
xor esi, dword [esp + 4]
mov edx, eax
shrd eax, ecx, 0xe
shld edx, ecx, 0x12
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov dword [esp], edx
mov edx, dword [esp + 0xd0]
xor eax, dword [esp + 0x68]
xor edx, dword [esp + 0x78]
mov ecx, eax
shrd eax, edx, 0x1f
shld ecx, edx, 1
mov dword [esp + 0x88], eax
mov eax, esi
shrd esi, edi, 0x1a
shld eax, edi, 6
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0xa8]
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
mov ebp, edx
not ebp
xor esi, dword [esp + 0x64]
xor eax, dword [esp + 0x2c]
mov edi, eax
shrd eax, esi, 7
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
shld edi, esi, 0x19
and ebp, edi
mov dword [esp + 0x20], ebp
mov ebp, dword [esp]
xor dword [esp + 0x20], ecx
xor eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ebx, 0x18
shld esi, ebx, 8
mov dword [esp + 0x70], eax
mov ebx, edi
mov eax, dword [esp + 0x48]
mov edx, esi
not ebx
not edx
and ebx, esi
and edx, ebp
not ebp
and ebp, ecx
xor edx, edi
mov edi, dword [esp + 0x50]
not ecx
xor ebp, esi
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x70]
not edi
and edi, eax
mov esi, ebp
not esi
and esi, edx
xor esi, eax
not eax
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0x88]
and eax, ebp
mov ebp, edx
not ebp
xor edi, esi
and ebp, esi
not esi
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x50]
xor ebp, dword [esp + 0x70]
xor eax, edi
and esi, edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x28]
xor esi, edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x88], esi
and ecx, eax
xor edx, dword [esp + 8]
xor ebx, eax
xor ecx, dword [esp]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x80]
xor ebx, dword [esp + 0x34]
xor ecx, dword [esp + 0xc]
mov eax, ecx
shrd ecx, edx, 0x1c
shld eax, edx, 4
mov edx, dword [esp + 0xb8]
mov ebp, ecx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
xor edx, dword [esp + 0x78]
xor ecx, dword [esp + 0x2c]
xor eax, dword [esp + 0x68]
mov edi, eax
shrd eax, edx, 0x16
shld edi, edx, 0xa
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 4]
xor edx, dword [esp + 0x14]
mov esi, eax
shrd eax, edx, 0x11
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xd8]
shld esi, edx, 0xf
mov edx, ecx
xor eax, dword [esp + 0x64]
shld edx, eax, 0x18
shrd ecx, eax, 8
mov eax, ebx
mov dword [esp], edx
mov edx, ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x4c], edx
xor ecx, dword [esp + 0xa4]
shrd ebx, ecx, 5
shld eax, ecx, 0x1b
mov ecx, ebp
mov ebp, edi
mov dword [esp + 0x98], ebx
mov ebx, esi
not ebp
not ecx
not ebx
and ebp, esi
and ecx, edi
and ebx, edx
not edx
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp]
xor dword [esp + 0xd0], eax
and edx, eax
xor ebx, edi
not eax
xor edx, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x44]
mov edi, esi
not ebx
not edi
and ebx, edx
and edi, ecx
xor edi, edx
mov dword [esp + 0xd4], edi
mov edi, edx
mov edx, ecx
not edi
not edx
and edi, esi
mov esi, edi
mov edi, dword [esp + 0x98]
and edx, edi
xor ebx, edi
not edi
xor edx, dword [esp + 0x38]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x80]
xor ebx, dword [esp + 0xe4]
and eax, edx
xor ebp, edx
mov edx, dword [esp + 0x40]
xor eax, dword [esp + 0x4c]
mov dword [esp + 0xb8], ebp
and edi, edx
xor esi, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
xor edi, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], esi
mov dword [esp + 0x98], edi
xor eax, dword [esp + 0xf0]
xor ecx, dword [esp + 0xc8]
mov ebp, eax
shrd eax, ecx, 0x17
shld ebp, ecx, 9
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
xor ecx, dword [esp + 0xe0]
xor eax, dword [esp + 0x114]
mov edx, ecx
shrd ecx, eax, 0x1e
shld edx, eax, 2
mov eax, dword [esp + 0x14]
mov esi, ecx
mov dword [esp], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x68], esi
xor eax, dword [esp + 0x10c]
xor edx, dword [esp + 0x108]
mov ecx, edx
shrd edx, eax, 2
shld ecx, eax, 0x1e
mov eax, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
xor eax, dword [esp + 0xe8]
xor ecx, dword [esp + 0x104]
mov edx, ecx
shrd ecx, eax, 9
shld edx, eax, 0x17
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x2c], ecx
mov ecx, ebx
mov dword [esp + 0x28], edx
xor eax, dword [esp + 0x5c]
shld ecx, eax, 7
shrd ebx, eax, 0x19
mov eax, edx
mov edx, esi
not eax
not edx
and eax, ecx
and edx, edi
mov dword [esp + 0x80], eax
mov eax, ebp
xor edx, ebp
not eax
mov dword [esp + 0x44], edx
and eax, esi
mov esi, ecx
xor eax, ecx
mov ecx, dword [esp + 0xc]
not esi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2c]
and esi, ebp
mov ebp, dword [esp]
not eax
and eax, ebx
mov dword [esp + 0x18], eax
mov eax, ecx
not eax
and eax, ebp
xor eax, ebx
not ebx
and ebx, ecx
mov dword [esp + 0x4c], eax
mov eax, ebp
mov edx, ebx
mov ebx, dword [esp + 4]
not eax
and eax, ebx
xor eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, edi
mov edi, dword [esp + 0x80]
xor esi, ecx
xor edi, eax
not eax
mov ebp, esi
mov dword [esp + 0x114], esi
mov esi, dword [esp + 0x2c]
and eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], edi
xor eax, dword [esp + 0x68]
xor edx, esi
xor ecx, ebx
not ebx
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x74]
and ebx, esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x110]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x18], ecx
xor ebx, dword [esp]
xor esi, dword [eax*8 + 0x501cfc]
xor edx, dword [eax*8 + 0x501cf8]
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x20]
xor eax, dword [esp + 0xcc]
mov dword [esp + 0x74], edx
mov dword [esp + 0x60], esi
xor ebx, dword [esp + 0x24]
xor eax, edi
xor ebx, ecx
xor eax, edx
mov edx, dword [esp + 0x58]
xor ebx, esi
xor eax, dword [esp + 0xf4]
xor ebx, dword [esp + 0xd0]
xor edx, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xf8]
mov ecx, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x9c]
xor edx, dword [esp + 0x48]
xor eax, dword [esp + 0x90]
xor ebx, dword [esp + 0xec]
xor edx, dword [esp + 0xf0]
xor eax, dword [esp + 0x8c]
xor ebx, dword [esp + 0xa8]
xor edx, dword [esp + 0xb8]
xor eax, dword [esp + 0x70]
xor ebx, ebp
mov ebp, dword [esp + 0xfc]
xor ebx, dword [esp + 0xb4]
xor eax, dword [esp + 0x34]
xor ebp, dword [esp + 0xc4]
mov esi, ebx
shld esi, edx, 1
xor ebp, dword [esp + 0xdc]
xor ebp, dword [esp + 0xa0]
xor ebp, dword [esp + 0x44]
mov edi, ebp
shld edi, eax, 1
mov dword [esp + 0x94], edi
mov edi, ecx
mov ecx, dword [esp + 0x2c]
shld edi, ecx, 1
mov ecx, edx
xor edi, eax
shld eax, ebp, 1
shld ecx, ebx, 1
xor eax, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 4]
xor edx, dword [esp + 0x54]
xor edi, ebx
xor eax, dword [esp + 0x3c]
mov dword [esp + 0x94], edi
xor edx, dword [esp + 0x84]
xor eax, dword [esp + 0x10]
xor edx, dword [esp + 0x98]
xor eax, dword [esp + 0x30]
xor edx, dword [esp + 0x88]
xor eax, dword [esp + 0x100]
xor esi, edx
mov dword [esp + 0x50], esi
mov esi, eax
xor ecx, eax
shld esi, edx, 1
shld edx, eax, 1
mov eax, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov ebx, edx
mov edx, dword [esp + 0x6c]
xor eax, dword [esp + 0x64]
xor edx, dword [esp + 0x4c]
xor eax, dword [esp + 0xb0]
xor edx, dword [esp + 0xac]
xor eax, dword [esp + 0x118]
xor edx, dword [esp + 0x11c]
xor eax, dword [esp + 0xbc]
xor edx, dword [esp + 0x1c]
mov ecx, eax
xor ebx, eax
xor esi, edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xc]
shld ecx, edx, 1
mov dword [esp + 0x5c], esi
mov esi, edx
shld esi, eax, 1
mov eax, dword [esp + 0x2c]
xor esi, ebx
mov dword [esp + 0x28], esi
xor ecx, eax
shrd ebx, eax, 0x1f
mov eax, dword [esp + 0x7c]
mov edx, ecx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xec]
xor ebx, ebp
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0xc], ebx
xor eax, esi
xor ecx, edx
mov edx, eax
xor ebp, dword [esp]
shrd eax, ecx, 0x14
shld edx, ecx, 0xc
mov ecx, dword [esp + 0xa0]
mov esi, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x2c], edx
mov edx, ebp
xor ecx, dword [esp + 0x38]
xor eax, edi
shld edx, eax, 0xb
shrd ebp, eax, 0x15
mov eax, dword [esp + 0x70]
xor eax, dword [esp + 0x5c]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [esp + 0x70], eax
mov eax, dword [esp + 4]
shld edi, ecx, 0x15
mov ecx, dword [esp + 0x40]
xor eax, dword [esp + 0x14]
xor ecx, ebx
mov ebx, eax
shrd eax, ecx, 0x12
shld ebx, ecx, 0xe
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
not ecx
mov dword [esp + 0x78], ebx
and ecx, ebp
mov dword [esp + 0x40], ecx
mov ecx, edi
not ecx
xor eax, dword [esp + 8]
and ecx, ebx
xor ecx, ebp
not ebp
mov dword [esp + 0xc8], ecx
mov ecx, ebx
and ebp, edi
mov ebx, dword [esp + 0x2c]
not ecx
mov dword [esp + 0x60], eax
and ecx, eax
mov eax, dword [esp + 4]
xor ecx, edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
mov ecx, esi
not ebx
not ecx
and ebx, edx
and ecx, eax
not eax
xor edi, dword [esp + 0x50]
xor ecx, edx
not edx
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x60]
and edx, esi
and eax, edi
xor ebx, edi
not edi
xor eax, esi
xor dword [esp + 0x40], ecx
not ecx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x2c]
xor ebx, dword [esp + 0x28]
and edi, eax
xor edx, eax
mov eax, dword [esp + 0x7c]
xor edi, dword [esp + 4]
mov dword [esp + 0xa0], edx
mov edx, ebx
and ecx, eax
xor ebp, eax
mov eax, dword [esp + 0x20]
xor ecx, dword [esp + 0x78]
mov dword [esp + 0x74], edi
mov dword [esp + 0x2c], ebp
xor eax, dword [esp + 8]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xc0]
mov edi, eax
xor ecx, dword [esp + 0x50]
shrd eax, ecx, 0x1d
shld edi, ecx, 3
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
xor ecx, dword [esp + 0xa4]
xor eax, dword [esp]
shld edx, ecx, 0xd
shrd ebx, ecx, 0x13
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x7c], edx
mov edx, eax
xor ecx, dword [esp + 0x94]
shld edx, ecx, 0x1d
shrd eax, ecx, 3
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov edx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4c], edx
xor ecx, dword [esp + 0x38]
xor eax, dword [esp + 0x5c]
mov ebp, eax
shrd eax, ecx, 4
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x10]
shld ebp, ecx, 0x1c
mov ecx, dword [esp + 0x84]
xor eax, dword [esp + 0x14]
xor ecx, dword [esp + 0xc]
mov esi, eax
shrd eax, ecx, 0xc
shld esi, ecx, 0x14
mov dword [esp + 0x10], eax
mov ecx, edi
mov eax, esi
mov dword [esp + 0x78], esi
mov esi, ebx
not ecx
not esi
and ecx, ebx
not eax
and esi, edx
and eax, edi
xor esi, edi
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
xor dword [esp + 0x84], ebp
mov dword [esp + 0x64], esi
mov esi, edx
mov edx, dword [esp + 4]
not esi
and esi, ebp
not ebp
xor esi, ebx
mov ebx, dword [esp + 0x7c]
not edi
mov dword [esp + 0x108], esi
and edi, eax
mov esi, ebx
not esi
and esi, edx
xor esi, eax
not eax
mov dword [esp + 0xc0], esi
mov esi, edx
mov edx, dword [esp + 0x8c]
and eax, ebx
not esi
and esi, edx
xor edi, edx
xor esi, ebx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], esi
mov esi, edx
mov edx, dword [esp + 0x10]
not esi
xor eax, edx
and esi, edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x78]
xor esi, dword [esp + 4]
xor edx, dword [esp + 0x94]
and ebp, eax
xor ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x80]
xor ebp, dword [esp + 0x4c]
xor eax, dword [esp + 8]
xor ecx, dword [esp + 0x50]
mov dword [esp + 0x4c], ebp
mov ebp, eax
shld ebp, ecx, 0x12
shrd eax, ecx, 0xe
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], ebp
xor ecx, dword [esp + 0x28]
xor eax, dword [esp + 0xa4]
mov ebx, ecx
shrd ecx, eax, 0x1f
shld ebx, eax, 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xc4]
xor eax, dword [esp]
xor ecx, dword [esp + 0x38]
mov esi, eax
shrd eax, edx, 0x1a
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
shld esi, edx, 6
mov dword [esp + 4], esi
not esi
xor eax, dword [esp + 0x5c]
mov edi, eax
shrd eax, ecx, 7
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x30]
shld edi, ecx, 0x19
mov ecx, dword [esp + 0x98]
and esi, edi
mov dword [esp + 0x78], esi
xor dword [esp + 0x78], ebx
xor eax, dword [esp + 0x14]
xor ecx, dword [esp + 0xc]
mov edx, eax
shrd eax, ecx, 0x18
shld edx, ecx, 8
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x18]
mov eax, edx
mov esi, dword [esp + 0x30]
not eax
and eax, ebp
not ebp
and ebp, ebx
xor eax, edi
not edi
not ebx
xor ebp, edx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x1c]
and edi, edx
mov edx, esi
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x90]
not edx
and edx, ecx
not eax
xor edx, ebp
and eax, ebp
mov dword [esp + 0xec], edx
mov edx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x58]
not ebp
not edx
and edx, esi
xor eax, ecx
and ebp, ecx
not ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1c]
xor ebp, esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0xb4], ebp
and ecx, eax
xor edx, eax
mov eax, dword [esp + 4]
xor esi, dword [esp + 0x38]
xor ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0xcc]
and ebx, eax
xor edi, eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x24]
xor edx, dword [esp + 0x50]
mov dword [esp + 0x30], edi
xor ebx, dword [esp + 0x20]
xor ecx, dword [esp + 8]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x54]
mov eax, ecx
shrd ecx, edx, 0x1c
xor ebx, dword [esp + 0xc]
shld eax, edx, 4
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
xor ecx, dword [esp + 0xa4]
xor eax, dword [esp + 0x28]
mov edx, eax
shrd eax, ecx, 0x16
shld edx, ecx, 0xa
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
xor eax, dword [esp]
xor ecx, dword [esp + 0x94]
mov edi, eax
shrd eax, ecx, 0x11
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
shld edi, ecx, 0xf
xor eax, dword [esp + 0x5c]
mov ecx, eax
shrd eax, esi, 8
shld ecx, esi, 0x18
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
xor esi, dword [esp + 0x14]
not eax
and eax, edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x6c]
mov ebp, esi
shrd esi, ebx, 5
shld ebp, ebx, 0x1b
mov ebx, edi
not ebx
xor dword [esp + 0x9c], ebp
and ebx, ecx
not ecx
xor ebx, edx
and ecx, ebp
not ebp
mov dword [esp + 0x80], ebx
mov ebx, edx
xor ecx, edi
mov edx, dword [esp + 0x18]
not ebx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x48]
and ebx, edi
mov edi, eax
not edi
and edi, dword [esp + 4]
not edx
and edx, ecx
xor edx, esi
mov dword [esp + 0xdc], edx
xor edi, ecx
mov dword [esp + 0xcc], edi
mov edi, ecx
mov ecx, dword [esp + 4]
not edi
and edi, eax
not ecx
and ecx, esi
not esi
xor ecx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x18]
xor eax, dword [esp + 0xf4]
and esi, ecx
xor edi, ecx
mov ecx, dword [esp + 0x24]
xor esi, dword [esp + 4]
mov dword [esp + 0xa8], edi
and ebp, ecx
xor ebx, ecx
xor ebp, dword [esp + 0x34]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 8]
xor ebp, dword [esp + 0xd0]
mov ecx, ebp
shrd ebp, eax, 0x17
shld ecx, eax, 9
mov eax, dword [esp + 0x28]
mov esi, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa4]
xor eax, dword [esp + 0xf0]
xor ecx, dword [esp + 0x114]
mov edi, eax
shrd eax, ecx, 0x1e
shld edi, ecx, 2
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x28], eax
mov eax, dword [esp]
mov dword [esp + 0x18], edi
xor ecx, dword [esp + 0xb0]
xor eax, dword [esp + 0xac]
mov ebx, eax
shrd eax, ecx, 2
shld ebx, ecx, 0x1e
mov ecx, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0xf8]
xor eax, dword [esp + 0xfc]
mov edx, ecx
shrd ecx, eax, 9
shld edx, eax, 0x17
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
not ecx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x14]
xor eax, dword [esp + 0x88]
xor edx, dword [esp + 0x100]
mov ebp, edx
shrd edx, eax, 0x19
and ecx, edx
shld ebp, eax, 7
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, esi
not ecx
and ecx, edi
not edi
and edi, dword [esp]
xor ecx, edx
not edx
and edx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
xor edi, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x48], edi
not ecx
and ecx, ebp
xor ecx, ebx
mov edi, esi
not edi
and edi, eax
not eax
and eax, ebx
xor edi, ebp
not ebx
xor eax, dword [esp + 4]
mov dword [esp + 0x38], edi
mov edi, ebp
mov ebp, dword [esp + 0x70]
not edi
and edi, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x54]
xor edx, esi
mov dword [esp + 0xd0], edx
and ebx, eax
xor edi, eax
mov eax, dword [esp]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x40]
xor ebx, dword [esp + 0x28]
xor dword [esp + 0x24], eax
not eax
and eax, esi
mov dword [esp + 0x5c], ebx
xor eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
xor edi, dword [eax*8 + 0x501d04]
xor ebp, dword [eax*8 + 0x501d00]
add eax, 4
cmp eax, 0x14
mov dword [esp + 0x110], eax
jb 0x40d910
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0xe4]
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + 0x28], esi
mov esi, dword [esp + 0xa0]
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0x54], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + 0x78], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 0x7c], edx
mov dword [eax + 0xa0], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xd8]
mov dword [eax + 0xa4], ecx
mov dword [eax + 8], esi
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0xc], esi
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10c]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0xbc]
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 0x5c], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 0x84], edx
mov edx, dword [esp + 0xb0]
mov dword [eax + 0xa8], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 0xac], edx
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xc0]
mov dword [eax + 0x14], esi
mov esi, dword [esp + 0x64]
mov dword [eax + 0x38], edx
mov edx, dword [esp + 0xcc]
mov dword [eax + 0x3c], esi
mov dword [eax + 0x60], ecx
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x68]
mov dword [eax + 0x64], ecx
mov dword [eax + 0x88], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x8c], edx
mov dword [eax + 0xb0], ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xe0]
mov dword [eax + 0xb4], ecx
mov dword [eax + 0x1c], esi
mov esi, dword [esp + 0xe8]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xd4]
mov dword [eax + 0x40], esi
mov esi, dword [esp + 0x108]
mov dword [eax + 0x44], esi
mov esi, dword [esp + 0xb8]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], esi
mov dword [eax + 0x90], ecx
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov dword [eax + 0x94], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0xbc], esi
mov esi, dword [esp + 0x74]
mov dword [eax + 0xb8], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x20], esi
mov esi, dword [esp + 0x8c]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x48], esi
mov esi, dword [esp + 0x58]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 0x70], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 0x74], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x98], esi
mov dword [eax + 0x9c], ecx
mov ecx, dword [esp]
mov dword [eax + 0xc4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc0], ecx
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret