Function at 0x586670
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x589a7e
sub esp, 0x90
mov edx, dword [esp + 0x94]
xor eax, eax
jmp 0x5870b2
mov dword [esp + 0x70], edi
mov edx, edi
lea edi, [0xa3aa40]
lea edi, [edi + eax*8 + 0x18]
xor ebx, dword [edi]
xor ebp, dword [edi + 4]
mov edi, dword [esp + 0x94]
mov dword [edi], ebx
mov dword [edi + 4], ebp
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x74]
and esi, ebp
mov ebx, dword [esp + 0x7c]
xor esi, ebx
mov dword [edi + 8], esi
not edx
mov ebx, dword [esp + 0x78]
and edx, ebx
mov esi, dword [esp + 0x8c]
xor edx, esi
mov dword [edi + 0xc], edx
mov edx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov esi, dword [esp + 0x80]
and ebp, esi
mov esi, dword [esp + 0x88]
xor esi, ebp
mov dword [edi + 0x10], esi
not ebx
mov esi, dword [esp + 0x84]
and ebx, esi
mov ebp, dword [esp + 0x70]
xor ebp, ebx
mov dword [edi + 0x14], ebp
mov ebx, dword [esp + 0x80]
not ebx
mov ebp, dword [esp + 0x58]
and ebx, ebp
xor edx, ebx
mov dword [edi + 0x18], edx
mov ebx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
mov edx, ebx
mov ebx, dword [esp + 0x5c]
and esi, ebx
mov ebx, dword [esp + 0x78]
xor ebx, esi
mov dword [edi + 0x1c], ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov ebx, dword [esp + 0x7c]
and ebx, ebp
mov ebp, dword [esp + 0x80]
xor ebx, ebp
mov dword [edi + 0x20], ebx
mov ebx, dword [esp + 0x5c]
not ebx
mov ebp, dword [esp + 0x8c]
and ebp, ebx
xor ebp, edx
mov dword [edi + 0x24], ebp
mov ebx, dword [edi + 0x28]
mov ebp, dword [edi + 0x2c]
mov esi, dword [esp + 0x30]
xor ebx, esi
mov dword [esp + 8], ebx
mov edx, esi
mov esi, dword [esp + 0x34]
xor ebp, esi
mov dword [esp + 0xc], ebp
shl ebx, 3
shr ebp, 0x1d
or ebp, ebx
mov dword [esp + 0x8c], ebp
mov ebx, dword [edi + 0x30]
mov dword [esp + 0x88], ebx
mov esi, dword [edi + 0x34]
mov dword [esp + 0x84], esi
mov esi, dword [edi + 0x38]
mov dword [esp + 0x80], esi
mov esi, dword [edi + 0x3c]
mov dword [esp + 0x7c], esi
mov esi, dword [edi + 0x40]
mov ebx, dword [edi + 0x44]
mov ebp, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x78], esi
mov ebp, dword [esp + 0x1c]
xor ebx, ebp
mov dword [esp + 0x74], ebx
shl esi, 0x1c
shr ebx, 4
or ebx, esi
mov dword [esp + 0x70], ebx
mov esi, dword [edi + 0x48]
mov ebp, dword [edi + 0x4c]
mov edi, dword [esp + 0x10]
xor esi, edi
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x14]
xor ebp, edi
mov dword [esp + 0x68], ebp
shl esi, 0x14
shr ebp, 0xc
or ebp, esi
mov dword [esp + 0x64], ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edi, dword [esp + 0x8c]
and ebp, edi
xor ebp, ebx
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0xc]
shl ebp, 3
mov esi, dword [esp + 8]
shr esi, 0x1d
or esi, ebp
mov dword [esp + 0x60], esi
mov ebp, dword [esp + 0x78]
shr ebp, 4
mov edi, dword [esp + 0x74]
shl edi, 0x1c
or ebp, edi
mov dword [esp + 0x78], ebp
mov edi, dword [esp + 0x6c]
shr edi, 0xc
mov ebx, dword [esp + 0x68]
shl ebx, 0x14
or edi, ebx
mov dword [esp + 0x74], edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
xor edi, ebp
mov ebp, dword [esp + 0x94]
mov dword [ebp + 0x2c], edi
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x28]
xor edi, ebx
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x84]
xor ebx, ecx
mov dword [esp + 0xc], ebx
shl ebx, 0xd
shr edi, 0x13
or ebx, edi
mov dword [esp + 0x88], ebx
mov edi, dword [esp + 0x8c]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebx, dword [esp + 0x64]
xor edi, ebx
mov dword [ebp + 0x30], edi
mov edi, dword [esp + 8]
shl edi, 0xd
mov ebx, dword [esp + 0xc]
shr ebx, 0x13
or ebx, edi
mov dword [esp + 0x84], ebx
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebx
mov edi, dword [esp + 0x74]
xor esi, edi
mov dword [ebp + 0x34], esi
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
xor esi, edi
mov dword [esp + 8], esi
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x24]
xor edi, ebx
mov dword [esp + 0xc], edi
shr esi, 3
shl edi, 0x1d
or edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [esp + 0x88]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edi
mov ebx, dword [esp + 0x8c]
xor ebx, esi
mov dword [ebp + 0x38], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x1d
mov esi, dword [esp + 0xc]
shr esi, 3
or esi, ebx
mov dword [esp + 0x8c], esi
mov ebx, dword [esp + 0x84]
not ebx
and ebx, esi
mov esi, dword [esp + 0x60]
xor esi, ebx
mov dword [ebp + 0x3c], esi
xchg edi, ebx
not ebx
xchg edi, ebx
mov esi, dword [esp + 0x70]
and edi, esi
mov ebx, dword [esp + 0x88]
xor ebx, edi
mov dword [ebp + 0x40], ebx
mov ebx, dword [esp + 0x8c]
not ebx
mov edi, dword [esp + 0x78]
and ebx, edi
mov edi, dword [esp + 0x84]
xor edi, ebx
mov dword [ebp + 0x44], edi
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebx, dword [esp + 0x64]
and ebx, esi
mov esi, dword [esp + 0x80]
xor esi, ebx
mov dword [ebp + 0x48], esi
mov ebx, dword [esp + 0x78]
not ebx
mov esi, dword [esp + 0x74]
and esi, ebx
mov ebx, dword [esp + 0x8c]
xor ebx, esi
mov dword [ebp + 0x4c], ebx
mov ebx, dword [ebp + 0x50]
mov dword [esp + 0x8c], ebx
mov esi, dword [ebp + 0x54]
mov dword [esp + 0x88], esi
mov edi, dword [ebp + 0x58]
mov esi, dword [ebp + 0x5c]
mov ebx, dword [esp + 0x28]
xor edi, ebx
mov dword [esp + 8], edi
xor esi, ecx
mov dword [esp + 0xc], esi
shl edi, 1
shr esi, 0x1f
or esi, edi
mov dword [esp + 0x84], esi
mov edi, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x64]
mov esi, dword [esp + 0x20]
xor edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [esp + 0x24]
xor ebx, esi
mov dword [esp + 0x7c], ebx
shl edi, 6
shr ebx, 0x1a
or ebx, edi
mov dword [esp + 0x78], ebx
mov edi, dword [ebp + 0x68]
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esp + 0x18]
xor edi, ebx
mov dword [esp + 0x74], edi
mov ebx, dword [esp + 0x1c]
xor esi, ebx
mov dword [esp + 0x70], esi
shl edi, 0x19
shr esi, 7
or esi, edi
mov dword [esp + 0x6c], esi
mov edi, dword [ebp + 0x70]
mov dword [esp + 0x68], edi
mov ebx, dword [ebp + 0x74]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x78]
not ebx
and ebx, esi
mov esi, dword [esp + 0x84]
xor ebx, esi
mov dword [ebp + 0x50], ebx
mov ebx, dword [esp + 0xc]
shl ebx, 1
mov esi, dword [esp + 8]
shr esi, 0x1f
or esi, ebx
mov dword [esp + 0x60], esi
mov ebx, dword [esp + 0x7c]
shl ebx, 6
mov edi, dword [esp + 0x80]
shr edi, 0x1a
or edi, ebx
mov dword [esp + 0x80], edi
mov ebx, dword [esp + 0x74]
shr ebx, 7
mov ebp, dword [esp + 0x70]
shl ebp, 0x19
or ebx, ebp
mov dword [esp + 0x7c], ebx
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
xor edi, esi
mov esi, dword [esp + 0x94]
mov dword [esi + 0x54], edi
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x10]
xor edi, ebp
mov dword [esp + 8], edi
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
xor ebp, ebx
mov dword [esp + 0xc], ebp
shl edi, 8
shr ebp, 0x18
or ebp, edi
mov dword [esp + 0x74], ebp
mov edi, dword [esp + 0x6c]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
mov ebx, dword [esp + 0x78]
xor edi, ebx
mov dword [esi + 0x58], edi
mov edi, dword [esp + 0xc]
shl edi, 8
mov ebx, dword [esp + 8]
shr ebx, 0x18
or ebx, edi
mov dword [esp + 0x70], ebx
mov edi, dword [esp + 0x7c]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebx, dword [esp + 0x80]
xor edi, ebx
mov dword [esi + 0x5c], edi
mov edi, dword [esp + 0x8c]
xor edi, edx
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
xor ebx, esi
mov dword [esp + 0xc], ebx
shl edi, 0x12
shr ebx, 0xe
or ebx, edi
mov dword [esp + 0x8c], ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov esi, dword [esp + 0x6c]
xor ebp, esi
mov esi, dword [esp + 0x94]
mov dword [esi + 0x60], ebp
mov ebp, dword [esp + 8]
shr ebp, 0xe
mov edi, dword [esp + 0xc]
shl edi, 0x12
or ebp, edi
mov dword [esp + 0x88], ebp
mov edi, dword [esp + 0x70]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
mov ebp, dword [esp + 0x7c]
xor edi, ebp
mov dword [esi + 0x64], edi
not ebx
mov edi, dword [esp + 0x84]
and ebx, edi
mov ebp, dword [esp + 0x74]
xor ebp, ebx
mov dword [esi + 0x68], ebp
mov ebx, dword [esp + 0x88]
not ebx
mov ebp, dword [esp + 0x60]
and ebx, ebp
mov ebp, dword [esp + 0x70]
xor ebp, ebx
mov dword [esi + 0x6c], ebp
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebx, dword [esp + 0x78]
and ebx, edi
mov ebp, dword [esp + 0x8c]
xor ebp, ebx
mov dword [esi + 0x70], ebp
mov ebx, dword [esp + 0x60]
not ebx
mov ebp, dword [esp + 0x80]
and ebp, ebx
mov ebx, dword [esp + 0x88]
xor ebx, ebp
mov dword [esi + 0x74], ebx
mov ebx, dword [esi + 0x78]
mov ebp, dword [esi + 0x7c]
xor ebx, edx
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x34]
xor ebp, edi
mov dword [esp + 0xc], ebp
shl ebp, 4
shr ebx, 0x1c
or ebp, ebx
mov dword [esp + 0x8c], ebp
mov ebx, dword [esi + 0x80]
mov edi, dword [esi + 0x84]
mov ebp, dword [esp + 0x28]
xor ebx, ebp
mov dword [esp + 0x88], ebx
xor edi, ecx
mov dword [esp + 0x84], edi
shl ebx, 0xa
shr edi, 0x16
or edi, ebx
mov dword [esp + 0x80], edi
mov ebx, dword [esi + 0x88]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esi + 0x8c]
mov dword [esp + 0x78], ebp
mov ebp, dword [esi + 0x90]
mov dword [esp + 0x74], ebp
mov ebp, dword [esi + 0x94]
mov dword [esp + 0x70], ebp
mov ebp, dword [esi + 0x98]
mov ebx, dword [esi + 0x9c]
mov esi, dword [esp + 0x10]
xor ebp, esi
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0x14]
xor ebx, esi
mov dword [esp + 0x68], ebx
shl ebp, 0x1b
shr ebx, 5
or ebx, ebp
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x8c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
xor ebp, ebx
mov esi, dword [esp + 0x94]
mov dword [esi + 0x78], ebp
mov ebp, dword [esp + 8]
shl ebp, 4
mov ebx, dword [esp + 0xc]
shr ebx, 0x1c
or ebx, ebp
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 0x84]
shl ebp, 0xa
mov edi, dword [esp + 0x88]
shr edi, 0x16
or edi, ebp
mov dword [esp + 0x88], edi
mov ebp, dword [esp + 0x6c]
shr ebp, 5
mov esi, dword [esp + 0x68]
shl esi, 0x1b
or ebp, esi
mov dword [esp + 0x84], ebp
not ebx
and ebx, edi
xor ebx, ebp
mov ebp, dword [esp + 0x94]
mov dword [ebp + 0x7c], ebx
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
xor ebx, esi
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x24]
xor esi, edi
mov dword [esp + 0xc], esi
shl ebx, 0xf
shr esi, 0x11
or esi, ebx
mov dword [esp + 0x7c], esi
mov ebx, dword [esp + 0x80]
not ebx
and ebx, esi
mov edi, dword [esp + 0x8c]
xor ebx, edi
mov dword [ebp + 0x80], ebx
mov ebx, dword [esp + 0xc]
shl ebx, 0xf
mov edi, dword [esp + 8]
shr edi, 0x11
or edi, ebx
mov dword [esp + 0x78], edi
mov ebx, dword [esp + 0x88]
not ebx
and ebx, edi
mov edi, dword [esp + 0x60]
xor ebx, edi
mov dword [ebp + 0x84], ebx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
xor ebx, edi
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x1c]
xor edi, ebp
mov dword [esp + 0xc], edi
shr ebx, 8
shl edi, 0x18
or edi, ebx
mov dword [esp + 0x74], edi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edi
mov ebp, dword [esp + 0x80]
xor ebp, esi
mov esi, dword [esp + 0x94]
mov dword [esi + 0x88], ebp
mov ebp, dword [esp + 8]
shl ebp, 0x18
mov ebx, dword [esp + 0xc]
shr ebx, 8
or ebx, ebp
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0x78]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov ebx, dword [esp + 0x88]
xor ebx, ebp
mov dword [esi + 0x8c], ebx
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0x64]
and edi, ebp
mov ebx, dword [esp + 0x7c]
xor edi, ebx
mov dword [esi + 0x90], edi
mov ebx, dword [esp + 0x80]
not ebx
mov edi, dword [esp + 0x84]
and ebx, edi
mov edi, dword [esp + 0x78]
xor ebx, edi
mov dword [esi + 0x94], ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov ebx, dword [esp + 0x8c]
and ebx, ebp
mov ebp, dword [esp + 0x74]
xor ebp, ebx
mov dword [esi + 0x98], ebp
mov ebx, dword [esp + 0x84]
not ebx
mov ebp, dword [esp + 0x60]
and ebp, ebx
mov ebx, dword [esp + 0x80]
xor ebx, ebp
mov dword [esi + 0x9c], ebx
mov ebx, dword [esi + 0xa0]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esi + 0xa4]
mov dword [esp + 0x88], ebp
mov edi, dword [esi + 0xa8]
mov dword [esp + 0x84], edi
mov edi, dword [esi + 0xac]
mov dword [esp + 0x80], edi
mov edi, dword [esi + 0xb0]
mov ebp, dword [esi + 0xb4]
mov ebx, dword [esp + 0x20]
xor edi, ebx
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x24]
xor ebp, ebx
mov dword [esp + 0xc], ebp
shr edi, 2
shl ebp, 0x1e
or ebp, edi
mov dword [esp + 0x7c], ebp
mov edi, dword [esi + 0xb8]
mov ebx, dword [esi + 0xbc]
mov ebp, dword [esp + 0x18]
xor edi, ebp
mov dword [esp + 0x78], edi
mov ebp, dword [esp + 0x1c]
xor ebx, ebp
mov dword [esp + 0x74], ebx
shr edi, 9
shl ebx, 0x17
or ebx, edi
mov dword [esp + 0x70], ebx
mov edi, dword [esi + 0xc0]
mov ebp, dword [esi + 0xc4]
mov esi, dword [esp + 0x10]
xor edi, esi
mov dword [esp + 0x6c], edi
mov esi, dword [esp + 0x14]
xor ebp, esi
mov esi, ebp
shl ebp, 7
shr edi, 0x19
or ebp, edi
mov dword [esp + 0x68], ebp
not ebx
and ebx, ebp
mov edi, dword [esp + 0x7c]
xor ebx, edi
mov edi, dword [esp + 0x94]
mov dword [edi + 0xa0], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x1e
mov ebp, dword [esp + 0xc]
shr ebp, 2
or ebp, ebx
mov dword [esp + 0x64], ebp
mov ebx, dword [esp + 0x78]
shl ebx, 0x17
mov edi, dword [esp + 0x74]
shr edi, 9
or edi, ebx
mov ebx, dword [esp + 0x6c]
shl ebx, 7
shr esi, 0x19
or esi, ebx
mov dword [esp + 0x78], esi
mov ebx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
xor edi, ebp
mov ebp, dword [esp + 0x94]
mov dword [ebp + 0xa4], edi
mov edi, dword [esp + 0x8c]
xor edi, edx
mov dword [esp + 8], edi
mov edx, ebx
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
xor ebx, esi
mov esi, ebx
shl ebx, 9
shr edi, 0x17
or ebx, edi
mov dword [esp + 0x8c], ebx
mov edi, dword [esp + 0x68]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebx, dword [esp + 0x70]
xor edi, ebx
mov dword [ebp + 0xa8], edi
mov edi, dword [esp + 8]
shl edi, 9
shr esi, 0x17
or esi, edi
mov edi, dword [esp + 0x78]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
xor edi, edx
mov dword [ebp + 0xac], edi
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x28]
xor edi, ebx
mov ebx, dword [esp + 0x80]
xor ebx, ecx
mov dword [esp + 0xc], ebx
mov ecx, edi
shl edi, 2
shr ebx, 0x1e
or ebx, edi
mov dword [esp + 0x88], ebx
mov edi, dword [esp + 0x8c]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebx, dword [esp + 0x68]
xor ebx, edi
mov dword [ebp + 0xb0], ebx
mov ebx, dword [esp + 0xc]
shl ebx, 2
shr ecx, 0x1e
or ecx, ebx
mov ebx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ecx
mov edi, dword [esp + 0x78]
xor edi, esi
mov dword [ebp + 0xb4], edi
mov esi, dword [esp + 0x88]
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x7c]
and esi, edi
mov edi, dword [esp + 0x8c]
xor edi, esi
mov dword [ebp + 0xb8], edi
mov esi, ecx
not ecx
mov edi, dword [esp + 0x64]
and ecx, edi
xor ebx, ecx
mov dword [ebp + 0xbc], ebx
mov ebx, dword [esp + 0x7c]
not ebx
mov ecx, esi
mov esi, dword [esp + 0x70]
and esi, ebx
mov ebx, dword [esp + 0x88]
xor esi, ebx
mov dword [ebp + 0xc0], esi
xchg edi, ebx
not ebx
xchg edi, ebx
and edx, edi
xor edx, ecx
mov dword [ebp + 0xc4], edx
add eax, 4
mov edx, ebp
cmp eax, 0x18
jge 0x589a48
mov ebx, dword [edx + 0x28]
mov ebp, dword [edx]
mov dword [esp + 0x8c], ebp
xor ebx, ebp
mov esi, dword [edx + 0x2c]
mov edi, dword [edx + 4]
xor esi, edi
xor ebx, dword [edx + 0x50]
xor esi, dword [edx + 0x54]
xor ebx, dword [edx + 0x78]
xor esi, dword [edx + 0x7c]
xor ebx, dword [edx + 0xa0]
mov dword [esp + 0x58], ebx
xor esi, dword [edx + 0xa4]
mov dword [esp + 0x5c], esi
mov ecx, edi
mov edi, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov esi, dword [edx + 0x30]
mov dword [esp + 0x88], esi
xor edi, esi
mov esi, dword [edx + 0x34]
mov dword [esp + 0x84], esi
xor ebp, esi
xor edi, dword [edx + 0x58]
xor ebp, dword [edx + 0x5c]
xor edi, dword [edx + 0x80]
xor ebp, dword [edx + 0x84]
xor edi, dword [edx + 0xa8]
mov dword [esp + 0x50], edi
xor ebp, dword [edx + 0xac]
mov dword [esp + 0x54], ebp
mov esi, dword [edx + 0x38]
xor esi, dword [edx + 0x10]
mov ebx, dword [edx + 0x3c]
xor ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x60]
mov dword [esp + 0x80], ebp
xor esi, ebp
mov ebp, dword [edx + 0x64]
mov dword [esp + 0x7c], ebp
xor ebx, ebp
xor esi, dword [edx + 0x88]
xor ebx, dword [edx + 0x8c]
xor esi, dword [edx + 0xb0]
mov dword [esp + 0x48], esi
xor ebx, dword [edx + 0xb4]
mov dword [esp + 0x4c], ebx
mov ebp, dword [edx + 0x40]
xor ebp, dword [edx + 0x18]
mov ebx, dword [edx + 0x44]
xor ebx, dword [edx + 0x1c]
xor ebp, dword [edx + 0x68]
xor ebx, dword [edx + 0x6c]
mov esi, dword [edx + 0x90]
mov dword [esp + 0x78], esi
xor ebp, esi
mov esi, dword [edx + 0x94]
mov dword [esp + 0x74], esi
xor ebx, esi
xor ebp, dword [edx + 0xb8]
mov dword [esp + 0x40], ebp
xor ebx, dword [edx + 0xbc]
mov dword [esp + 0x44], ebx
mov esi, dword [edx + 0x48]
xor esi, dword [edx + 0x20]
mov ebx, dword [edx + 0x4c]
xor ebx, dword [edx + 0x24]
xor esi, dword [edx + 0x70]
xor ebx, dword [edx + 0x74]
xor esi, dword [edx + 0x98]
xor ebx, dword [edx + 0x9c]
mov ebp, dword [edx + 0xc0]
mov dword [esp + 0x70], ebp
xor esi, ebp
mov edx, dword [edx + 0xc4]
mov dword [esp + 0x6c], edx
xor ebx, edx
mov dword [esp + 0x3c], ebx
shl edi, 1
mov edx, dword [esp + 0x54]
shr edx, 0x1f
or edx, edi
xor edx, esi
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x54]
shl edi, 1
mov ebp, dword [esp + 0x50]
shr ebp, 0x1f
or ebp, edi
xor ebp, ebx
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x48]
shl edi, 1
mov ebp, dword [esp + 0x4c]
shr ebp, 0x1f
or ebp, edi
mov edi, dword [esp + 0x58]
xor ebp, edi
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x4c]
shl ebp, 1
mov edx, dword [esp + 0x48]
shr edx, 0x1f
or ebp, edx
mov edx, dword [esp + 0x5c]
xor ebp, edx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x40]
shl ebp, 1
mov edx, dword [esp + 0x44]
shr edx, 0x1f
or ebp, edx
mov edx, dword [esp + 0x50]
xor edx, ebp
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0x44]
shl ebp, 1
mov edx, dword [esp + 0x40]
shr edx, 0x1f
or ebp, edx
mov edx, dword [esp + 0x54]
xor edx, ebp
mov dword [esp + 0x24], edx
mov ebp, esi
shl esi, 1
shr ebx, 0x1f
or ebx, esi
mov esi, dword [esp + 0x48]
xor ebx, esi
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x3c]
shl esi, 1
shr ebp, 0x1f
or ebp, esi
mov esi, dword [esp + 0x4c]
xor ebp, esi
mov dword [esp + 0x1c], ebp
mov esi, edi
shl edi, 1
mov ebp, dword [esp + 0x5c]
shr ebp, 0x1f
or ebp, edi
mov edi, dword [esp + 0x40]
xor edi, ebp
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x5c]
shl ebp, 1
shr esi, 0x1f
or esi, ebp
mov ebp, dword [esp + 0x44]
xor ebp, esi
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x30]
xor esi, ebp
mov dword [esp + 0x58], esi
mov ebp, dword [esp + 0x34]
xor ecx, ebp
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x28]
xor ebp, esi
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
xor esi, edi
mov dword [esp + 0xc], esi
shl ebp, 0xc
shr esi, 0x14
or esi, ebp
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + 0xc]
shl ebp, 0xc
mov edi, dword [esp + 8]
shr edi, 0x14
or ebp, edi
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x80]
xor esi, edi
mov dword [esp + 8], esi
mov edi, dword [esp + 0x7c]
xor edi, edx
mov dword [esp + 0xc], edi
shl esi, 0xb
shr edi, 0x15
or edi, esi
mov dword [esp + 0x88], edi
mov esi, dword [esp + 0xc]
shl esi, 0xb
mov edx, dword [esp + 8]
shr edx, 0x15
or esi, edx
mov edx, dword [esp + 0x78]
xor edx, ebx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x1c]
xor ebx, edi
mov dword [esp + 0xc], ebx
shr edx, 0xb
shl ebx, 0x15
or edx, ebx
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 8]
shl ebx, 0x15
mov edi, dword [esp + 0xc]
shr edi, 0xb
or edi, ebx
mov dword [esp + 0x80], edi
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x10]
xor ebx, edx
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x14]
xor edx, edi
mov dword [esp + 0xc], edx
shl edx, 0xe
shr ebx, 0x12
or ebx, edx
mov dword [esp + 0x7c], ebx
mov edx, dword [esp + 8]
shl edx, 0xe
mov edi, dword [esp + 0xc]
shr edi, 0x12
or edi, edx
mov dword [esp + 0x78], edi
mov edx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov ebx, dword [esp + 0x58]
xor ebp, ebx
mov ebx, dword [esp + 0x8c]
not ebx
mov edi, dword [esp + 0x88]
and ebx, edi
xor ebx, ecx
cmp eax, 0x18
jae 0x589a73
mov dword [esp + 0x74], edx
lea edi, [0xa3aa40]
lea edi, [edi + eax*8]
xor ebp, dword [edi]
xor ebx, dword [edi + 4]
mov edi, dword [esp + 0x94]
mov dword [edi], ebp
mov dword [edi + 4], ebx
mov ebx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x80]
and esi, ebp
xor esi, edx
mov dword [edi + 0x30], esi
mov esi, dword [esp + 0x88]
xchg esi, ebx
not ebx
xchg esi, ebx
mov edx, dword [esp + 0x84]
and esi, edx
mov edx, dword [esp + 0x8c]
xor esi, edx
mov dword [edi + 0x34], esi
mov esi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x78]
and ebp, edx
xor ebx, ebp
mov dword [edi + 0x60], ebx
mov ebx, dword [esp + 0x84]
not ebx
mov ebp, dword [esp + 0x7c]
and ebx, ebp
mov ebp, dword [esp + 0x88]
xor ebp, ebx
mov dword [edi + 0x64], ebp
mov ebx, edx
not edx
mov ebp, dword [esp + 0x58]
and edx, ebp
xor esi, edx
mov dword [edi + 0x90], esi
mov edx, dword [esp + 0x7c]
not edx
and edx, ecx
mov esi, dword [esp + 0x84]
xor esi, edx
mov dword [edi + 0x94], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x74]
and edx, ebp
xor ebx, edx
mov dword [edi + 0xc0], ebx
not ecx
mov edx, dword [esp + 0x8c]
and edx, ecx
mov ebx, dword [esp + 0x7c]
xor ebx, edx
mov dword [edi + 0xc4], ebx
mov edx, dword [edi + 0x50]
mov ebx, dword [edi + 0x54]
mov ebp, dword [esp + 0x34]
xor ebx, ebp
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x30]
xor edx, esi
mov ecx, edx
shl edx, 3
shr ebx, 0x1d
or ebx, edx
mov edx, dword [edi + 0x80]
mov dword [esp + 0x8c], edx
mov ebp, dword [edi + 0x84]
mov dword [esp + 0x88], ebp
mov esi, dword [edi + 0xb0]
mov dword [esp + 0x84], esi
mov esi, dword [edi + 0xb4]
mov dword [esp + 0x80], esi
mov esi, dword [edi + 0x18]
mov ebp, dword [edi + 0x1c]
mov edx, dword [esp + 0x1c]
xor ebp, edx
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x18]
xor esi, edx
mov dword [esp + 8], esi
shl esi, 0x1c
shr ebp, 4
or ebp, esi
mov dword [esp + 0x78], ebp
mov esi, dword [edi + 0x48]
mov edx, dword [edi + 0x4c]
mov edi, dword [esp + 0x10]
xor esi, edi
mov dword [esp + 0x74], esi
mov edi, dword [esp + 0x14]
xor edx, edi
mov dword [esp + 0x70], edx
shl esi, 0x14
shr edx, 0xc
or edx, esi
mov dword [esp + 0x6c], edx
not edx
and edx, ebx
xor edx, ebp
mov edi, dword [esp + 0x94]
mov dword [edi + 0x50], edx
mov edx, dword [esp + 0xc]
shl edx, 3
shr ecx, 0x1d
or ecx, edx
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 8]
shr edx, 4
mov ebp, dword [esp + 0x7c]
shl ebp, 0x1c
or edx, ebp
mov dword [esp + 0x7c], edx
mov ebp, dword [esp + 0x74]
shr ebp, 0xc
mov esi, dword [esp + 0x70]
shl esi, 0x14
or ebp, esi
mov dword [esp + 0x74], ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ecx
xor ebp, edx
mov dword [edi + 0x54], ebp
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0x28]
xor ebp, edx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x2c]
xor edx, esi
mov dword [esp + 0xc], edx
shl edx, 0xd
shr ebp, 0x13
or edx, ebp
mov ebp, ebx
not ebx
and ebx, edx
mov esi, dword [esp + 0x6c]
xor ebx, esi
mov dword [edi + 0x80], ebx
mov ebx, dword [esp + 8]
shl ebx, 0xd
mov esi, dword [esp + 0xc]
shr esi, 0x13
or esi, ebx
mov dword [esp + 0x8c], esi
not ecx
and ecx, esi
mov ebx, dword [esp + 0x74]
xor ecx, ebx
mov dword [edi + 0x84], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x80]
xor esi, ebx
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x84]
xor edi, ebx
mov dword [esp + 8], edi
shr edi, 3
shl esi, 0x1d
or esi, edi
mov edi, edx
not edx
and edx, esi
xor ebp, edx
mov edx, dword [esp + 0x94]
mov dword [edx + 0xb0], ebp
mov ebp, dword [esp + 8]
shl ebp, 0x1d
mov ebx, dword [esp + 0xc]
shr ebx, 3
or ebx, ebp
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 0x8c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov ebx, dword [esp + 0x68]
xor ebx, ebp
mov dword [edx + 0xb4], ebx
mov ebx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x78]
and esi, ebp
xor edi, esi
mov dword [edx + 0x18], edi
mov esi, dword [esp + 0x88]
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x7c]
and esi, edi
mov edi, dword [esp + 0x8c]
xor edi, esi
mov dword [edx + 0x1c], edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov esi, dword [esp + 0x6c]
and esi, ebp
xor ebx, esi
mov dword [edx + 0x48], ebx
mov ebx, dword [esp + 0x7c]
not ebx
and ecx, ebx
mov ebx, dword [esp + 0x88]
xor ebx, ecx
mov dword [edx + 0x4c], ebx
mov ebx, dword [edx + 0xa0]
mov dword [esp + 0x8c], ebx
mov ebp, dword [edx + 0xa4]
mov esi, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov ecx, ebp
mov ebp, dword [esp + 0x28]
xor esi, ebp
mov dword [esp + 8], esi
mov ebp, dword [esp + 0x2c]
xor edi, ebp
mov dword [esp + 0xc], edi
shl esi, 1
shr edi, 0x1f
or edi, esi
mov dword [esp + 0x88], edi
mov esi, dword [edx + 0x38]
mov ebp, dword [edx + 0x3c]
mov ebx, dword [esp + 0x20]
xor esi, ebx
mov dword [esp + 0x84], esi
mov ebx, dword [esp + 0x24]
xor ebp, ebx
mov dword [esp + 0x80], ebp
shl esi, 6
shr ebp, 0x1a
or ebp, esi
mov dword [esp + 0x7c], ebp
mov esi, dword [edx + 0x68]
mov ebx, dword [edx + 0x6c]
mov edi, dword [esp + 0x18]
xor esi, edi
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x1c]
xor ebx, edi
mov dword [esp + 0x74], ebx
shl esi, 0x19
shr ebx, 7
or ebx, esi
mov dword [esp + 0x70], ebx
mov esi, dword [edx + 0x98]
mov dword [esp + 0x6c], esi
mov edi, dword [edx + 0x9c]
mov dword [esp + 0x68], edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov ebx, dword [esp + 0x88]
xor ebp, ebx
mov dword [edx + 0xa0], ebp
mov ebp, dword [esp + 0xc]
shl ebp, 1
mov ebx, dword [esp + 8]
shr ebx, 0x1f
or ebx, ebp
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x80]
shl ebp, 6
mov edi, dword [esp + 0x84]
shr edi, 0x1a
or edi, ebp
mov dword [esp + 0x84], edi
mov ebp, dword [esp + 0x78]
shr ebp, 7
mov esi, dword [esp + 0x74]
shl esi, 0x19
or ebp, esi
mov dword [esp + 0x80], ebp
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
xor edi, ebx
mov dword [edx + 0xa4], edi
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x10]
xor edi, ebx
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x14]
xor ebx, esi
mov dword [esp + 0xc], ebx
shl edi, 8
shr ebx, 0x18
or ebx, edi
mov edi, dword [esp + 0x70]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov esi, dword [esp + 0x7c]
xor edi, esi
mov dword [edx + 8], edi
mov edi, dword [esp + 0xc]
shl edi, 8
mov esi, dword [esp + 8]
shr esi, 0x18
or esi, edi
mov dword [esp + 0x78], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov edi, dword [esp + 0x84]
xor ebp, edi
mov dword [edx + 0xc], ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x8c]
xor edi, ebp
mov dword [esp + 8], edi
mov ebp, dword [esp + 0x34]
xor ecx, ebp
mov dword [esp + 0xc], ecx
shl edi, 0x12
shr ecx, 0xe
or ecx, edi
mov edi, ebx
not ebx
and ebx, ecx
mov ebp, dword [esp + 0x70]
xor ebx, ebp
mov dword [edx + 0x38], ebx
mov ebx, dword [esp + 8]
shr ebx, 0xe
mov ebp, dword [esp + 0xc]
shl ebp, 0x12
or ebx, ebp
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebx
mov ebp, dword [esp + 0x80]
xor esi, ebp
mov dword [edx + 0x3c], esi
mov ebp, ecx
not ecx
mov esi, dword [esp + 0x88]
and ecx, esi
xor edi, ecx
mov dword [edx + 0x68], edi
mov edi, ebx
not ebx
mov ecx, edi
mov edi, dword [esp + 0x64]
and ebx, edi
mov edi, dword [esp + 0x78]
xor edi, ebx
mov dword [edx + 0x6c], edi
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebx, dword [esp + 0x7c]
and ebx, esi
xor ebp, ebx
mov dword [edx + 0x98], ebp
mov ebx, dword [esp + 0x64]
not ebx
mov ebp, dword [esp + 0x84]
and ebp, ebx
xor ecx, ebp
mov dword [edx + 0x9c], ecx
mov ebx, dword [edx + 0x28]
mov ebp, dword [edx + 0x2c]
mov esi, dword [esp + 0x34]
xor ebp, esi
mov edi, dword [esp + 0x30]
xor ebx, edi
mov dword [esp + 8], ebx
mov ecx, ebp
shl ebp, 4
shr ebx, 0x1c
or ebp, ebx
mov dword [esp + 0x8c], ebp
mov ebx, dword [edx + 0x58]
mov edi, dword [edx + 0x5c]
mov esi, dword [esp + 0x2c]
xor edi, esi
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x28]
xor ebx, esi
mov dword [esp + 0x88], ebx
shl ebx, 0xa
shr edi, 0x16
or edi, ebx
mov ebx, dword [edx + 0x88]
mov dword [esp + 0x84], ebx
mov esi, dword [edx + 0x8c]
mov dword [esp + 0x80], esi
mov ebx, dword [edx + 0xb8]
mov dword [esp + 0x7c], ebx
mov ebx, dword [edx + 0xbc]
mov dword [esp + 0x78], ebx
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x24]
mov edx, dword [esp + 0x14]
xor esi, edx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x10]
xor ebx, edx
mov dword [esp + 0x70], ebx
shl ebx, 0x1b
shr esi, 5
or esi, ebx
mov dword [esp + 0x6c], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
xor ebp, esi
mov edx, dword [esp + 0x94]
mov dword [edx + 0x28], ebp
mov ebp, dword [esp + 8]
shl ebp, 4
shr ecx, 0x1c
or ecx, ebp
mov dword [esp + 0x68], ecx
mov ebp, dword [esp + 0xc]
shl ebp, 0xa
mov esi, dword [esp + 0x88]
shr esi, 0x16
or esi, ebp
mov dword [esp + 0x88], esi
mov ebp, dword [esp + 0x70]
shr ebp, 5
mov ebx, dword [esp + 0x74]
shl ebx, 0x1b
or ebp, ebx
not ecx
and ecx, esi
xor ecx, ebp
mov dword [edx + 0x2c], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x24]
xor ebp, ebx
mov dword [esp + 0xc], ebp
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x20]
xor ebx, esi
mov dword [esp + 8], ebx
shl ebx, 0xf
shr ebp, 0x11
or ebp, ebx
mov ebx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
mov esi, dword [esp + 0x8c]
xor edi, esi
mov dword [edx + 0x58], edi
mov edi, dword [esp + 0xc]
shl edi, 0xf
mov esi, dword [esp + 8]
shr esi, 0x11
or esi, edi
mov dword [esp + 0x84], esi
mov edi, dword [esp + 0x88]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
mov esi, dword [esp + 0x68]
xor edi, esi
mov dword [edx + 0x5c], edi
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x1c]
xor edi, esi
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
xor esi, edx
mov dword [esp + 8], esi
shr esi, 8
shl edi, 0x18
or edi, esi
mov esi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
xor ebx, ebp
mov ebp, dword [esp + 0x94]
mov dword [ebp + 0x88], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x18
mov edx, dword [esp + 0xc]
shr edx, 8
or edx, ebx
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x84]
not ebx
and ebx, edx
mov edx, dword [esp + 0x88]
xor edx, ebx
mov dword [ebp + 0x8c], edx
mov edx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebx, dword [esp + 0x6c]
and edi, ebx
xor edi, esi
mov dword [ebp + 0xb8], edi
mov esi, dword [esp + 0x80]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ecx
mov edi, dword [esp + 0x84]
xor esi, edi
mov dword [ebp + 0xbc], esi
not ebx
mov esi, dword [esp + 0x8c]
and esi, ebx
xor edx, esi
mov dword [ebp + 0x20], edx
not ecx
mov edx, dword [esp + 0x68]
and edx, ecx
mov ebx, dword [esp + 0x80]
xor ebx, edx
mov dword [ebp + 0x24], ebx
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x8c], edx
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x88], ebx
mov esi, dword [ebp + 0xa8]
mov edi, dword [ebp + 0xac]
mov dword [esp + 0x84], edi
mov ecx, esi
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov edx, dword [esp + 0x24]
xor edi, edx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x20]
xor esi, edx
mov dword [esp + 8], esi
shr esi, 2
shl edi, 0x1e
or edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [ebp + 0x40]
mov ebx, dword [ebp + 0x44]
mov edx, dword [esp + 0x1c]
xor ebx, edx
mov dword [esp + 0x7c], ebx
mov edx, dword [esp + 0x18]
xor esi, edx
mov dword [esp + 0x78], esi
shr esi, 9
shl ebx, 0x17
or ebx, esi
mov dword [esp + 0x74], ebx
mov esi, dword [ebp + 0x70]
mov edx, dword [ebp + 0x74]
mov ebp, dword [esp + 0x14]
xor edx, ebp
mov ebp, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0x70], esi
mov ebp, edx
shl edx, 7
shr esi, 0x19
or edx, esi
mov dword [esp + 0x6c], edx
not ebx
and ebx, edx
xor ebx, edi
mov edi, dword [esp + 0x94]
mov dword [edi + 0x78], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x1e
mov esi, dword [esp + 0xc]
shr esi, 2
or esi, ebx
mov dword [esp + 0x68], esi
mov ebx, dword [esp + 0x78]
shl ebx, 0x17
mov edx, dword [esp + 0x7c]
shr edx, 9
or edx, ebx
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x70]
shl ebx, 7
shr ebp, 0x19
or ebp, ebx
not edx
and edx, ebp
xor edx, esi
mov dword [edi + 0x7c], edx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
xor edx, esi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x30]
xor esi, ebx
mov dword [esp + 8], esi
mov ebx, edx
shl edx, 9
shr esi, 0x17
or edx, esi
mov dword [esp + 0x8c], edx
mov esi, dword [esp + 0x6c]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
mov edx, dword [esp + 0x74]
xor esi, edx
mov dword [esp + 0x88], esi
mov dword [edi + 0xa8], esi
mov esi, dword [esp + 8]
shl esi, 9
shr ebx, 0x17
or ebx, esi
mov esi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov edx, dword [esp + 0x7c]
xor ebp, edx
mov dword [esp + 0x78], ebp
mov dword [edi + 0xac], ebp
mov ebp, dword [esp + 0x84]
mov edx, dword [esp + 0x2c]
xor ebp, edx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x28]
xor ecx, edx
mov edx, ecx
shl ecx, 2
shr ebp, 0x1e
or ebp, ecx
mov dword [esp + 0x84], ebp
mov ecx, esi
mov esi, dword [esp + 0x8c]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebp
mov ebp, dword [esp + 0x6c]
xor ebp, esi
mov dword [esp + 0x70], ebp
mov dword [edi + 0x10], ebp
mov esi, dword [esp + 0xc]
shl esi, 2
shr edx, 0x1e
or edx, esi
mov esi, ebx
not ebx
and ebx, edx
xor ecx, ebx
mov dword [edi + 0x14], ecx
mov ebx, dword [esp + 0x84]
not ebx
mov ebp, dword [esp + 0x80]
and ebx, ebp
mov ebp, dword [esp + 0x8c]
xor ebp, ebx
mov dword [esp + 0x8c], ebp
mov dword [edi + 0x40], ebp
mov ebx, edx
not edx
mov ebp, dword [esp + 0x68]
and edx, ebp
xor esi, edx
mov dword [esp + 0x6c], esi
mov dword [edi + 0x44], esi
mov edx, dword [esp + 0x80]
not edx
mov esi, dword [esp + 0x74]
and esi, edx
mov edx, dword [esp + 0x84]
xor esi, edx
mov dword [esp + 0x84], esi
mov dword [edi + 0x70], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x7c]
and edx, ebp
xor edx, ebx
mov dword [esp + 0x80], edx
mov dword [edi + 0x74], edx
mov ebx, dword [edi + 0x2c]
mov ebp, dword [edi + 4]
mov dword [esp + 0x7c], ebp
xor ebx, ebp
mov ebp, dword [edi + 0x28]
mov esi, dword [edi]
mov dword [esp + 0x74], esi
xor ebp, esi
xor ebp, dword [edi + 0x50]
xor ebx, dword [edi + 0x54]
xor ebp, dword [edi + 0x78]
xor ebx, dword [edi + 0x7c]
xor ebp, dword [edi + 0xa0]
mov dword [esp + 0x58], ebp
xor ebx, dword [edi + 0xa4]
mov dword [esp + 0x5c], ebx
mov esi, dword [edi + 0x30]
xor esi, dword [edi + 8]
mov ebp, dword [edi + 0x34]
xor ebp, dword [edi + 0xc]
xor esi, dword [edi + 0x58]
xor ebp, dword [edi + 0x5c]
mov ebx, dword [edi + 0x84]
mov dword [esp + 0x68], ebx
xor ebp, ebx
mov ebx, dword [edi + 0x80]
mov dword [esp + 0x64], ebx
xor esi, ebx
mov ebx, dword [esp + 0x78]
xor ebp, ebx
mov dword [esp + 0x54], ebp
mov ebx, dword [esp + 0x88]
xor esi, ebx
mov dword [esp + 0x50], esi
mov ebx, dword [edi + 0x3c]
mov dword [esp + 0x88], ebx
xor ecx, ebx
mov ebx, dword [edi + 0x38]
mov dword [esp + 0x78], ebx
mov esi, dword [esp + 0x70]
xor esi, ebx
xor esi, dword [edi + 0x60]
xor ecx, dword [edi + 0x64]
xor esi, dword [edi + 0x88]
xor ecx, dword [edi + 0x8c]
xor esi, dword [edi + 0xb0]
mov dword [esp + 0x48], esi
xor ecx, dword [edi + 0xb4]
mov dword [esp + 0x4c], ecx
mov ebx, dword [edi + 0x18]
mov esi, dword [edi + 0x1c]
mov ebp, dword [esp + 0x6c]
xor esi, ebp
mov ebp, dword [esp + 0x8c]
xor ebx, ebp
xor ebx, dword [edi + 0x68]
xor esi, dword [edi + 0x6c]
xor ebx, dword [edi + 0x90]
xor esi, dword [edi + 0x94]
mov ebp, dword [edi + 0xbc]
mov dword [esp + 0x8c], ebp
xor esi, ebp
mov dword [esp + 0x44], esi
mov ebp, dword [edi + 0xb8]
mov dword [esp + 0x70], ebp
xor ebx, ebp
mov dword [esp + 0x40], ebx
mov ebp, dword [edi + 0x48]
xor ebp, dword [edi + 0x20]
mov ebx, dword [edi + 0x4c]
xor ebx, dword [edi + 0x24]
xor ebx, edx
mov edx, dword [esp + 0x84]
xor ebp, edx
xor ebp, dword [edi + 0x98]
xor ebx, dword [edi + 0x9c]
xor ebp, dword [edi + 0xc0]
mov dword [esp + 0x38], ebp
xor ebx, dword [edi + 0xc4]
mov edi, dword [esp + 0x54]
shl edi, 1
mov edx, dword [esp + 0x50]
shr edx, 0x1f
or edi, edx
xor edi, ebx
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x50]
shl edx, 1
mov edi, dword [esp + 0x54]
shr edi, 0x1f
or edx, edi
xor edx, ebp
mov dword [esp + 0x30], edx
mov edi, ecx
shl ecx, 1
mov edx, dword [esp + 0x48]
shr edx, 0x1f
or ecx, edx
mov edx, dword [esp + 0x5c]
xor ecx, edx
mov edx, dword [esp + 0x48]
shl edx, 1
shr edi, 0x1f
or edi, edx
mov edx, dword [esp + 0x58]
xor edi, edx
mov dword [esp + 0x28], edi
shl esi, 1
mov edi, dword [esp + 0x40]
shr edi, 0x1f
or edi, esi
mov esi, dword [esp + 0x54]
xor edi, esi
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x40]
shl esi, 1
mov edi, dword [esp + 0x44]
shr edi, 0x1f
or edi, esi
mov esi, dword [esp + 0x50]
xor edi, esi
mov dword [esp + 0x20], edi
mov esi, ebx
shl ebx, 1
shr ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x4c]
xor ebx, ebp
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x38]
shl ebp, 1
shr esi, 0x1f
or ebp, esi
mov esi, dword [esp + 0x48]
xor ebp, esi
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x5c]
shl esi, 1
shr edx, 0x1f
or edx, esi
mov esi, dword [esp + 0x44]
xor esi, edx
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x58]
shl edx, 1
mov esi, dword [esp + 0x5c]
shr esi, 0x1f
or esi, edx
mov edx, dword [esp + 0x40]
xor edx, esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
xor esi, edx
mov dword [esp + 0x58], esi
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x34]
xor edx, esi
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x68]
xor esi, ecx
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x28]
xor edx, ebp
mov dword [esp + 8], edx
shl edx, 0xc
shr esi, 0x14
or esi, edx
mov dword [esp + 0x7c], esi
mov edx, dword [esp + 0xc]
shl edx, 0xc
mov ebp, dword [esp + 8]
shr ebp, 0x14
or edx, ebp
mov dword [esp + 0x74], edx
mov ebp, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
xor ebp, edx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x78]
xor edx, edi
mov dword [esp + 8], edx
shl edx, 0xb
shr ebp, 0x15
or ebp, edx
mov edx, dword [esp + 0xc]
shl edx, 0xb
mov edi, dword [esp + 8]
shr edi, 0x15
or edx, edi
mov dword [esp + 0x88], edx
mov edi, dword [esp + 0x8c]
xor edi, ebx
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
xor ebx, edx
mov dword [esp + 8], ebx
shr ebx, 0xb
shl edi, 0x15
or ebx, edi
mov dword [esp + 0x8c], ebx
mov edi, dword [esp + 8]
shl edi, 0x15
mov edx, dword [esp + 0xc]
shr edx, 0xb
or edx, edi
mov dword [esp + 0x78], edx
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x80]
xor ebx, edi
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x84]
xor edx, edi
mov dword [esp + 8], edx
shl ebx, 0xe
shr edx, 0x12
or edx, ebx
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 8]
shl ebx, 0xe
mov edi, dword [esp + 0xc]
shr edi, 0x12
or edi, ebx
mov dword [esp + 0x80], edi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebp
mov edx, dword [esp + 0x5c]
xor esi, edx
mov edx, dword [esp + 0x74]
not edx
mov edi, dword [esp + 0x88]
and edx, edi
mov ebx, dword [esp + 0x58]
xor edx, ebx
lea ebx, [eax + 1]
cmp ebx, 0x18
jae 0x589a67
mov dword [esp + 0x70], ebp
lea ebx, [0xa3aa40]
lea ebx, [ebx + eax*8 + 8]
xor edx, dword [ebx]
xor esi, dword [ebx + 4]
mov ebx, dword [esp + 0x94]
mov dword [ebx], edx
mov dword [ebx + 4], esi
xchg edi, ebx
not ebx
xchg edi, ebx
mov esi, dword [esp + 0x78]
and edi, esi
mov edx, dword [esp + 0x74]
xor edi, edx
mov dword [ebx + 0x80], edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x8c]
and ebp, edx
mov edi, dword [esp + 0x7c]
xor ebp, edi
mov dword [ebx + 0x84], ebp
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x80]
and esi, edi
mov ebp, dword [esp + 0x88]
xor ebp, esi
mov dword [ebx + 0x38], ebp
not edx
mov esi, dword [esp + 0x84]
and edx, esi
mov ebp, dword [esp + 0x70]
xor ebp, edx
mov dword [ebx + 0x3c], ebp
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0x58]
and edi, ebp
mov edx, dword [esp + 0x78]
xor edx, edi
mov dword [ebx + 0xb8], edx
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x5c]
and esi, edi
mov edx, dword [esp + 0x8c]
xor edx, esi
mov dword [ebx + 0xbc], edx
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x74]
and edx, ebp
mov ebp, dword [esp + 0x80]
xor edx, ebp
mov dword [ebx + 0x70], edx
xchg edi, ebx
not ebx
xchg edi, ebx
mov edx, dword [esp + 0x7c]
and edx, edi
mov ebp, dword [esp + 0x84]
xor edx, ebp
mov dword [ebx + 0x74], edx
mov edx, dword [ebx + 0xa0]
mov ebp, dword [ebx + 0xa4]
mov esi, dword [esp + 0x34]
xor ebp, esi
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x30]
xor edx, edi
mov dword [esp + 8], edx
shl edx, 3
shr ebp, 0x1d
or ebp, edx
mov dword [esp + 0x8c], ebp
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x88], edx
mov edi, dword [ebx + 0x5c]
mov dword [esp + 0x84], edi
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x80], esi
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x7c], esi
mov esi, dword [ebx + 0x90]
mov edx, dword [ebx + 0x94]
mov edi, dword [esp + 0x1c]
xor edx, edi
mov dword [esp + 0x78], edx
mov edi, dword [esp + 0x18]
xor esi, edi
mov dword [esp + 0x74], esi
shl esi, 0x1c
shr edx, 4
or edx, esi
mov dword [esp + 0x70], edx
mov esi, dword [ebx + 0x48]
mov edi, dword [ebx + 0x4c]
mov ebx, dword [esp + 0x14]
xor edi, ebx
mov dword [esp + 0x6c], edi
mov ebx, dword [esp + 0x10]
xor esi, ebx
mov dword [esp + 0x68], esi
shl esi, 0x14
shr edi, 0xc
or edi, esi
mov dword [esp + 0x64], edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
xor edi, edx
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0xa0], edi
mov edi, dword [esp + 0xc]
shl edi, 3
mov edx, dword [esp + 8]
shr edx, 0x1d
or edx, edi
mov dword [esp + 0x60], edx
mov edi, dword [esp + 0x74]
shr edi, 4
mov esi, dword [esp + 0x78]
shl esi, 0x1c
or edi, esi
mov dword [esp + 0x78], edi
mov esi, dword [esp + 0x68]
shr esi, 0xc
mov ebp, dword [esp + 0x6c]
shl ebp, 0x14
or esi, ebp
mov dword [esp + 0x74], esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
xor esi, edi
mov dword [ebx + 0xa4], esi
mov esi, dword [esp + 0x84]
xor esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x28]
xor edi, ebp
mov dword [esp + 8], edi
shl esi, 0xd
shr edi, 0x13
or esi, edi
mov edi, dword [esp + 0x8c]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
mov ebp, dword [esp + 0x64]
xor edi, ebp
mov dword [ebx + 0x58], edi
mov edi, dword [esp + 8]
shl edi, 0xd
mov ebp, dword [esp + 0xc]
shr ebp, 0x13
or ebp, edi
mov dword [esp + 0x88], ebp
not edx
and edx, ebp
mov edi, dword [esp + 0x74]
xor edx, edi
mov dword [ebx + 0x5c], edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x24]
xor edx, edi
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x20]
xor edi, ebp
mov dword [esp + 8], edi
shr edi, 3
shl edx, 0x1d
or edx, edi
mov edi, esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
mov ebp, dword [esp + 0x8c]
xor esi, ebp
mov dword [ebx + 0x10], esi
mov ebp, dword [esp + 8]
shl ebp, 0x1d
mov esi, dword [esp + 0xc]
shr esi, 3
or esi, ebp
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + 0x88]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov esi, dword [esp + 0x60]
xor esi, ebp
mov dword [ebx + 0x14], esi
mov ebp, edx
not edx
mov esi, dword [esp + 0x70]
and edx, esi
xor edi, edx
mov dword [ebx + 0x90], edi
mov edx, dword [esp + 0x8c]
not edx
mov edi, dword [esp + 0x78]
and edx, edi
mov edi, dword [esp + 0x88]
xor edx, edi
mov dword [ebx + 0x94], edx
xchg esi, ebx
not ebx
xchg esi, ebx
mov edx, dword [esp + 0x64]
and esi, edx
xor ebp, esi
mov dword [ebx + 0x48], ebp
mov edx, dword [esp + 0x78]
not edx
mov ebp, dword [esp + 0x74]
and ebp, edx
mov edx, dword [esp + 0x8c]
xor edx, ebp
mov dword [ebx + 0x4c], edx
mov edx, dword [ebx + 0x78]
mov dword [esp + 0x8c], edx
mov ebp, dword [ebx + 0x7c]
mov dword [esp + 0x88], ebp
mov esi, dword [ebx + 0x30]
mov edi, dword [ebx + 0x34]
xor edi, ecx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x28]
xor esi, edx
mov dword [esp + 8], esi
shl esi, 1
shr edi, 0x1f
or edi, esi
mov dword [esp + 0x84], edi
mov esi, dword [ebx + 0xb0]
mov edx, dword [ebx + 0xb4]
mov ebp, dword [esp + 0x24]
xor edx, ebp
mov dword [esp + 0x80], edx
mov ebp, dword [esp + 0x20]
xor esi, ebp
mov dword [esp + 0x7c], esi
shl esi, 6
shr edx, 0x1a
or edx, esi
mov dword [esp + 0x78], edx
mov esi, dword [ebx + 0x68]
mov ebp, dword [ebx + 0x6c]
mov edi, dword [esp + 0x1c]
xor ebp, edi
mov dword [esp + 0x74], ebp
mov edi, dword [esp + 0x18]
xor esi, edi
mov dword [esp + 0x70], esi
shl esi, 0x19
shr ebp, 7
or ebp, esi
mov dword [esp + 0x6c], ebp
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x68], esi
mov edi, dword [ebx + 0x24]
mov dword [esp + 0x64], edi
not edx
and edx, ebp
mov ebp, dword [esp + 0x84]
xor edx, ebp
mov dword [ebx + 0x78], edx
mov edx, dword [esp + 0xc]
shl edx, 1
mov ebp, dword [esp + 8]
shr ebp, 0x1f
or ebp, edx
mov dword [esp + 0x60], ebp
mov edx, dword [esp + 0x80]
shl edx, 6
mov esi, dword [esp + 0x7c]
shr esi, 0x1a
or esi, edx
mov dword [esp + 0x80], esi
mov edx, dword [esp + 0x70]
shr edx, 7
mov edi, dword [esp + 0x74]
shl edi, 0x19
or edx, edi
mov dword [esp + 0x7c], edx
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
xor esi, ebp
mov dword [ebx + 0x7c], esi
mov esi, dword [esp + 0x64]
mov ebp, dword [esp + 0x14]
xor esi, ebp
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x10]
xor ebp, edi
mov dword [esp + 8], ebp
shl ebp, 8
shr esi, 0x18
or esi, ebp
mov ebp, dword [esp + 0x6c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov edi, dword [esp + 0x78]
xor ebp, edi
mov dword [ebx + 0x30], ebp
mov ebp, dword [esp + 0xc]
shl ebp, 8
mov edi, dword [esp + 8]
shr edi, 0x18
or edi, ebp
mov dword [esp + 0x74], edi
not edx
and edx, edi
mov ebp, dword [esp + 0x80]
xor edx, ebp
mov dword [ebx + 0x34], edx
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x34]
xor edx, ebp
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x30]
xor ebp, edi
mov dword [esp + 8], ebp
shl ebp, 0x12
shr edx, 0xe
or edx, ebp
mov ebp, esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
mov edi, dword [esp + 0x6c]
xor esi, edi
mov dword [ebx + 0xb0], esi
mov esi, dword [esp + 8]
shr esi, 0xe
mov edi, dword [esp + 0xc]
shl edi, 0x12
or esi, edi
mov dword [esp + 0x8c], esi
mov edi, dword [esp + 0x74]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, esi
mov esi, dword [esp + 0x7c]
xor edi, esi
mov dword [ebx + 0xb4], edi
mov esi, edx
not edx
mov edi, dword [esp + 0x84]
and edx, edi
xor edx, ebp
mov dword [ebx + 0x68], edx
mov edx, dword [esp + 0x8c]
not edx
mov ebp, dword [esp + 0x60]
and edx, ebp
mov ebp, dword [esp + 0x74]
xor ebp, edx
mov dword [ebx + 0x6c], ebp
xchg edi, ebx
not ebx
xchg edi, ebx
mov edx, dword [esp + 0x78]
and edx, edi
xor edx, esi
mov dword [ebx + 0x20], edx
mov edx, dword [esp + 0x60]
not edx
mov ebp, dword [esp + 0x80]
and ebp, edx
mov edx, dword [esp + 0x8c]
xor edx, ebp
mov dword [ebx + 0x24], edx
mov edx, dword [ebx + 0x50]
mov ebp, dword [ebx + 0x54]
mov esi, dword [esp + 0x34]
xor ebp, esi
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x30]
xor edx, edi
mov dword [esp + 8], edx
shl ebp, 4
shr edx, 0x1c
or ebp, edx
mov dword [esp + 0x8c], ebp
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
xor edi, ecx
mov dword [esp + 0x88], edi
mov esi, dword [esp + 0x28]
xor edx, esi
mov dword [esp + 0x84], edx
shl edx, 0xa
shr edi, 0x16
or edi, edx
mov dword [esp + 0x80], edi
mov edx, dword [ebx + 0x88]
mov dword [esp + 0x7c], edx
mov esi, dword [ebx + 0x8c]
mov dword [esp + 0x78], esi
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x74], edx
mov edx, dword [ebx + 0x44]
mov dword [esp + 0x70], edx
mov edx, dword [ebx + 0xc0]
mov esi, dword [ebx + 0xc4]
mov ebx, dword [esp + 0x14]
xor esi, ebx
mov dword [esp + 0x6c], esi
mov ebx, dword [esp + 0x10]
xor edx, ebx
mov dword [esp + 0x68], edx
shl edx, 0x1b
shr esi, 5
or esi, edx
mov dword [esp + 0x64], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
xor ebp, esi
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x50], ebp
mov ebp, dword [esp + 8]
shl ebp, 4
mov esi, dword [esp + 0xc]
shr esi, 0x1c
or esi, ebp
mov dword [esp + 0x60], esi
mov ebp, dword [esp + 0x88]
shl ebp, 0xa
mov edx, dword [esp + 0x84]
shr edx, 0x16
or edx, ebp
mov dword [esp + 0x88], edx
mov ebp, dword [esp + 0x68]
shr ebp, 5
mov edi, dword [esp + 0x6c]
shl edi, 0x1b
or ebp, edi
mov dword [esp + 0x84], ebp
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
xor esi, ebp
mov dword [ebx + 0x54], esi
mov esi, dword [esp + 0x78]
mov ebp, dword [esp + 0x24]
xor esi, ebp
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x20]
xor ebp, edi
mov dword [esp + 8], ebp
shl ebp, 0xf
shr esi, 0x11
or esi, ebp
mov ebp, dword [esp + 0x80]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov edi, dword [esp + 0x8c]
xor ebp, edi
mov dword [ebx + 8], ebp
mov ebp, dword [esp + 0xc]
shl ebp, 0xf
mov edi, dword [esp + 8]
shr edi, 0x11
or edi, ebp
mov dword [esp + 0x7c], edi
not edx
and edx, edi
mov ebp, dword [esp + 0x60]
xor edx, ebp
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x1c]
xor edx, ebp
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
xor ebp, edi
mov dword [esp + 8], ebp
shr ebp, 8
shl edx, 0x18
or edx, ebp
mov ebp, esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
mov edi, dword [esp + 0x80]
xor esi, edi
mov dword [ebx + 0x88], esi
mov esi, dword [esp + 8]
shl esi, 0x18
mov edi, dword [esp + 0xc]
shr edi, 8
or edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [esp + 0x7c]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edi
mov edi, dword [esp + 0x88]
xor edi, esi
mov dword [ebx + 0x8c], edi
mov esi, edx
not edx
mov edi, dword [esp + 0x64]
and edx, edi
xor edx, ebp
mov dword [ebx + 0x40], edx
mov edx, dword [esp + 0x80]
not edx
mov ebp, dword [esp + 0x84]
and edx, ebp
mov ebp, dword [esp + 0x7c]
xor edx, ebp
mov dword [ebx + 0x44], edx
xchg edi, ebx
not ebx
xchg edi, ebx
mov edx, dword [esp + 0x8c]
and edx, edi
xor esi, edx
mov dword [ebx + 0xc0], esi
mov edx, dword [esp + 0x84]
not edx
mov ebp, dword [esp + 0x60]
and ebp, edx
mov edx, dword [esp + 0x80]
xor ebp, edx
mov dword [ebx + 0xc4], ebp
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x8c], edx
mov ebp, dword [ebx + 0x2c]
mov dword [esp + 0x88], ebp
mov esi, dword [ebx + 0xa8]
mov dword [esp + 0x84], esi
mov edi, dword [ebx + 0xac]
mov dword [esp + 0x80], edi
mov esi, dword [ebx + 0x60]
mov edi, dword [ebx + 0x64]
mov edx, dword [esp + 0x24]
xor edi, edx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x20]
xor esi, edx
mov dword [esp + 8], esi
shr esi, 2
shl edi, 0x1e
or edi, esi
mov dword [esp + 0x7c], edi
mov esi, dword [ebx + 0x18]
mov ebp, dword [ebx + 0x1c]
mov edx, dword [esp + 0x1c]
xor ebp, edx
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x18]
xor esi, edx
mov dword [esp + 0x74], esi
shr esi, 9
shl ebp, 0x17
or ebp, esi
mov dword [esp + 0x70], ebp
mov esi, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
mov ebx, dword [esp + 0x14]
xor ebx, edx
mov edx, dword [esp + 0x10]
xor edx, esi
mov dword [esp + 0x6c], edx
mov esi, ebx
shl ebx, 7
shr edx, 0x19
or ebx, edx
mov dword [esp + 0x68], ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
xor ebp, edi
mov edi, dword [esp + 0x94]
mov dword [edi + 0x28], ebp
mov ebp, dword [esp + 8]
shl ebp, 0x1e
mov edx, dword [esp + 0xc]
shr edx, 2
or edx, ebp
mov dword [esp + 0x64], edx
mov ebp, dword [esp + 0x74]
shl ebp, 0x17
mov ebx, dword [esp + 0x78]
shr ebx, 9
or ebx, ebp
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x6c]
shl ebp, 7
shr esi, 0x19
or esi, ebp
mov dword [esp + 0x74], esi
not ebx
and ebx, esi
xor ebx, edx
mov dword [edi + 0x2c], ebx
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x30]
xor edx, ebp
mov dword [esp + 8], edx
mov ebp, ebx
shl ebx, 9
shr edx, 0x17
or ebx, edx
mov dword [esp + 0x8c], ebx
mov edx, dword [esp + 0x68]
not edx
and edx, ebx
mov ebx, dword [esp + 0x70]
xor edx, ebx
mov dword [esp + 0x88], edx
mov dword [edi + 0xa8], edx
mov edx, dword [esp + 8]
shl edx, 9
shr ebp, 0x17
or ebp, edx
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebp
mov ebx, dword [esp + 0x78]
xor esi, ebx
mov dword [esp + 0x78], esi
mov dword [edi + 0xac], esi
mov esi, dword [esp + 0x80]
xor esi, ecx
mov dword [esp + 0xc], esi
mov ecx, ebx
mov ebx, dword [esp + 0x84]
mov edx, dword [esp + 0x28]
xor ebx, edx
mov edx, ebx
shl ebx, 2
shr esi, 0x1e
or esi, ebx
mov dword [esp + 0x84], esi
mov ebx, dword [esp + 0x8c]
not ebx
and ebx, esi
mov esi, dword [esp + 0x68]
xor esi, ebx
mov dword [esp + 0x80], esi
mov dword [edi + 0x60], esi
mov ebx, dword [esp + 0xc]
shl ebx, 2
shr edx, 0x1e
or edx, ebx
mov ebx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edx
mov esi, dword [esp + 0x74]
xor esi, ebp
mov dword [esp + 0x74], esi
mov dword [edi + 0x64], esi
mov ebp, dword [esp + 0x84]
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov esi, dword [esp + 0x7c]
and ebp, esi
mov esi, dword [esp + 0x8c]
xor esi, ebp
mov dword [esp + 0x8c], esi
mov dword [edi + 0x18], esi
mov ebp, edx
not edx
mov esi, dword [esp + 0x64]
and edx, esi
xor edx, ebx
mov dword [esp + 0x6c], edx
mov dword [edi + 0x1c], edx
mov ebx, dword [esp + 0x7c]
not ebx
mov edx, dword [esp + 0x70]
and edx, ebx
mov ebx, dword [esp + 0x84]
xor edx, ebx
mov dword [esp + 0x84], edx
mov dword [edi + 0x98], edx
xchg esi, ebx
not ebx
xchg esi, ebx
and ecx, esi
xor ecx, ebp
mov dword [edi + 0x9c], ecx
mov ebx, dword [edi + 0x2c]
mov ebp, dword [edi + 4]
mov dword [esp + 0x7c], ebp
xor ebx, ebp
mov esi, dword [edi + 0x28]
mov ebp, dword [edi]
mov dword [esp + 0x70], ebp
xor esi, ebp
xor esi, dword [edi + 0x50]
xor ebx, dword [edi + 0x54]
xor esi, dword [edi + 0x78]
xor ebx, dword [edi + 0x7c]
xor esi, dword [edi + 0xa0]
mov dword [esp + 0x58], esi
xor ebx, dword [edi + 0xa4]
mov dword [esp + 0x5c], ebx
mov ebp, dword [edi + 0x30]
xor ebp, dword [edi + 8]
mov esi, dword [edi + 0x34]
xor esi, dword [edi + 0xc]
mov ebx, dword [edi + 0x5c]
mov dword [esp + 0x68], ebx
xor esi, ebx
mov ebx, dword [edi + 0x58]
mov dword [esp + 0x64], ebx
xor ebp, ebx
xor ebp, dword [edi + 0x80]
xor esi, dword [edi + 0x84]
mov ebx, dword [esp + 0x78]
xor esi, ebx
mov dword [esp + 0x54], esi
mov ebx, dword [esp + 0x88]
xor ebp, ebx
mov dword [esp + 0x50], ebp
mov ebx, dword [edi + 0x38]
xor ebx, dword [edi + 0x10]
mov ebp, dword [edi + 0x3c]
xor ebp, dword [edi + 0x14]
mov esi, dword [esp + 0x74]
xor esi, ebp
mov ebp, dword [esp + 0x80]
xor ebp, ebx
xor ebp, dword [edi + 0x88]
xor esi, dword [edi + 0x8c]
mov ebx, dword [edi + 0xb4]
mov dword [esp + 0x88], ebx
xor esi, ebx
mov dword [esp + 0x4c], esi
mov ebx, dword [edi + 0xb0]
mov dword [esp + 0x80], ebx
xor ebp, ebx
mov dword [esp + 0x48], ebp
mov ebx, dword [edi + 0x44]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x6c]
xor ebp, ebx
mov ebx, dword [edi + 0x40]
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x8c]
xor esi, ebx
xor esi, dword [edi + 0x68]
xor ebp, dword [edi + 0x6c]
xor esi, dword [edi + 0x90]
xor ebp, dword [edi + 0x94]
xor esi, dword [edi + 0xb8]
mov dword [esp + 0x40], esi
xor ebp, dword [edi + 0xbc]
mov dword [esp + 0x44], ebp
mov ebx, dword [edi + 0x48]
xor ebx, dword [edi + 0x20]
mov esi, dword [edi + 0x4c]
xor esi, dword [edi + 0x24]
xor ebx, dword [edi + 0x70]
xor esi, dword [edi + 0x74]
xor esi, ecx
xor ebx, edx
xor ebx, dword [edi + 0xc0]
mov dword [esp + 0x38], ebx
xor esi, dword [edi + 0xc4]
mov edi, dword [esp + 0x54]
shl edi, 1
mov edx, dword [esp + 0x50]
shr edx, 0x1f
or edi, edx
xor edi, esi
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x50]
shl edx, 1
mov edi, dword [esp + 0x54]
shr edi, 0x1f
or edx, edi
xor edx, ebx
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x4c]
shl edi, 1
mov edx, dword [esp + 0x48]
shr edx, 0x1f
or edx, edi
mov edi, dword [esp + 0x5c]
xor edx, edi
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x48]
shl edx, 1
mov edi, dword [esp + 0x4c]
shr edi, 0x1f
or edi, edx
mov edx, dword [esp + 0x58]
xor edi, edx
mov dword [esp + 0x28], edi
shl ebp, 1
mov edi, dword [esp + 0x40]
shr edi, 0x1f
or ebp, edi
mov edi, dword [esp + 0x54]
xor ebp, edi
mov dword [esp + 0x24], ebp
mov edi, dword [esp + 0x40]
shl edi, 1
mov ebp, dword [esp + 0x44]
shr ebp, 0x1f
or edi, ebp
mov ebp, dword [esp + 0x50]
xor ebp, edi
mov dword [esp + 0x20], ebp
mov edi, esi
shl esi, 1
shr ebx, 0x1f
or esi, ebx
mov ebx, dword [esp + 0x4c]
xor ebx, esi
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x38]
shl esi, 1
shr edi, 0x1f
or esi, edi
mov edi, dword [esp + 0x48]
xor edi, esi
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x5c]
shl esi, 1
shr edx, 0x1f
or edx, esi
mov esi, dword [esp + 0x44]
xor esi, edx
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x58]
shl edx, 1
mov esi, dword [esp + 0x5c]
shr esi, 0x1f
or esi, edx
mov edx, dword [esp + 0x40]
xor edx, esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
xor esi, edx
mov dword [esp + 0x58], esi
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x34]
xor edx, esi
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
xor esi, edx
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x28]
xor edx, edi
mov dword [esp + 8], edx
shl edx, 0xc
shr esi, 0x14
or esi, edx
mov dword [esp + 0x8c], esi
mov edx, dword [esp + 0xc]
shl edx, 0xc
mov edi, dword [esp + 8]
shr edi, 0x14
or edx, edi
mov dword [esp + 0x7c], edx
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
xor edi, edx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x80]
xor edx, ebp
mov dword [esp + 8], edx
shl edx, 0xb
shr edi, 0x15
or edi, edx
mov dword [esp + 0x88], edi
mov edx, dword [esp + 0xc]
shl edx, 0xb
mov ebp, dword [esp + 8]
shr ebp, 0x15
or edx, ebp
mov dword [esp + 0x80], edx
mov ebp, dword [esp + 0x78]
xor ebp, ebx
mov dword [esp + 0xc], ebp
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x74]
xor edx, ebx
mov dword [esp + 8], edx
shr edx, 0xb
shl ebp, 0x15
or edx, ebp
mov dword [esp + 0x78], edx
mov ebp, dword [esp + 8]
shl ebp, 0x15
mov ebx, dword [esp + 0xc]
shr ebx, 0xb
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ecx, ebp
mov dword [esp + 0xc], ecx
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x84]
xor edx, ebp
mov dword [esp + 8], edx
shl ecx, 0xe
shr edx, 0x12
or ecx, edx
mov edx, dword [esp + 8]
shl edx, 0xe
mov ebp, dword [esp + 0xc]
shr ebp, 0x12
or edx, ebp
mov dword [esp + 0x84], edx
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edi
mov edx, dword [esp + 0x5c]
xor esi, edx
mov edx, dword [esp + 0x7c]
not edx
mov ebp, dword [esp + 0x80]
and edx, ebp
mov edi, dword [esp + 0x58]
xor edx, edi
lea edi, [eax + 2]
cmp edi, 0x18
jae 0x589a5b
mov dword [esp + 0x80], ecx
lea edi, [0xa3aa40]
lea edi, [edi + eax*8 + 0x10]
xor edx, dword [edi]
xor esi, dword [edi + 4]
mov edi, dword [esp + 0x94]
mov dword [edi], edx
mov dword [edi + 4], esi
mov edx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
mov esi, dword [esp + 0x7c]
xor ebp, esi
mov dword [edi + 0x58], ebp
mov ebp, dword [esp + 0x88]
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov esi, dword [esp + 0x78]
and ebp, esi
mov esi, dword [esp + 0x8c]
xor ebp, esi
mov dword [edi + 0x5c], ebp
mov ebp, ebx
not ebx
mov esi, dword [esp + 0x84]
and ebx, esi
xor edx, ebx
mov dword [edi + 0xb0], edx
mov edx, dword [esp + 0x78]
not edx
and edx, ecx
mov ebx, dword [esp + 0x88]
xor ebx, edx
mov dword [edi + 0xb4], ebx
mov edx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebx, dword [esp + 0x58]
and esi, ebx
xor esi, ebp
mov dword [edi + 0x40], esi
not ecx
mov esi, dword [esp + 0x5c]
and ecx, esi
mov ebp, dword [esp + 0x78]
xor ebp, ecx
mov dword [edi + 0x44], ebp
not ebx
mov ebp, dword [esp + 0x7c]
and ebp, ebx
xor ebp, edx
mov dword [edi + 0x98], ebp
xchg esi, ebx
not ebx
xchg esi, ebx
mov edx, dword [esp + 0x8c]
and edx, esi
mov ebx, dword [esp + 0x80]
xor edx, ebx
mov dword [edi + 0x9c], edx
mov edx, dword [edi + 0x78]
mov ebx, dword [edi + 0x7c]
mov ebp, dword [esp + 0x34]
xor ebx, ebp
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x30]
xor edx, esi
mov ecx, edx
shl edx, 3
shr ebx, 0x1d
or ebx, edx
mov edx, dword [edi + 8]
mov dword [esp + 0x8c], edx
mov esi, dword [edi + 0xc]
mov dword [esp + 0x88], esi
mov ebp, dword [edi + 0x60]
mov dword [esp + 0x84], ebp
mov ebp, dword [edi + 0x64]
mov dword [esp + 0x80], ebp
mov ebp, dword [edi + 0xb8]
mov edx, dword [edi + 0xbc]
mov esi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x7c], edx
mov esi, dword [esp + 0x18]
xor ebp, esi
mov dword [esp + 8], ebp
shl ebp, 0x1c
shr edx, 4
or edx, ebp
mov dword [esp + 0x78], edx
mov ebp, dword [edi + 0x48]
mov esi, dword [edi + 0x4c]
mov edi, dword [esp + 0x14]
xor esi, edi
mov dword [esp + 0x74], esi
mov edi, dword [esp + 0x10]
xor ebp, edi
mov dword [esp + 0x70], ebp
shl ebp, 0x14
shr esi, 0xc
or esi, ebp
mov dword [esp + 0x6c], esi
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, ebx
xor esi, edx
mov edi, dword [esp + 0x94]
mov dword [edi + 0x78], esi
mov esi, dword [esp + 0xc]
shl esi, 3
shr ecx, 0x1d
or ecx, esi
mov dword [esp + 0x68], ecx
mov esi, dword [esp + 8]
shr esi, 4
mov edx, dword [esp + 0x7c]
shl edx, 0x1c
or esi, edx
mov dword [esp + 0x7c], esi
mov edx, dword [esp + 0x70]
shr edx, 0xc
mov ebp, dword [esp + 0x74]
shl ebp, 0x14
or edx, ebp
mov dword [esp + 0x74], edx
not edx
and edx, ecx
xor edx, esi
mov dword [edi + 0x7c], edx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x2c]
xor edx, esi
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x28]
xor esi, ebp
mov dword [esp + 8], esi
shl edx, 0xd
shr esi, 0x13
or edx, esi
mov esi, ebx
not ebx
and ebx, edx
mov ebp, dword [esp + 0x6c]
xor ebx, ebp
mov dword [edi + 8], ebx
mov ebx, dword [esp + 8]
shl ebx, 0xd
mov ebp, dword [esp + 0xc]
shr ebp, 0x13
or ebp, ebx
mov dword [esp + 0x8c], ebp
not ecx
and ecx, ebp
mov ebx, dword [esp + 0x74]
xor ecx, ebx
mov dword [edi + 0xc], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x24]
xor ebx, ebp
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x20]
xor ebp, edi
mov dword [esp + 8], ebp
shr ebp, 3
shl ebx, 0x1d
or ebx, ebp
mov ebp, edx
not edx
and edx, ebx
xor edx, esi
mov esi, dword [esp + 0x94]
mov dword [esi + 0x60], edx
mov edx, dword [esp + 8]
shl edx, 0x1d
mov edi, dword [esp + 0xc]
shr edi, 3
or edi, edx
mov dword [esp + 0x88], edi
mov edx, dword [esp + 0x8c]
not edx
and edx, edi
mov edi, dword [esp + 0x68]
xor edi, edx
mov dword [esi + 0x64], edi
mov edx, ebx
not ebx
mov edi, dword [esp + 0x78]
and ebx, edi
xor ebp, ebx
mov dword [esi + 0xb8], ebp
mov ebx, dword [esp + 0x88]
not ebx
mov ebp, dword [esp + 0x7c]
and ebx, ebp
mov ebp, dword [esp + 0x8c]
xor ebx, ebp
mov dword [esi + 0xbc], ebx
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebx, dword [esp + 0x6c]
and edi, ebx
xor edx, edi
mov dword [esi + 0x48], edx
mov edx, dword [esp + 0x7c]
not edx
and ecx, edx
mov edx, dword [esp + 0x88]
xor edx, ecx
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0x28]
mov ebx, dword [esi + 0x2c]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esi + 0x80]
mov edi, dword [esi + 0x84]
mov ecx, edx
mov edx, dword [esp + 0x2c]
xor edi, edx
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x28]
xor ebp, edx
mov dword [esp + 8], ebp
shl ebp, 1
shr edi, 0x1f
or edi, ebp
mov dword [esp + 0x88], edi
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ebx, dword [esp + 0x24]
xor edx, ebx
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x20]
xor ebp, ebx
mov dword [esp + 0x80], ebp
shl ebp, 6
shr edx, 0x1a
or edx, ebp
mov dword [esp + 0x7c], edx
mov ebp, dword [esi + 0x68]
mov ebx, dword [esi + 0x6c]
mov edi, dword [esp + 0x1c]
xor ebx, edi
mov dword [esp + 0x78], ebx
mov edi, dword [esp + 0x18]
xor ebp, edi
mov dword [esp + 0x74], ebp
shl ebp, 0x19
shr ebx, 7
or ebx, ebp
mov dword [esp + 0x70], ebx
mov ebp, dword [esi + 0xc0]
mov dword [esp + 0x6c], ebp
mov edi, dword [esi + 0xc4]
mov dword [esp + 0x68], edi
not edx
and edx, ebx
mov ebx, dword [esp + 0x88]
xor edx, ebx
mov dword [esi + 0x28], edx
mov edx, dword [esp + 0xc]
shl edx, 1
mov ebx, dword [esp + 8]
shr ebx, 0x1f
or ebx, edx
mov dword [esp + 0x64], ebx
mov edx, dword [esp + 0x84]
shl edx, 6
mov ebp, dword [esp + 0x80]
shr ebp, 0x1a
or ebp, edx
mov dword [esp + 0x84], ebp
mov edx, dword [esp + 0x74]
shr edx, 7
mov edi, dword [esp + 0x78]
shl edi, 0x19
or edx, edi
mov dword [esp + 0x80], edx
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edx
xor ebp, ebx
mov dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
xor ebp, ebx
mov dword [esp + 0xc], ebp
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x10]
xor ebx, edi
mov dword [esp + 8], ebx
shl ebx, 8
shr ebp, 0x18
or ebp, ebx
mov ebx, dword [esp + 0x70]
not ebx
and ebx, ebp
mov edi, dword [esp + 0x7c]
xor ebx, edi
mov dword [esi + 0x80], ebx
mov ebx, dword [esp + 0xc]
shl ebx, 8
mov edi, dword [esp + 8]
shr edi, 0x18
or edi, ebx
mov dword [esp + 0x78], edi
not edx
and edx, edi
mov ebx, dword [esp + 0x84]
xor edx, ebx
mov dword [esi + 0x84], edx
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x34]
xor edx, ebx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x30]
xor ecx, ebx
mov dword [esp + 8], ecx
shl ecx, 0x12
shr edx, 0xe
or edx, ecx
mov ecx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edx
mov ebx, dword [esp + 0x70]
xor ebp, ebx
mov dword [esi + 0x10], ebp
mov ebx, dword [esp + 8]
shr ebx, 0xe
mov ebp, dword [esp + 0xc]
shl ebp, 0x12
or ebx, ebp
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebp, dword [esp + 0x80]
xor edi, ebp
mov dword [esi + 0x14], edi
mov ebp, edx
not edx
mov edi, dword [esp + 0x88]
and edx, edi
xor edx, ecx
mov dword [esi + 0x68], edx
mov edx, ebx
not ebx
mov ecx, edx
mov edx, dword [esp + 0x64]
and ebx, edx
mov edx, dword [esp + 0x78]
xor edx, ebx
mov dword [esi + 0x6c], edx
xchg edi, ebx
not ebx
xchg edi, ebx
mov edx, dword [esp + 0x7c]
and edx, edi
xor edx, ebp
mov dword [esi + 0xc0], edx
mov edx, dword [esp + 0x64]
not edx
mov ebx, dword [esp + 0x84]
and ebx, edx
xor ecx, ebx
mov dword [esi + 0xc4], ecx
mov edx, dword [esi + 0xa0]
mov ebx, dword [esi + 0xa4]
mov ebp, dword [esp + 0x34]
xor ebx, ebp
mov edi, dword [esp + 0x30]
xor edx, edi
mov dword [esp + 8], edx
mov ecx, ebx
shl ebx, 4
shr edx, 0x1c
or ebx, edx
mov dword [esp + 0x8c], ebx
mov edx, dword [esi + 0x30]
mov edi, dword [esi + 0x34]
mov ebp, dword [esp + 0x2c]
xor edi, ebp
mov dword [esp + 0xc], edi
mov ebp, dword [esp + 0x28]
xor edx, ebp
mov dword [esp + 0x88], edx
shl edx, 0xa
shr edi, 0x16
or edi, edx
mov edx, dword [esi + 0x88]
mov dword [esp + 0x84], edx
mov ebp, dword [esi + 0x8c]
mov dword [esp + 0x80], ebp
mov edx, dword [esi + 0x18]
mov dword [esp + 0x7c], edx
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x70]
mov ebp, dword [esi + 0x74]
mov esi, dword [esp + 0x14]
xor ebp, esi
mov dword [esp + 0x74], ebp
mov esi, dword [esp + 0x10]
xor edx, esi
mov dword [esp + 0x70], edx
shl edx, 0x1b
shr ebp, 5
or ebp, edx
mov dword [esp + 0x6c], ebp
not ebx
and ebx, edi
xor ebx, ebp
mov esi, dword [esp + 0x94]
mov dword [esi + 0xa0], ebx
mov ebx, dword [esp + 8]
shl ebx, 4
shr ecx, 0x1c
or ecx, ebx
mov dword [esp + 0x68], ecx
mov ebx, dword [esp + 0xc]
shl ebx, 0xa
mov ebp, dword [esp + 0x88]
shr ebp, 0x16
or ebp, ebx
mov dword [esp + 0x88], ebp
mov ebx, dword [esp + 0x70]
shr ebx, 5
mov edx, dword [esp + 0x74]
shl edx, 0x1b
or ebx, edx
not ecx
and ecx, ebp
xor ecx, ebx
mov dword [esi + 0xa4], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x24]
xor ebx, edx
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x20]
xor edx, ebp
mov dword [esp + 8], edx
shl edx, 0xf
shr ebx, 0x11
or ebx, edx
mov edx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
mov ebp, dword [esp + 0x8c]
xor edi, ebp
mov dword [esi + 0x30], edi
mov edi, dword [esp + 0xc]
shl edi, 0xf
mov ebp, dword [esp + 8]
shr ebp, 0x11
or ebp, edi
mov dword [esp + 0x84], ebp
mov edi, dword [esp + 0x88]
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebp
mov ebp, dword [esp + 0x68]
xor edi, ebp
mov dword [esi + 0x34], edi
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x1c]
xor edi, ebp
mov dword [esp + 0xc], edi
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x18]
xor ebp, esi
mov dword [esp + 8], ebp
shr ebp, 8
shl edi, 0x18
or edi, ebp
mov ebp, ebx
not ebx
and ebx, edi
xor ebx, edx
mov edx, dword [esp + 0x94]
mov dword [edx + 0x88], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x18
mov esi, dword [esp + 0xc]
shr esi, 8
or esi, ebx
mov dword [esp + 0x80], esi
mov ebx, dword [esp + 0x84]
not ebx
and ebx, esi
mov esi, dword [esp + 0x88]
xor esi, ebx
mov dword [edx + 0x8c], esi
mov ebx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
mov esi, dword [esp + 0x6c]
and edi, esi
xor edi, ebp
mov dword [edx + 0x18], edi
mov ebp, dword [esp + 0x80]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ecx
mov edi, dword [esp + 0x84]
xor ebp, edi
mov dword [edx + 0x1c], ebp
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x8c]
and ebp, esi
xor ebx, ebp
mov dword [edx + 0x70], ebx
not ecx
mov ebx, dword [esp + 0x68]
and ebx, ecx
mov ebp, dword [esp + 0x80]
xor ebx, ebp
mov dword [edx + 0x74], ebx
mov ebx, dword [edx + 0x50]
mov dword [esp + 0x8c], ebx
mov ebp, dword [edx + 0x54]
mov dword [esp + 0x88], ebp
mov esi, dword [edx + 0xa8]
mov edi, dword [edx + 0xac]
mov dword [esp + 0x84], edi
mov ecx, esi
mov esi, dword [edx + 0x38]
mov edi, dword [edx + 0x3c]
mov ebx, dword [esp + 0x24]
xor edi, ebx
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x20]
xor esi, ebx
mov dword [esp + 8], esi
shr esi, 2
shl edi, 0x1e
or edi, esi
mov dword [esp + 0x80], edi
mov esi, dword [edx + 0x90]
mov ebp, dword [edx + 0x94]
mov ebx, dword [esp + 0x1c]
xor ebx, ebp
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0x18]
xor ebp, esi
mov dword [esp + 0x78], ebp
shr ebp, 9
shl ebx, 0x17
or ebx, ebp
mov dword [esp + 0x74], ebx
mov ebp, dword [edx + 0x20]
mov esi, dword [edx + 0x24]
mov edx, dword [esp + 0x14]
xor esi, edx
mov edx, dword [esp + 0x10]
xor ebp, edx
mov dword [esp + 0x70], ebp
mov edx, esi
shl esi, 7
shr ebp, 0x19
or esi, ebp
mov dword [esp + 0x6c], esi
not ebx
and ebx, esi
xor ebx, edi
mov edi, dword [esp + 0x94]
mov dword [edi + 0x50], ebx
mov ebx, dword [esp + 8]
shl ebx, 0x1e
mov ebp, dword [esp + 0xc]
shr ebp, 2
or ebp, ebx
mov dword [esp + 0x68], ebp
mov ebx, dword [esp + 0x78]
shl ebx, 0x17
mov esi, dword [esp + 0x7c]
shr esi, 9
or esi, ebx
mov dword [esp + 0x7c], esi
mov ebx, dword [esp + 0x70]
shl ebx, 7
shr edx, 0x19
or edx, ebx
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, edx
xor esi, ebp
mov dword [edi + 0x54], esi
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x34]
xor esi, ebp
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0x30]
xor ebp, ebx
mov dword [esp + 8], ebp
mov ebx, esi
shl esi, 9
shr ebp, 0x17
or esi, ebp
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + 0x6c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, esi
mov esi, dword [esp + 0x74]
xor ebp, esi
mov dword [esp + 0x88], ebp
mov dword [edi + 0xa8], ebp
mov ebp, dword [esp + 8]
shl ebp, 9
shr ebx, 0x17
or ebx, ebp
mov ebp, edx
not edx
and edx, ebx
mov esi, dword [esp + 0x7c]
xor edx, esi
mov dword [esp + 0x78], edx
mov dword [edi + 0xac], edx
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x2c]
xor edx, esi
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x28]
xor ecx, esi
mov esi, ecx
shl ecx, 2
shr edx, 0x1e
or edx, ecx
mov dword [esp + 0x84], edx
mov ecx, ebp
mov ebp, dword [esp + 0x8c]
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edx
mov edx, dword [esp + 0x6c]
xor edx, ebp
mov dword [esp + 0x70], edx
mov dword [edi + 0x38], edx
mov ebp, dword [esp + 0xc]
shl ebp, 2
shr esi, 0x1e
or esi, ebp
mov ebp, ebx
not ebx
and ebx, esi
xor ecx, ebx
mov dword [edi + 0x3c], ecx
mov ebx, dword [esp + 0x84]
not ebx
mov edx, dword [esp + 0x80]
and ebx, edx
mov edx, dword [esp + 0x8c]
xor edx, ebx
mov dword [esp + 0x8c], edx
mov dword [edi + 0x90], edx
mov ebx, esi
xchg esi, ebx
not ebx
xchg esi, ebx
mov edx, dword [esp + 0x68]
and esi, edx
xor esi, ebp
mov dword [esp + 0x6c], esi
mov dword [edi + 0x94], esi
mov ebp, dword [esp + 0x80]
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov esi, dword [esp + 0x74]
and esi, ebp
mov ebp, dword [esp + 0x84]
xor esi, ebp
mov dword [esp + 0x84], esi
mov dword [edi + 0x20], esi
not edx
mov ebp, dword [esp + 0x7c]
and ebp, edx
xor ebp, ebx
mov dword [esp + 0x80], ebp
mov dword [edi + 0x24], ebp
mov edx, dword [edi + 0x2c]
mov ebx, dword [edi + 4]
mov dword [esp + 0x7c], ebx
xor edx, ebx
mov ebx, dword [edi + 0x28]
mov esi, dword [edi]
mov dword [esp + 0x74], esi
xor ebx, esi
xor ebx, dword [edi + 0x50]
xor edx, dword [edi + 0x54]
xor ebx, dword [edi + 0x78]
xor edx, dword [edi + 0x7c]
xor ebx, dword [edi + 0xa0]
mov dword [esp + 0x58], ebx
xor edx, dword [edi + 0xa4]
mov dword [esp + 0x5c], edx
mov esi, dword [edi + 0x34]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x68], ebx
xor esi, ebx
mov ebx, dword [edi + 0x30]
mov edx, dword [edi + 8]
mov dword [esp + 0x64], edx
xor ebx, edx
xor ebx, dword [edi + 0x58]
xor esi, dword [edi + 0x5c]
xor ebx, dword [edi + 0x80]
xor esi, dword [edi + 0x84]
mov edx, dword [esp + 0x78]
xor esi, edx
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x88]
xor ebx, edx
mov dword [esp + 0x50], ebx
mov edx, dword [edi + 0x14]
mov dword [esp + 0x88], edx
xor ecx, edx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x70]
xor ebx, edx
xor ebx, dword [edi + 0x60]
xor ecx, dword [edi + 0x64]
xor ebx, dword [edi + 0x88]
xor ecx, dword [edi + 0x8c]
xor ebx, dword [edi + 0xb0]
mov dword [esp + 0x48], ebx
xor ecx, dword [edi + 0xb4]
mov dword [esp + 0x4c], ecx
mov edx, dword [edi + 0x18]
mov dword [esp + 0x70], edx
mov ebx, dword [edi + 0x1c]
mov dword [esp + 0x60], ebx
mov esi, dword [edi + 0x44]
xor esi, ebx
mov ebx, dword [edi + 0x40]
xor ebx, edx
xor ebx, dword [edi + 0x68]
xor esi, dword [edi + 0x6c]
mov edx, dword [esp + 0x6c]
xor edx, esi
mov esi, dword [esp + 0x8c]
xor esi, ebx
xor esi, dword [edi + 0xb8]
mov dword [esp + 0x40], esi
xor edx, dword [edi + 0xbc]
mov dword [esp + 0x44], edx
mov ebx, dword [edi + 0x4c]
xor ebx, ebp
mov ebp, dword [edi + 0x48]
mov esi, dword [esp + 0x84]
xor ebp, esi
xor ebp, dword [edi + 0x70]
xor ebx, dword [edi + 0x74]
xor ebp, dword [edi + 0x98]
xor ebx, dword [edi + 0x9c]
xor ebp, dword [edi + 0xc0]
mov dword [esp + 0x38], ebp
xor ebx, dword [edi + 0xc4]
mov edi, dword [esp + 0x54]
shl edi, 1
mov esi, dword [esp + 0x50]
shr esi, 0x1f
or edi, esi
xor edi, ebx
mov dword [esp + 0x34], edi
mov esi, dword [esp + 0x50]
shl esi, 1
mov edi, dword [esp + 0x54]
shr edi, 0x1f
or esi, edi
xor esi, ebp
mov dword [esp + 0x30], esi
mov edi, ecx
shl ecx, 1
mov esi, dword [esp + 0x48]
shr esi, 0x1f
or ecx, esi
mov esi, dword [esp + 0x5c]
xor ecx, esi
mov esi, dword [esp + 0x48]
shl esi, 1
shr edi, 0x1f
or edi, esi
mov esi, dword [esp + 0x58]
xor edi, esi
mov dword [esp + 0x28], edi
shl edx, 1
mov edi, dword [esp + 0x40]
shr edi, 0x1f
or edx, edi
mov edi, dword [esp + 0x54]
xor edx, edi
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x40]
shl edi, 1
mov edx, dword [esp + 0x44]
shr edx, 0x1f
or edi, edx
mov edx, dword [esp + 0x50]
xor edx, edi
mov dword [esp + 0x20], edx
mov edi, ebx
shl ebx, 1
shr ebp, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x4c]
xor ebx, ebp
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x38]
shl ebp, 1
shr edi, 0x1f
or ebp, edi
mov edi, dword [esp + 0x48]
xor edi, ebp
mov dword [esp + 0x18], edi
mov ebp, dword [esp + 0x5c]
shl ebp, 1
shr esi, 0x1f
or esi, ebp
mov ebp, dword [esp + 0x44]
xor ebp, esi
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x58]
shl esi, 1
mov ebp, dword [esp + 0x5c]
shr ebp, 0x1f
or ebp, esi
mov esi, dword [esp + 0x40]
xor esi, ebp
mov dword [esp + 0x10], esi
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x30]
xor ebp, esi
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x34]
xor esi, ebp
mov dword [esp + 0x5c], esi
mov ebp, dword [esp + 0x68]
xor ebp, ecx
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x28]
xor esi, edi
mov dword [esp + 8], esi
shl esi, 0xc
shr ebp, 0x14
or ebp, esi
mov dword [esp + 0x8c], ebp
mov esi, dword [esp + 0xc]
shl esi, 0xc
mov edi, dword [esp + 8]
shr edi, 0x14
or esi, edi
mov dword [esp + 0x7c], esi
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
xor edi, esi
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x78]
xor esi, edx
mov dword [esp + 8], esi
shl esi, 0xb
shr edi, 0x15
or edi, esi
mov esi, dword [esp + 0xc]
shl esi, 0xb
mov edx, dword [esp + 8]
shr edx, 0x15
or esi, edx
mov dword [esp + 0x88], esi
mov edx, dword [esp + 0x60]
xor edx, ebx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
xor ebx, esi
mov dword [esp + 8], ebx
shr ebx, 0xb
shl edx, 0x15
or ebx, edx
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 8]
shl edx, 0x15
mov esi, dword [esp + 0xc]
shr esi, 0xb
or esi, edx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x80]
xor ebx, edx
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x84]
xor esi, edx
mov dword [esp + 8], esi
shl ebx, 0xe
shr esi, 0x12
or ebx, esi
mov dword [esp + 0x84], ebx
mov esi, dword [esp + 8]
shl esi, 0xe
mov edx, dword [esp + 0xc]
shr edx, 0x12
or esi, edx
mov dword [esp + 0x80], esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
mov ebx, dword [esp + 0x5c]
xor ebp, ebx
mov ebx, dword [esp + 0x7c]
not ebx
mov esi, dword [esp + 0x88]
and ebx, esi
mov edx, dword [esp + 0x58]
xor ebx, edx
lea edx, [eax + 3]
cmp edx, 0x18
jb 0x58669e
jmp 0x589a4f
add esp, 0x90
ret
mov eax, edx
mov ecx, 0x18
call fcn.0045c3b0
mov eax, edi
mov ecx, 0x18
call fcn.0045c3b0
mov eax, ebx
mov ecx, 0x18
call fcn.0045c3b0
mov ecx, 0x18
call fcn.0045c3b0
nop
call fcn.0045ade0
jmp fcn.00586670