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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x168
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [0x88fc20]
test byte [eax + 2], 0x80
jne 0x4bfa1b
lea eax, [edx + 0x40]
mov ecx, edi
shl ecx, 6
add ecx, esi
cmp ecx, edx
seta cl
cmp eax, esi
seta al
and al, cl
mov byte [esp + 0x7f], al
jmp 0x4bdd80
movups xmm0, xmmword [esp + 0x98]
movups xmm1, xmmword [esp + 0xa8]
mov esi, dword [esp + 0x144]
movups xmm2, xmmword [esi]
xorps xmm2, xmm0
movups xmm0, xmmword [esi + 0x10]
xorps xmm0, xmm1
mov edx, dword [ebp + 8]
movups xmm1, xmmword [edx]
xorps xmm1, xmm2
movups xmm2, xmmword [edx + 0x10]
xorps xmm2, xmm0
movups xmmword [edx], xmm1
movups xmmword [edx + 0x10], xmm2
movups xmm0, xmmword [esp + 0xb8]
movups xmm1, xmmword [esp + 0xc8]
movups xmm2, xmmword [esi + 0x20]
xorps xmm2, xmm0
movups xmm0, xmmword [esi + 0x30]
xorps xmm0, xmm1
movups xmm1, xmmword [edx + 0x20]
xorps xmm1, xmm2
movups xmm2, xmmword [edx + 0x30]
xorps xmm2, xmm0
movups xmmword [edx + 0x20], xmm1
movups xmmword [edx + 0x30], xmm2
mov edi, dword [esp + 0x148]
add esi, 0x40
dec edi
je 0x4bfa26
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edi
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
mov esi, ecx
shr esi, 0x18
mov dword [esp + 0x14], esi
mov esi, ecx
shr esi, 0x10
mov dword [esp + 0x84], esi
mov esi, ecx
shld esi, eax, 8
mov dword [esp + 0xf8], esi
mov esi, ecx
shld esi, eax, 0x10
mov dword [esp + 0xdc], esi
mov esi, ecx
shr esi, 8
mov dword [esp + 0x12c], esi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x4c], eax
shld ecx, eax, 0x18
mov dword [esp + 0x60], ecx
mov ecx, dword [edx + 0x2c]
mov eax, ecx
shr eax, 0x18
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x28]
mov esi, ecx
shld esi, eax, 8
mov dword [esp + 0xe0], esi
mov esi, ecx
shr esi, 0x10
mov dword [esp + 0x130], esi
mov esi, ecx
shld esi, eax, 0x10
mov dword [esp + 8], esi
mov esi, ecx
mov dword [esp + 0x50], eax
shld esi, eax, 0x18
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ecx
shr ecx, 8
mov dword [esp + 0x110], ecx
mov ecx, dword [edx + 0x24]
mov eax, ecx
shr eax, 0x18
mov dword [esp + 0x134], eax
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x114], eax
mov eax, ecx
shr eax, 8
mov dword [esp + 0xfc], eax
mov eax, dword [edx + 0x20]
mov esi, ecx
shld esi, eax, 8
mov dword [esp + 0x18], esi
mov esi, ecx
shld esi, eax, 0x10
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], eax
shld ecx, eax, 0x18
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x18
mov dword [esp + 0x118], eax
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x100], eax
mov eax, dword [edx + 0x18]
mov esi, ecx
shld esi, eax, 8
mov dword [esp + 0x40], esi
mov esi, ecx
shr esi, 8
mov dword [esp + 0xe4], esi
mov esi, ecx
shld esi, eax, 0x10
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x74], eax
shld ecx, eax, 0x18
mov dword [esp + 0x138], ecx
mov esi, dword [edx + 0x14]
mov dword [esp + 0x64], esi
mov eax, esi
shr eax, 0x18
mov dword [esp + 0x104], eax
mov eax, esi
shr eax, 0x10
mov dword [esp + 0xe8], eax
mov eax, dword [edx + 0x10]
mov ecx, esi
shld ecx, eax, 8
mov dword [esp + 0x8c], ecx
mov ecx, esi
shld ecx, eax, 0x10
mov dword [esp + 0x140], ecx
mov ecx, esi
shr ecx, 8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x70], eax
shld esi, eax, 0x18
mov dword [esp + 0x11c], esi
mov ebx, dword [edx + 0xc]
mov eax, ebx
shr eax, 0x18
mov dword [esp + 0xec], eax
mov eax, dword [edx + 8]
mov ecx, ebx
shld ecx, eax, 8
mov dword [esp + 0x80], ecx
mov ecx, ebx
shr ecx, 0x10
mov dword [esp + 0x10], ecx
mov ecx, ebx
shld ecx, eax, 0x10
mov dword [esp + 0x120], ecx
mov ecx, ebx
mov dword [esp + 0x6c], eax
shld ecx, eax, 0x18
mov dword [esp + 0x108], ecx
mov dword [esp + 0x68], ebx
mov eax, ebx
shr eax, 8
mov dword [esp + 0x58], eax
mov ecx, dword [edx + 4]
mov eax, ecx
shr eax, 0x18
mov dword [esp + 0x1c], eax
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x5c], eax
mov eax, ecx
shr eax, 8
mov dword [esp + 0x20], eax
mov esi, dword [edx]
mov eax, ecx
shld eax, esi, 8
mov dword [esp + 0x124], eax
mov eax, ecx
shld eax, esi, 0x10
mov dword [esp + 0x10c], eax
mov eax, ecx
mov dword [esp + 0x94], esi
shld ecx, esi, 0x18
mov dword [esp + 0xf4], ecx
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
mov esi, dword [esp + 0x144]
movups xmm2, xmmword [esi]
xorps xmm2, xmm0
movups xmm0, xmmword [esi + 0x10]
xorps xmm0, xmm1
mov ecx, dword [edx + 0x3c]
mov ebx, dword [edx + 0x38]
mov dword [esp + 4], ebx
movups xmmword [esp + 0x98], xmm2
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmm1, xmmword [edx + 0x30]
movups xmm2, xmmword [esi + 0x20]
xorps xmm2, xmm0
movups xmm0, xmmword [esi + 0x30]
xorps xmm0, xmm1
movups xmmword [esp + 0xb8], xmm2
movups xmmword [esp + 0xc8], xmm0
mov ebx, ecx
mov esi, dword [esp + 4]
shld ebx, esi, 0x18
mov edx, ecx
shr edx, 8
mov dword [esp + 0x128], edx
mov edx, ecx
shld edx, esi, 0x10
mov edi, ecx
mov esi, dword [esp + 4]
shld edi, esi, 8
mov dword [esp + 0xf0], edi
mov esi, ecx
shr esi, 0x10
mov dword [esp + 0x13c], esi
mov dword [esp + 0x28], ecx
shr ecx, 0x18
mov dword [esp + 0x24], ecx
mov esi, 0xffffffb0
nop dword [eax + eax]
mov dword [esp + 0x14c], esi
movzx ecx, byte [esp + 0x94]
mov dword [esp + 0x48], ecx
movzx ecx, bl
movzx esi, byte [esp + 0xdc]
mov dword [esp + 0xdc], esi
movzx ebx, byte [esp + 0xe0]
movzx esi, byte [esp + 0x30]
mov dword [esp + 0x30], esi
movzx esi, byte [esp + 0xe4]
mov dword [esp + 0xe4], esi
movzx esi, byte [esp + 0xe8]
mov dword [esp + 0xe8], esi
movzx esi, byte [esp + 0xec]
mov dword [esp + 0xe0], esi
movzx esi, byte [esp + 0x6c]
mov dword [esp + 0xec], esi
movzx esi, byte [esp + 0xf4]
mov dword [esp + 0x6c], esi
movzx edx, dl
mov dword [esp + 0xf4], edx
movzx edx, byte [esp + 0xf8]
mov dword [esp + 0x160], edx
movzx edx, byte [esp + 0x34]
mov dword [esp + 0xf8], edx
movzx edx, byte [esp + 0xfc]
mov dword [esp + 0xfc], edx
movzx edx, byte [esp + 0x100]
mov dword [esp + 0x100], edx
movzx edx, byte [esp + 0x104]
mov dword [esp + 0x15c], edx
movzx edx, byte [esp + 0x70]
mov dword [esp + 0x104], edx
movzx edx, byte [esp + 0x108]
mov dword [esp + 0x70], edx
movzx edx, byte [esp + 0x10c]
mov dword [esp + 0x10c], edx
movzx edx, byte [esp + 0xf0]
mov dword [esp + 0x108], edx
movzx edx, byte [esp + 0x90]
mov dword [esp + 0x90], edx
movzx edx, byte [esp + 0x110]
mov dword [esp + 0x110], edx
movzx edx, byte [esp + 0x114]
mov dword [esp + 0x114], edx
movzx edx, byte [esp + 0x118]
mov dword [esp + 0x118], edx
movzx edx, byte [esp + 0x74]
mov dword [esp + 0x34], edx
movzx edx, byte [esp + 0x11c]
mov dword [esp + 0x74], edx
movzx edx, byte [esp + 0x120]
mov dword [esp + 0x120], edx
movzx edx, byte [esp + 0x124]
mov dword [esp + 0x11c], edx
movzx edx, byte [esp + 0x28]
mov dword [esp + 0x124], edx
movzx edx, byte [esp + 0x12c]
mov dword [esp + 0x12c], edx
movzx edx, byte [esp + 0x130]
mov dword [esp + 0x130], edx
movzx edx, byte [esp + 0x134]
mov dword [esp + 0x134], edx
movzx edx, byte [esp + 0x78]
mov dword [esp + 0x28], edx
movzx edx, byte [esp + 0x138]
mov dword [esp + 0x78], edx
movzx edx, byte [esp + 0x140]
mov dword [esp + 0x140], edx
movzx edx, byte [esp + 0x80]
mov dword [esp + 0x138], edx
movzx eax, al
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x128]
mov dword [esp + 0x128], eax
movzx eax, byte [esp + 0x84]
mov dword [esp + 0x84], eax
movzx eax, byte [esp + 0x88]
mov dword [esp + 0xf0], eax
movzx eax, byte [esp + 0x50]
mov dword [esp + 0x88], eax
movzx eax, byte [esp + 0x38]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x54]
mov dword [esp + 0x54], eax
movzx eax, byte [esp + 0x8c]
mov dword [esp + 0x38], eax
movzx eax, byte [esp + 0x68]
mov dword [esp + 0x8c], eax
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x13c]
mov dword [esp + 0x13c], eax
movzx eax, byte [esp + 0x14]
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x4c]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0x2c]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x40]
mov dword [esp + 0x40], eax
movzx eax, byte [esp + 0x64]
mov dword [esp + 0x158], eax
movzx eax, byte [esp + 0x58]
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x5c]
mov dword [esp + 0x154], eax
movzx eax, byte [esp + 4]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x60]
mov dword [esp + 0x60], eax
movzx eax, byte [esp + 8]
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x18]
mov dword [esp + 0x150], eax
shl ecx, 3
mov edx, dword [ecx + 0x82faa4]
mov eax, dword [ecx + 0x82faa0]
mov ecx, eax
shld ecx, edx, 8
mov dword [esp + 0x94], ecx
shld edx, eax, 8
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0xdc]
shl eax, 3
mov esi, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov ecx, eax
shld ecx, esi, 0x10
mov dword [esp + 0x64], ecx
shld esi, eax, 0x10
movzx eax, byte [esp + 0x44]
mov dword [esp + 0x18], eax
shl ebx, 3
mov edx, dword [ebx + 0x82faa4]
mov edi, dword [ebx + 0x82faa0]
mov eax, edi
shld eax, edx, 0x18
xor eax, esi
mov dword [esp + 0x44], eax
shld edx, edi, 0x18
mov ecx, dword [esp + 0xe4]
shl ecx, 3
mov eax, dword [ecx + 0x82faa0]
mov esi, dword [ecx + 0x82faa4]
mov ecx, esi
shld ecx, eax, 8
shld eax, esi, 8
mov edi, dword [esp + 0xe8]
shl edi, 3
mov esi, dword [edi + 0x82faa4]
mov edi, dword [edi + 0x82faa0]
mov dword [esp + 4], edi
mov edi, dword [esp + 4]
shld edi, esi, 0x10
xor edx, dword [esp + 0x64]
xor edi, eax
mov eax, dword [esp + 4]
shld esi, eax, 0x10
xor esi, ecx
mov eax, dword [esp + 0xe0]
shl eax, 3
mov ecx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
shld eax, ecx, 0x18
xor eax, esi
mov esi, dword [esp + 4]
shld ecx, esi, 0x18
xor ecx, edi
mov esi, dword [esp + 0x48]
shl esi, 3
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x68]
xor edi, dword [esi + 0x82faa4]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x48]
xor esi, dword [ebx + 0x82faa0]
xor esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x30]
shl ebx, 3
xor esi, dword [ebx + 0x82faa4]
xor edi, edx
xor esi, eax
mov dword [esp + 0x94], esi
xor edi, dword [ebx + 0x82faa0]
xor edi, ecx
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x6c]
shl eax, 3
movzx ecx, byte [esp + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov edx, eax
shld edx, ecx, 8
mov dword [esp + 0x48], edx
shld ecx, eax, 8
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0xf4]
shl eax, 3
mov ecx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov esi, eax
shld esi, ecx, 0x10
shld ecx, eax, 0x10
mov edx, dword [esp + 0x160]
shl edx, 3
mov eax, dword [edx + 0x82faa0]
mov edi, dword [edx + 0x82faa4]
mov edx, edi
shld edx, eax, 0x18
xor edx, ecx
mov dword [esp + 0x30], edx
shld eax, edi, 0x18
xor eax, esi
mov esi, dword [esp + 0xfc]
shl esi, 3
mov ecx, dword [esi + 0x82faa4]
mov esi, dword [esi + 0x82faa0]
mov edi, esi
shld edi, ecx, 8
shld ecx, esi, 8
mov esi, dword [esp + 0x100]
shl esi, 3
mov ebx, dword [esi + 0x82faa0]
mov edx, dword [esi + 0x82faa4]
mov esi, edx
shld esi, ebx, 0x10
shld ebx, edx, 0x10
xor esi, ecx
xor ebx, edi
mov ecx, dword [esp + 0x15c]
shl ecx, 3
mov edx, dword [ecx + 0x82faa4]
mov dword [esp + 4], edx
mov ecx, dword [ecx + 0x82faa0]
mov edi, ecx
mov edx, ecx
mov ecx, dword [esp + 4]
shld edi, ecx, 0x18
xor edi, ebx
shld ecx, edx, 0x18
xor ecx, esi
mov dword [esp + 4], ecx
mov esi, dword [esp + 0xec]
shl esi, 3
mov ecx, dword [esp + 0x6c]
xor ecx, dword [esi + 0x82faa0]
xor ecx, eax
mov eax, dword [esp + 0x48]
xor eax, dword [esi + 0x82faa4]
xor eax, dword [esp + 0x30]
mov edx, dword [esp + 0xf8]
shl edx, 3
xor eax, dword [edx + 0x82faa0]
xor ecx, dword [edx + 0x82faa4]
mov ebx, ecx
xor eax, edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
shl eax, 3
movzx ecx, byte [esp + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov edx, eax
shld edx, ecx, 8
mov dword [esp + 0x64], edx
shld ecx, eax, 8
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x10c]
shl eax, 3
mov ecx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov edx, eax
shld edx, ecx, 0x10
shld ecx, eax, 0x10
mov eax, dword [esp + 0x108]
shl eax, 3
mov esi, dword [eax + 0x82faa0]
mov edi, dword [eax + 0x82faa4]
mov eax, edi
shld eax, esi, 0x18
xor ebx, dword [esp + 4]
mov dword [esp + 0x6c], ebx
xor eax, ecx
mov dword [esp + 0x30], eax
shld esi, edi, 0x18
mov edi, dword [esp + 0x110]
shl edi, 3
mov ecx, dword [edi + 0x82faa4]
mov ebx, dword [edi + 0x82faa0]
mov edi, ebx
shld edi, ecx, 8
mov dword [esp + 4], edi
shld ecx, ebx, 8
xor esi, edx
mov edx, dword [esp + 0x114]
shl edx, 3
mov ebx, dword [edx + 0x82faa0]
mov edi, dword [edx + 0x82faa4]
mov edx, edi
shld edx, ebx, 0x10
xor edx, ecx
shld ebx, edi, 0x10
mov edi, dword [esp + 0x118]
shl edi, 3
mov ecx, dword [edi + 0x82faa4]
mov eax, dword [edi + 0x82faa0]
mov edi, eax
shld edi, ecx, 0x18
xor ebx, dword [esp + 4]
xor edi, ebx
shld ecx, eax, 0x18
xor ecx, edx
mov ebx, dword [esp + 0x104]
shl ebx, 3
mov edx, dword [esp + 0x70]
xor edx, dword [ebx + 0x82faa0]
xor edx, esi
mov esi, dword [esp + 0x64]
xor esi, dword [ebx + 0x82faa4]
xor esi, dword [esp + 0x30]
mov eax, dword [esp + 0x90]
shl eax, 3
xor esi, dword [eax + 0x82faa0]
xor esi, edi
mov dword [esp + 0x64], esi
xor edx, dword [eax + 0x82faa4]
xor edx, ecx
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x74]
shl eax, 3
movzx ecx, byte [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov ecx, eax
shld ecx, edx, 8
mov dword [esp + 0x44], ecx
shld edx, eax, 8
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x120]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov esi, eax
shld esi, edx, 0x10
shld edx, eax, 0x10
mov eax, dword [esp + 0x11c]
shl eax, 3
mov ecx, dword [eax + 0x82faa0]
mov edi, dword [eax + 0x82faa4]
mov eax, edi
shld eax, ecx, 0x18
shld ecx, edi, 0x18
xor eax, edx
mov dword [esp + 4], eax
xor ecx, esi
mov eax, dword [esp + 0x12c]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov esi, dword [eax + 0x82faa0]
mov ebx, esi
shld ebx, edx, 8
shld edx, esi, 8
mov eax, dword [esp + 0x130]
shl eax, 3
mov edi, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov esi, eax
shld esi, edi, 0x10
xor esi, edx
shld edi, eax, 0x10
xor edi, ebx
mov eax, dword [esp + 0x134]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov ebx, eax
shld ebx, edx, 0x18
shld edx, eax, 0x18
xor ebx, edi
mov eax, dword [esp + 0x34]
shl eax, 3
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x74]
xor edi, dword [eax + 0x82faa0]
xor edx, esi
xor edi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
xor eax, dword [ecx + 0x82faa4]
xor eax, dword [esp + 4]
mov ecx, dword [esp + 0x124]
shl ecx, 3
xor eax, dword [ecx + 0x82faa0]
xor eax, ebx
mov dword [esp + 0x44], eax
xor edi, dword [ecx + 0x82faa4]
xor edi, edx
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0x78]
shl ecx, 3
mov eax, dword [ecx + 0x82faa4]
mov edx, dword [ecx + 0x82faa0]
mov ecx, eax
shld ecx, edx, 8
mov dword [esp + 0x30], ecx
shld edx, eax, 8
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x140]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov esi, eax
shld esi, edx, 0x10
shld edx, eax, 0x10
mov eax, dword [esp + 0x138]
shl eax, 3
mov ecx, dword [eax + 0x82faa0]
mov edi, dword [eax + 0x82faa4]
mov eax, edi
shld eax, ecx, 0x18
shld ecx, edi, 0x18
xor eax, edx
mov dword [esp + 4], eax
xor ecx, esi
mov eax, dword [esp + 0x128]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov esi, dword [eax + 0x82faa0]
mov ebx, esi
shld ebx, edx, 8
shld edx, esi, 8
mov eax, dword [esp + 0x84]
shl eax, 3
mov edi, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov esi, eax
shld esi, edi, 0x10
xor esi, edx
shld edi, eax, 0x10
xor edi, ebx
mov eax, dword [esp + 0xf0]
shl eax, 3
mov edx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov ebx, eax
shld ebx, edx, 0x18
shld edx, eax, 0x18
xor ebx, edi
mov eax, dword [esp + 0x28]
shl eax, 3
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x78]
xor edi, dword [eax + 0x82faa0]
xor edx, esi
xor edi, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
xor eax, dword [ecx + 0x82faa4]
xor eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
shl ecx, 3
xor eax, dword [ecx + 0x82faa0]
xor eax, ebx
mov dword [esp + 0x30], eax
xor edi, dword [ecx + 0x82faa4]
xor edi, edx
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x50]
shl ecx, 3
mov eax, dword [ecx + 0x82faa4]
mov edx, dword [ecx + 0x82faa0]
mov ecx, eax
shld ecx, edx, 8
mov dword [esp + 0x34], ecx
shld edx, eax, 8
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x54]
shl ecx, 3
mov eax, dword [ecx + 0x82faa4]
mov ecx, dword [ecx + 0x82faa0]
mov esi, ecx
shld esi, eax, 0x10
shld eax, ecx, 0x10
mov ecx, dword [esp + 0x38]
shl ecx, 3
mov edx, dword [ecx + 0x82faa0]
mov edi, dword [ecx + 0x82faa4]
mov ecx, edi
shld ecx, edx, 0x18
shld edx, edi, 0x18
xor ecx, eax
mov dword [esp + 4], ecx
xor edx, esi
mov ecx, dword [esp + 0x20]
shl ecx, 3
mov eax, dword [ecx + 0x82faa4]
mov esi, dword [ecx + 0x82faa0]
mov ebx, esi
shld ebx, eax, 8
shld eax, esi, 8
mov ecx, dword [esp + 0x13c]
shl ecx, 3
mov edi, dword [ecx + 0x82faa0]
mov ecx, dword [ecx + 0x82faa4]
mov esi, ecx
shld esi, edi, 0x10
xor esi, eax
shld edi, ecx, 0x10
xor edi, ebx
mov eax, dword [esp + 0x14]
shl eax, 3
mov ebx, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov ecx, eax
shld ecx, ebx, 0x18
shld ebx, eax, 0x18
xor ecx, edi
mov eax, dword [esp + 0x88]
shl eax, 3
mov edi, dword [esp + 0x50]
xor edi, dword [eax + 0x82faa0]
xor ebx, esi
xor edi, edx
mov edx, dword [esp + 0x34]
xor edx, dword [eax + 0x82faa4]
xor edx, dword [esp + 4]
mov eax, dword [esp + 0x8c]
shl eax, 3
xor edx, dword [eax + 0x82faa0]
mov dword [esp + 0x34], edx
xor edi, dword [eax + 0x82faa4]
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x3c]
shl eax, 3
mov edi, dword [eax + 0x82faa0]
mov esi, dword [eax + 0x82faa4]
mov edx, esi
shld edx, edi, 8
xor dword [esp + 0x34], ecx
shld edi, esi, 8
mov eax, dword [esp + 0x4c]
shl eax, 3
xor edi, dword [eax + 0x82faa0]
xor edx, dword [eax + 0x82faa4]
mov eax, dword [esp + 0x2c]
shl eax, 3
mov esi, dword [eax + 0x82faa4]
mov eax, dword [eax + 0x82faa0]
mov ecx, eax
shld ecx, esi, 0x10
shld esi, eax, 0x10
xor dword [esp + 0x50], ebx
mov eax, dword [esp + 0x40]
shl eax, 3
mov ebx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
shld eax, ebx, 0x18
xor eax, esi
xor eax, edx
mov edx, dword [esp + 4]
shld ebx, edx, 0x18
xor ebx, ecx
xor ebx, edi
mov ecx, dword [esp + 0x158]
shl ecx, 3
xor eax, dword [ecx + 0x82faa0]
xor ebx, dword [ecx + 0x82faa4]
mov ecx, dword [esp + 0x58]
shl ecx, 3
mov edx, dword [ecx + 0x82faa4]
mov esi, dword [ecx + 0x82faa0]
mov ecx, esi
shld ecx, edx, 8
mov dword [esp + 4], ecx
shld edx, esi, 8
mov ecx, dword [esp + 0x154]
shl ecx, 3
mov esi, dword [ecx + 0x82faa0]
mov ecx, dword [ecx + 0x82faa4]
mov edi, ecx
shld edi, esi, 0x10
xor edi, edx
shld esi, ecx, 0x10
mov edx, dword [esp + 0x24]
mov ecx, dword [edx*8 + 0x82faa0]
mov dword [esp + 0x28], ecx
mov edx, dword [edx*8 + 0x82faa4]
mov dword [esp + 0x4c], edx
mov edx, ecx
mov ecx, dword [esp + 0x4c]
shld edx, ecx, 0x18
xor esi, dword [esp + 4]
xor edx, esi
mov esi, dword [esp + 0x28]
shld ecx, esi, 0x18
xor edx, eax
mov dword [esp + 0x90], edx
xor ecx, edi
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x60]
shl ecx, 3
mov eax, dword [ecx + 0x82faa0]
mov edx, dword [ecx + 0x82faa4]
mov ecx, eax
shld ecx, edx, 8
mov dword [esp + 4], ecx
shld edx, eax, 8
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 8]
shl ecx, 3
mov eax, dword [ecx + 0x82faa0]
mov ecx, dword [ecx + 0x82faa4]
mov edi, ecx
shld edi, eax, 0x10
shld eax, ecx, 0x10
mov ecx, dword [esp + 0x150]
shl ecx, 3
mov edx, dword [ecx + 0x82faa4]
mov esi, dword [ecx + 0x82faa0]
mov ecx, esi
shld ecx, edx, 0x18
xor dword [esp + 0x4c], ebx
xor ecx, eax
mov dword [esp + 8], ecx
shld edx, esi, 0x18
mov eax, dword [esp + 0xc]
shl eax, 3
mov ecx, dword [eax + 0x82faa0]
mov eax, dword [eax + 0x82faa4]
mov esi, eax
shld esi, ecx, 8
shld ecx, eax, 8
xor edx, edi
mov edi, dword [esp + 0x10]
shl edi, 3
mov eax, dword [edi + 0x82faa4]
mov edi, dword [edi + 0x82faa0]
mov ebx, edi
shld ebx, eax, 0x10
xor ebx, ecx
mov dword [esp + 0x24], ebx
shld eax, edi, 0x10
mov ecx, dword [esp + 0x1c]
shl ecx, 3
mov edi, dword [ecx + 0x82faa0]
mov ebx, dword [ecx + 0x82faa4]
mov ecx, ebx
shld ecx, edi, 0x18
xor eax, esi
xor ecx, eax
mov dword [esp + 0x1c], ecx
shld edi, ebx, 0x18
mov ecx, dword [esp + 0x5c]
shl ecx, 3
mov eax, dword [esp + 0x28]
xor eax, dword [ecx + 0x82faa4]
mov esi, ecx
xor eax, edx
mov ecx, eax
mov eax, dword [esp + 4]
xor eax, dword [esi + 0x82faa0]
xor eax, dword [esp + 8]
mov edx, dword [esp + 0x18]
shl edx, 3
xor eax, dword [edx + 0x82faa4]
mov dword [esp + 4], eax
xor ecx, dword [edx + 0x82faa0]
mov dword [esp + 0x28], ecx
movzx eax, byte [esp + 0xd1]
mov ecx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov edx, eax
shld edx, ecx, 8
shld ecx, eax, 8
xor edi, dword [esp + 0x24]
mov dword [esp + 0x10], edi
movzx eax, byte [esp + 0x98]
xor ecx, dword [eax*8 + 0x82faa4]
xor edx, dword [eax*8 + 0x82faa0]
movzx esi, byte [esp + 0xca]
mov eax, dword [esi*8 + 0x82faa0]
mov esi, dword [esi*8 + 0x82faa4]
mov ebx, esi
shld ebx, eax, 0x10
shld eax, esi, 0x10
movzx esi, byte [esp + 0xc3]
mov edi, dword [esi*8 + 0x82faa4]
mov dword [esp + 0x24], edi
mov esi, dword [esi*8 + 0x82faa0]
mov dword [esp + 0xc], esi
shld esi, edi, 0x18
mov edi, dword [esp + 0x1c]
xor dword [esp + 4], edi
xor esi, eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
shld edi, eax, 0x18
xor esi, edx
xor edi, ebx
xor edi, ecx
movzx eax, byte [esp + 0xbc]
xor esi, dword [eax*8 + 0x82faa4]
xor edi, dword [eax*8 + 0x82faa0]
mov dword [esp + 0x24], edi
movzx eax, byte [esp + 0xb5]
mov ebx, dword [eax*8 + 0x82faa0]
mov ecx, dword [eax*8 + 0x82faa4]
mov eax, ecx
shld eax, ebx, 8
shld ebx, ecx, 8
mov ecx, dword [esp + 0x10]
xor dword [esp + 0x28], ecx
movzx ecx, byte [esp + 0xae]
mov edx, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov edi, ecx
shld edi, edx, 0x10
xor edi, ebx
mov dword [esp + 0x10], edi
shld edx, ecx, 0x10
movzx ecx, byte [esp + 0xa7]
mov ebx, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov edi, ecx
shld edi, ebx, 0x18
xor edx, eax
xor edi, edx
shld ebx, ecx, 0x18
mov dword [esp + 0x60], ebx
movzx eax, byte [esp + 0x99]
mov ebx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov edx, eax
shld edx, ebx, 8
shld ebx, eax, 8
xor edi, esi
mov dword [esp + 0x8c], edi
movzx eax, byte [esp + 0xa0]
xor ebx, dword [eax*8 + 0x82faa4]
xor edx, dword [eax*8 + 0x82faa0]
movzx ecx, byte [esp + 0xd2]
mov eax, dword [ecx*8 + 0x82faa0]
mov esi, dword [ecx*8 + 0x82faa4]
mov ecx, esi
shld ecx, eax, 0x10
mov dword [esp + 0xc], ecx
shld eax, esi, 0x10
movzx edi, byte [esp + 0xcb]
mov ecx, dword [edi*8 + 0x82faa4]
mov dword [esp + 0x1c], ecx
mov edi, dword [edi*8 + 0x82faa0]
mov esi, edi
shld esi, ecx, 0x18
mov ecx, dword [esp + 0x60]
xor ecx, dword [esp + 0x10]
xor esi, eax
mov eax, dword [esp + 0x1c]
shld eax, edi, 0x18
xor esi, edx
xor eax, dword [esp + 0xc]
xor eax, ebx
mov edx, eax
movzx eax, byte [esp + 0xc4]
xor esi, dword [eax*8 + 0x82faa4]
mov dword [esp + 0xc], esi
xor edx, dword [eax*8 + 0x82faa0]
mov dword [esp + 0x1c], edx
movzx edx, byte [esp + 0xbd]
mov eax, dword [edx*8 + 0x82faa0]
mov edx, dword [edx*8 + 0x82faa4]
mov edi, edx
shld edi, eax, 8
shld eax, edx, 8
xor ecx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
movzx ecx, byte [esp + 0xb6]
mov esi, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov edx, ecx
shld edx, esi, 0x10
xor edx, eax
mov dword [esp + 8], edx
shld esi, ecx, 0x10
movzx eax, byte [esp + 0xaf]
mov edx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov ecx, eax
shld ecx, edx, 0x18
mov dword [esp + 0x24], ecx
shld edx, eax, 0x18
mov dword [esp + 0x5c], edx
movzx eax, byte [esp + 0xa1]
mov ebx, dword [eax*8 + 0x82faa4]
mov ecx, dword [eax*8 + 0x82faa0]
mov eax, ecx
shld eax, ebx, 8
xor esi, edi
shld ebx, ecx, 8
movzx ecx, byte [esp + 0xa8]
xor ebx, dword [ecx*8 + 0x82faa4]
xor eax, dword [ecx*8 + 0x82faa0]
movzx edi, byte [esp + 0x9a]
mov ecx, dword [edi*8 + 0x82faa0]
mov edi, dword [edi*8 + 0x82faa4]
mov edx, edi
shld edx, ecx, 0x10
mov dword [esp + 0x10], edx
shld ecx, edi, 0x10
xor dword [esp + 0x24], esi
movzx esi, byte [esp + 0xd3]
mov edi, dword [esi*8 + 0x82faa4]
mov edx, dword [esi*8 + 0x82faa0]
mov esi, edx
shld esi, edi, 0x18
xor esi, ecx
xor esi, eax
shld edi, edx, 0x18
xor edi, dword [esp + 0x10]
xor edi, ebx
movzx eax, byte [esp + 0xcc]
xor esi, dword [eax*8 + 0x82faa4]
mov dword [esp + 0x18], esi
xor edi, dword [eax*8 + 0x82faa0]
mov dword [esp + 0x10], edi
movzx ecx, byte [esp + 0xc5]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov ebx, ecx
shld ebx, eax, 8
mov edx, dword [esp + 0x5c]
xor edx, dword [esp + 8]
shld eax, ecx, 8
mov ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x6c]
xor ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
xor edx, dword [esp + 0x48]
movzx ecx, byte [esp + 0xbe]
mov edi, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov esi, ecx
shld esi, edi, 0x10
xor edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
xor esi, eax
mov dword [esp + 0x40], esi
shld edi, ecx, 0x10
movzx eax, byte [esp + 0xb7]
mov ecx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov edx, eax
shld edx, ecx, 0x18
mov dword [esp + 0x1c], edx
shld ecx, eax, 0x18
mov dword [esp + 0x58], ecx
movzx eax, byte [esp + 0xa9]
mov ecx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov edx, eax
shld edx, ecx, 8
shld ecx, eax, 8
xor edi, ebx
mov dword [esp + 0xc], edi
movzx eax, byte [esp + 0xb0]
xor ecx, dword [eax*8 + 0x82faa4]
xor edx, dword [eax*8 + 0x82faa0]
movzx esi, byte [esp + 0xa2]
mov eax, dword [esi*8 + 0x82faa0]
mov esi, dword [esi*8 + 0x82faa4]
mov edi, esi
shld edi, eax, 0x10
mov dword [esp + 8], edi
shld eax, esi, 0x10
movzx esi, byte [esp + 0x9b]
mov ebx, dword [esi*8 + 0x82faa4]
mov esi, dword [esi*8 + 0x82faa0]
mov dword [esp + 0x2c], esi
shld esi, ebx, 0x18
mov edi, dword [esp + 0xc]
xor dword [esp + 0x1c], edi
xor esi, eax
mov eax, dword [esp + 0x2c]
shld ebx, eax, 0x18
xor esi, edx
xor ebx, dword [esp + 8]
xor ebx, ecx
movzx eax, byte [esp + 0xd4]
xor esi, dword [eax*8 + 0x82faa4]
mov dword [esp + 8], esi
xor ebx, dword [eax*8 + 0x82faa0]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x58]
xor esi, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x70]
movzx ecx, byte [esp + 0xcd]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov edi, ecx
shld edi, eax, 8
xor edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
shld eax, ecx, 8
mov ecx, esi
xor ecx, dword [esp + 0x64]
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
movzx ecx, byte [esp + 0xc6]
mov esi, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov edx, ecx
shld edx, esi, 0x10
xor edx, eax
mov dword [esp + 0x2c], edx
shld esi, ecx, 0x10
movzx eax, byte [esp + 0xbf]
mov edx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov ecx, eax
shld ecx, edx, 0x18
mov dword [esp + 0x10], ecx
shld edx, eax, 0x18
mov dword [esp + 0x40], edx
movzx eax, byte [esp + 0xb1]
mov ecx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov ebx, eax
shld ebx, ecx, 8
xor esi, edi
shld ecx, eax, 8
movzx eax, byte [esp + 0xb8]
xor ecx, dword [eax*8 + 0x82faa4]
xor ebx, dword [eax*8 + 0x82faa0]
movzx edx, byte [esp + 0xaa]
mov eax, dword [edx*8 + 0x82faa0]
mov edi, dword [edx*8 + 0x82faa4]
mov edx, edi
shld edx, eax, 0x10
mov dword [esp + 0x18], edx
shld eax, edi, 0x10
xor dword [esp + 0x10], esi
movzx esi, byte [esp + 0xa3]
mov edi, dword [esi*8 + 0x82faa4]
mov edx, dword [esi*8 + 0x82faa0]
mov esi, edx
shld esi, edi, 0x18
xor esi, eax
xor esi, ebx
shld edi, edx, 0x18
xor edi, dword [esp + 0x18]
xor edi, ecx
movzx eax, byte [esp + 0x9c]
xor esi, dword [eax*8 + 0x82faa4]
mov dword [esp + 0x3c], esi
xor edi, dword [eax*8 + 0x82faa0]
mov dword [esp + 0x18], edi
movzx ecx, byte [esp + 0xd5]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov ebx, ecx
shld ebx, eax, 8
mov edx, dword [esp + 0x40]
xor edx, dword [esp + 0x2c]
shld eax, ecx, 8
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x74]
xor ecx, dword [esp + 8]
mov dword [esp + 0x10], ecx
xor edx, dword [esp + 0x44]
movzx ecx, byte [esp + 0xce]
mov edi, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov esi, ecx
shld esi, edi, 0x10
xor edx, dword [esp + 0xc]
mov dword [esp + 0x40], edx
xor esi, eax
mov dword [esp + 0x20], esi
shld edi, ecx, 0x10
movzx eax, byte [esp + 0xc7]
mov ecx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov edx, eax
shld edx, ecx, 0x18
mov dword [esp + 0xc], edx
shld ecx, eax, 0x18
mov dword [esp + 0x2c], ecx
movzx eax, byte [esp + 0xb9]
mov ecx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov edx, eax
shld edx, ecx, 8
shld ecx, eax, 8
xor edi, ebx
mov dword [esp + 8], edi
movzx eax, byte [esp + 0xc0]
xor ecx, dword [eax*8 + 0x82faa4]
xor edx, dword [eax*8 + 0x82faa0]
movzx ebx, byte [esp + 0xb2]
mov eax, dword [ebx*8 + 0x82faa0]
mov ebx, dword [ebx*8 + 0x82faa4]
mov esi, ebx
shld esi, eax, 0x10
mov dword [esp + 0x14], esi
shld eax, ebx, 0x10
movzx ebx, byte [esp + 0xab]
mov edi, dword [ebx*8 + 0x82faa4]
mov ebx, dword [ebx*8 + 0x82faa0]
mov dword [esp + 0x54], ebx
shld ebx, edi, 0x18
mov esi, dword [esp + 8]
xor dword [esp + 0xc], esi
xor ebx, eax
mov eax, dword [esp + 0x54]
shld edi, eax, 0x18
xor ebx, edx
xor edi, dword [esp + 0x14]
xor edi, ecx
movzx eax, byte [esp + 0xa4]
xor ebx, dword [eax*8 + 0x82faa4]
mov dword [esp + 0x14], ebx
xor edi, dword [eax*8 + 0x82faa0]
mov dword [esp + 8], edi
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
xor edx, dword [esp + 0x78]
movzx ecx, byte [esp + 0x9d]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov ebx, ecx
shld ebx, eax, 8
xor edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
shld eax, ecx, 8
mov ecx, esi
xor ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [esp + 0xd6]
mov edx, dword [ecx*8 + 0x82faa4]
mov esi, dword [ecx*8 + 0x82faa0]
mov ecx, esi
shld ecx, edx, 0x10
xor ecx, eax
mov dword [esp + 0x38], ecx
shld edx, esi, 0x10
movzx eax, byte [esp + 0xcf]
mov esi, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov ecx, eax
shld ecx, esi, 0x18
mov dword [esp + 0x18], ecx
shld esi, eax, 0x18
mov dword [esp + 0x3c], esi
movzx esi, byte [esp + 0xc1]
mov eax, dword [esi*8 + 0x82faa4]
mov edi, dword [esi*8 + 0x82faa0]
mov esi, edi
shld esi, eax, 8
xor edx, ebx
shld eax, edi, 8
movzx edi, byte [esp + 0xc8]
xor eax, dword [edi*8 + 0x82faa4]
xor esi, dword [edi*8 + 0x82faa0]
movzx edi, byte [esp + 0xba]
mov ebx, dword [edi*8 + 0x82faa0]
mov edi, dword [edi*8 + 0x82faa4]
mov ecx, edi
shld ecx, ebx, 0x10
mov dword [esp + 0x20], ecx
shld ebx, edi, 0x10
xor dword [esp + 0x18], edx
movzx edx, byte [esp + 0xb3]
mov edi, dword [edx*8 + 0x82faa4]
mov ecx, dword [edx*8 + 0x82faa0]
mov edx, ecx
shld edx, edi, 0x18
xor edx, ebx
xor edx, esi
shld edi, ecx, 0x18
xor edi, dword [esp + 0x20]
xor edi, eax
movzx eax, byte [esp + 0xac]
xor edx, dword [eax*8 + 0x82faa4]
mov dword [esp + 0x54], edx
xor edi, dword [eax*8 + 0x82faa0]
mov dword [esp + 0x20], edi
movzx ecx, byte [esp + 0xa5]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov ebx, ecx
shld ebx, eax, 8
mov edx, dword [esp + 0x3c]
xor edx, dword [esp + 0x38]
shld eax, ecx, 8
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
xor edx, dword [esp + 0x34]
movzx ecx, byte [esp + 0x9e]
mov edi, dword [ecx*8 + 0x82faa4]
mov ecx, dword [ecx*8 + 0x82faa0]
mov esi, ecx
shld esi, edi, 0x10
xor edx, dword [esp + 8]
mov dword [esp + 0x3c], edx
xor esi, eax
mov dword [esp + 0x38], esi
shld edi, ecx, 0x10
movzx eax, byte [esp + 0xd7]
mov ecx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov edx, eax
shld edx, ecx, 0x18
mov dword [esp + 8], edx
shld ecx, eax, 0x18
mov dword [esp + 0x14], ecx
movzx eax, byte [esp + 0xc9]
mov edx, dword [eax*8 + 0x82faa4]
mov eax, dword [eax*8 + 0x82faa0]
mov esi, eax
shld esi, edx, 8
shld edx, eax, 8
xor edi, ebx
mov dword [esp + 0x88], edi
movzx eax, byte [esp + 0xd0]
xor edx, dword [eax*8 + 0x82faa4]
xor esi, dword [eax*8 + 0x82faa0]
movzx ecx, byte [esp + 0xc2]
mov eax, dword [ecx*8 + 0x82faa0]
mov ecx, dword [ecx*8 + 0x82faa4]
mov edi, ecx
shld edi, eax, 0x10
mov dword [esp + 0x84], edi
shld eax, ecx, 0x10
movzx edi, byte [esp + 0xbb]
mov ecx, dword [edi*8 + 0x82faa4]
mov edi, dword [edi*8 + 0x82faa0]
mov dword [esp + 0x80], edi
shld edi, ecx, 0x18
mov ebx, dword [esp + 0x88]
xor dword [esp + 8], ebx
xor edi, eax
mov eax, dword [esp + 0x80]
shld ecx, eax, 0x18
xor edi, esi
xor ecx, dword [esp + 0x84]
xor ecx, edx
movzx eax, byte [esp + 0xb4]
xor edi, dword [eax*8 + 0x82faa4]
xor ecx, dword [eax*8 + 0x82faa0]
mov ebx, dword [esp + 0x14]
xor ebx, dword [esp + 0x38]
mov esi, dword [esp + 8]
xor esi, dword [esp + 0x4c]
movzx eax, byte [esp + 0xad]
mov edx, dword [eax*8 + 0x82faa0]
mov eax, dword [eax*8 + 0x82faa4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
shld eax, edx, 8
mov dword [esp + 0x38], eax
xor esi, dword [esp + 0x54]
mov dword [esp + 8], esi
mov eax, dword [esp + 0x14]
shld edx, eax, 8
mov eax, ebx
xor eax, dword [esp + 0x90]
xor eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
movzx esi, byte [esp + 0xa6]
mov eax, dword [esi*8 + 0x82faa4]
mov esi, dword [esi*8 + 0x82faa0]
mov ebx, esi
shld ebx, eax, 0x10
xor ebx, edx
shld eax, esi, 0x10
movzx esi, byte [esp + 0x9f]
mov edx, dword [esi*8 + 0x82faa0]
mov esi, dword [esi*8 + 0x82faa4]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x20]
shld esi, edx, 0x18
xor eax, dword [esp + 0x38]
xor esi, eax
mov eax, dword [esp + 0x20]
shld edx, eax, 0x18
xor edx, ebx
xor esi, dword [esp + 4]
xor esi, edi
xor edx, dword [esp + 0x28]
xor edx, ecx
mov eax, dword [esp + 0x14c]
mov edi, dword [esp + 0x68]
xor edi, dword [eax + 0x8302f4]
mov ecx, dword [esp + 0x60]
xor ecx, edi
mov dword [esp + 0x9c], ecx
mov ebx, dword [esp + 0x94]
xor ebx, dword [eax + 0x8302f0]
mov ecx, dword [esp + 0x8c]
xor ecx, ebx
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd0], esi
mov eax, edi
mov dword [esp + 0x68], edi
mov ecx, edi
shld ecx, ebx, 0x18
mov dword [esp + 0xf4], ecx
mov ecx, edi
shr ecx, 8
mov dword [esp + 0x20], ecx
mov ecx, edi
shld ecx, ebx, 0x10
mov dword [esp + 0x10c], ecx
mov ecx, edi
shr ecx, 0x10
mov dword [esp + 0x5c], ecx
mov ecx, edi
mov dword [esp + 0x94], ebx
shld ecx, ebx, 8
mov dword [esp + 0x124], ecx
mov edi, dword [esp + 0x48]
mov ecx, edi
mov esi, dword [esp + 0x6c]
shld ecx, esi, 0x18
mov dword [esp + 0x108], ecx
mov edx, eax
shr edx, 0x18
mov dword [esp + 0x1c], edx
mov ecx, edi
shr ecx, 8
mov dword [esp + 0x58], ecx
mov ecx, edi
shld ecx, esi, 0x10
mov dword [esp + 0x120], ecx
mov edx, edi
shr edx, 0x10
mov dword [esp + 0x10], edx
mov ecx, edi
shld ecx, esi, 8
mov dword [esp + 0x80], ecx
mov ecx, edi
shr ecx, 0x18
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x64]
mov ecx, eax
mov esi, dword [esp + 0x70]
shld ecx, esi, 0x18
mov dword [esp + 0x11c], ecx
mov ecx, eax
shld ecx, esi, 0x10
mov dword [esp + 0x140], ecx
mov edx, eax
shr edx, 8
mov dword [esp + 0xc], edx
mov ecx, eax
shr ecx, 0x10
mov dword [esp + 0xe8], ecx
mov ecx, eax
shld ecx, esi, 8
mov dword [esp + 0x8c], ecx
mov ecx, eax
shr ecx, 0x18
mov dword [esp + 0x104], ecx
mov edi, dword [esp + 0x44]
mov edx, edi
mov ecx, dword [esp + 0x74]
shld edx, ecx, 0x18
mov dword [esp + 0x138], edx
mov edx, edi
shr edx, 8
mov dword [esp + 0xe4], edx
mov edx, edi
shld edx, ecx, 0x10
mov dword [esp + 0x54], edx
mov edx, edi
shld edx, ecx, 8
mov dword [esp + 0x40], edx
mov ecx, edi
shr ecx, 0x10
mov dword [esp + 0x100], ecx
mov ecx, edi
shr ecx, 0x18
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 0x30]
mov ecx, edx
mov esi, dword [esp + 0x78]
shld ecx, esi, 0x18
mov dword [esp + 0x38], ecx
mov ecx, edx
shr ecx, 8
mov dword [esp + 0xfc], ecx
mov ecx, edx
shld ecx, esi, 0x10
mov dword [esp + 0x2c], ecx
mov ecx, edx
shr ecx, 0x10
mov dword [esp + 0x114], ecx
mov ecx, edx
shld ecx, esi, 8
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x34]
mov ecx, esi
mov ebx, dword [esp + 0x50]
shld ecx, ebx, 0x18
mov dword [esp + 0x3c], ecx
shr edx, 0x18
mov dword [esp + 0x134], edx
mov ecx, esi
shr ecx, 8
mov dword [esp + 0x110], ecx
mov ecx, esi
shld ecx, ebx, 0x10
mov dword [esp + 8], ecx
mov ecx, esi
shr ecx, 0x10
mov dword [esp + 0x130], ecx
mov ecx, esi
shld ecx, ebx, 8
mov dword [esp + 0xe0], ecx
shr esi, 0x18
mov dword [esp + 0x88], esi
mov edx, dword [esp + 0x90]
mov ecx, edx
mov eax, dword [esp + 0x4c]
shld ecx, eax, 0x18
mov dword [esp + 0x60], ecx
mov ecx, edx
shld ecx, eax, 0x10
mov dword [esp + 0xdc], ecx
mov ecx, edx
shr ecx, 8
mov dword [esp + 0x12c], ecx
mov ecx, edx
shr ecx, 0x10
mov dword [esp + 0x84], ecx
mov ecx, edx
shld ecx, eax, 8
mov dword [esp + 0xf8], ecx
shr edx, 0x18
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x28]
mov eax, ebx
mov ecx, dword [esp + 4]
shld eax, ecx, 0x18
mov edx, ebx
shr edx, 8
mov dword [esp + 0x128], edx
mov edx, ebx
shld edx, ecx, 0x10
mov esi, ebx
shld esi, ecx, 8
mov dword [esp + 0xf0], esi
mov ecx, ebx
shr ecx, 0x10
mov dword [esp + 0x13c], ecx
mov esi, ebx
mov ebx, eax
shr esi, 0x18
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x14c]
add esi, 8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x44], edi
jne 0x4be070
cmp byte [esp + 0x7f], 0
je 0x4bdd00
mov eax, 1
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x144]
mov edi, dword [esp + 0x148]
nop
movzx ecx, byte [esi + eax - 1]
xor cl, byte [esp + eax + 0x97]
xor byte [edx + eax - 1], cl
movzx ecx, byte [esi + eax]
xor cl, byte [esp + eax + 0x98]
xor byte [edx + eax], cl
add eax, 2
cmp eax, 0x41
jne 0x4bf9f0
jmp 0x4bdd76
push edi
push esi
push edx
call fcn.004c0000
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret