Function at 0x1016c3f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x103c4120]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x164], edi
mov ebx, dword [edi + 0xac]
mov esi, dword [edi + 0xa8]
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x150], esi
lea eax, [ebx + 0x3c]
mov dword [ebp - 0x138], eax
cmp ecx, eax
ja 0x1016c444
lea eax, [ebp - 0xc8]
cmp eax, ebx
jae 0x1016c45b
lea eax, [esi + 0x3c]
lea ecx, [ebp - 0x104]
cmp ecx, eax
ja 0x1016c482
lea eax, [ebp - 0xc8]
cmp eax, esi
jb 0x1016c482
mov edi, esi
lea eax, [ebp - 0x104]
sub edi, ebx
mov ecx, ebx
sub eax, ebx
mov edx, 0x10
mov esi, eax
mov eax, dword [ecx + edi]
lea ecx, [ecx + 4]
xor eax, dword [ecx - 4]
mov dword [ecx + esi - 4], eax
dec edx
jne 0x1016c470
jmp 0x1016c4f6
mov edx, esi
lea eax, [ebx + 0x10]
sub edx, ebx
mov ecx, esi
mov dword [ebp - 0x144], edx
lea edx, [ebp - 0x104]
mov edi, dword [ebp - 0x144]
sub edx, ebx
mov dword [ebp - 0x13c], edx
lea edx, [ebp - 0x104]
mov ebx, dword [ebp - 0x13c]
sub edx, esi
mov dword [ebp - 0x14c], edx
mov edx, 2
mov esi, dword [ebp - 0x14c]
lea ecx, [ecx + 0x20]
lea eax, [eax + 0x20]
movdqu xmm0, xmmword [ecx - 0x20]
movdqu xmm1, xmmword [eax - 0x30]
pxor xmm1, xmm0
movdqu xmm0, xmmword [eax - 0x20]
movdqu xmmword [ecx + esi - 0x20], xmm1
movdqu xmm1, xmmword [edi + eax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [ebx + eax - 0x20], xmm1
dec edx
jne 0x1016c4c4
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x164]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x1c]
mov dword [ebp - 0x174], ecx
mov ecx, dword [esi]
mov edx, ecx
xor edx, dword [esi + 8]
mov dword [ebp - 0x170], ecx
xor edx, eax
mov ecx, dword [esi + 0xc]
xor edx, ebx
xor edx, dword [ebp - 0xf8]
xor edx, dword [ebp - 0xec]
xor edx, dword [ebp - 0xe4]
xor edx, dword [ebp - 0xdc]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x194], eax
mov eax, dword [esi + 0x18]
xor ecx, eax
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x190], ebx
mov ebx, dword [esi + 0x14]
xor eax, ebx
add ecx, eax
mov dword [ebp - 0x188], ebx
xor ecx, dword [ebp - 0xe8]
xor ecx, dword [ebp - 0xe0]
xor ecx, dword [esi + 4]
xor ecx, dword [esi + 0xc]
imul eax, edx, 0x801
mov ebx, dword [esi + 0x34]
mov dword [ebp - 0x184], ebx
add ecx, eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xc0], ecx
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x1a0], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xc4], edx
mov edx, dword [edi + 0x20]
xor edx, dword [ebp - 0x100]
xor edx, dword [ebp - 0xf4]
xor edx, dword [ebp - 0xd4]
xor edx, dword [ebp - 0xcc]
xor edx, eax
mov dword [ebp - 0x14c], ecx
xor edx, dword [esi + 0x28]
xor edx, ebx
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0x3c]
xor edx, ecx
mov ecx, dword [esi + 0x2c]
xor edx, 0xd728ae22
mov ebx, dword [esi + 0x30]
mov dword [ebp - 0x18c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 0xd0]
xor ecx, eax
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x104]
xor eax, ebx
mov dword [ebp - 0x19c], ebx
add ecx, eax
imul eax, edx, 0x801
xor ecx, dword [edi + 0x24]
xor ecx, dword [ebp - 0xf0]
xor ecx, dword [ebp - 0xc8]
xor ecx, dword [esi + 0x24]
xor ecx, dword [esi + 0x2c]
xor ecx, 0x428a2f98
add ecx, eax
mov dword [ebp - 0xb8], ecx
shr ecx, 7
lea esi, [ebp - 0xf4]
xor edx, ecx
mov ebx, 0x16
mov dword [ebp - 0xbc], edx
lea ebx, [ebx]
mov edx, dword [esi + 0x34]
lea esi, [esi + 8]
xor edx, dword [esi + 0x20]
xor edx, dword [esi - 0x18]
xor edx, dword [esi - 8]
mov ecx, dword [esi + 0x28]
add ecx, dword [esi + 0x24]
xor ecx, dword [esi - 0x14]
xor ecx, dword [esi - 4]
imul eax, edx, 0x801
add eax, ecx
mov dword [esi + 0x3c], eax
shr eax, 7
xor eax, edx
mov dword [esi + 0x38], eax
dec ebx
jne 0x1016c670
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov esi, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x124], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp + 0xc]
dec eax
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1b4], edx
cmp eax, 3
ja 0x1016c71b
mov eax, dword [ebp - 0x104]
xor dword [ebp - 0x124], eax
xor ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
xor dword [ebp - 0x120], eax
mov edi, dword [ebp - 0x128]
mov eax, dword [ebx]
xor edi, eax
xor esi, dword [ebp - 0xf8]
xor edx, edi
mov dword [ebp - 0x160], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x108]
xor eax, dword [ebx + 4]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x144]
xor ecx, eax
mov dword [ebp - 0x108], eax
imul eax, edx, 0x8001
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x128], edi
add ecx, eax
mov eax, ecx
mov dword [ebp - 0x110], ecx
shr eax, 0xb
xor eax, ecx
mov ecx, dword [ebp - 0x118]
xor edx, eax
mov esi, ecx
mov eax, dword [ebp - 0x124]
not esi
not eax
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x10c]
and esi, edi
xor esi, eax
not edi
and edi, eax
not edx
mov eax, dword [ebp - 0x120]
xor edi, ecx
and ecx, dword [ebp - 0x124]
not eax
xor ecx, dword [ebp - 0x128]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x108]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x10c]
xor ecx, eax
and eax, dword [ebp - 0x120]
xor eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x114]
add eax, esi
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x110]
add edx, eax
mov dword [ebp - 0x130], edx
add eax, esi
imul edx, edi, 0x8001
add edx, ecx
mov ecx, edx
mov dword [ebp - 0x128], edx
shr ecx, 0xb
xor ecx, edi
xor ecx, edx
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x114]
add ecx, edx
cmp dword [ebp + 0xc], 2
jl 0x1016c85b
mov edi, dword [ebp - 0xf4]
xor dword [ebp - 0x124], edi
xor eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
xor dword [ebp - 0x128], edi
mov edi, dword [ebx + 8]
xor edx, edi
xor ecx, dword [ebp - 0xec]
mov dword [ebp - 0x15c], edi
mov edi, dword [ebx + 0xc]
xor esi, edi
mov dword [ebp - 0x158], edi
mov edi, dword [ebp - 0x108]
xor edi, edx
mov dword [ebp - 0x110], eax
imul eax, edi, 0x8001
mov dword [ebp - 0x10c], esi
xor esi, dword [ebp - 0x130]
add esi, eax
mov eax, esi
mov dword [ebp - 0x118], esi
shr eax, 0xb
xor eax, esi
mov esi, ecx
xor edi, eax
not esi
mov eax, dword [ebp - 0x124]
and esi, edx
mov dword [ebp - 0x108], edi
not eax
mov ebx, dword [ebp - 0x108]
mov edi, edx
not edi
xor esi, eax
and edi, eax
add ebx, esi
mov eax, dword [ebp - 0x128]
xor edi, ecx
and ecx, dword [ebp - 0x124]
not eax
xor ecx, edx
imul esi, edi, 0x8001
mov edx, dword [ebp - 0x110]
not edx
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x10c]
and edx, ecx
xor edx, eax
not ecx
add edx, dword [ebp - 0x118]
and ecx, eax
mov eax, dword [ebp - 0x110]
xor ecx, eax
and eax, dword [ebp - 0x128]
add esi, ecx
xor eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x114]
add dword [ebp - 0x108], ecx
mov dword [ebp - 0x130], edx
mov edx, esi
shr edx, 0xb
xor edx, edi
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x118]
xor edx, esi
mov ebx, dword [ebp - 0x134]
add edi, eax
cmp dword [ebp + 0xc], 3
jl 0x1016c969
xor edx, dword [ebp - 0xe4]
xor esi, dword [ebp - 0xe0]
xor edi, dword [ebp - 0xd8]
mov dword [ebp - 0x11c], esi
mov esi, dword [ebx + 0x10]
xor ecx, esi
mov ebx, dword [ebx + 0x14]
xor eax, ebx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x154], esi
mov esi, dword [ebp - 0x10c]
xor esi, ecx
mov dword [ebp - 0x140], ebx
mov ebx, dword [ebp - 0xdc]
xor dword [ebp - 0x108], ebx
mov ebx, eax
xor ebx, dword [ebp - 0x130]
imul eax, esi, 0x8001
mov dword [ebp - 0x118], edi
mov edi, ecx
not edi
add ebx, eax
mov eax, ebx
mov dword [ebp - 0x114], ebx
shr eax, 0xb
xor eax, ebx
mov ebx, dword [ebp - 0x108]
xor esi, eax
mov eax, edx
and edx, ebx
mov dword [ebp - 0x10c], esi
xor edx, ecx
not eax
and edi, eax
mov dword [ebp - 0x124], edx
mov edx, dword [ebp - 0x118]
mov esi, ebx
xor edi, ebx
not esi
mov ebx, dword [ebp - 0x110]
and esi, ecx
xor esi, eax
not edx
mov eax, dword [ebp - 0x11c]
and edx, ebx
add esi, dword [ebp - 0x10c]
not eax
xor edx, eax
mov ecx, ebx
not ecx
and ecx, eax
mov eax, dword [ebp - 0x11c]
and eax, dword [ebp - 0x118]
xor ecx, dword [ebp - 0x118]
xor eax, ebx
mov ebx, dword [ebp - 0x114]
add ebx, edx
mov dword [ebp - 0x11c], eax
imul edx, edi, 0x8001
add edx, ecx
mov ecx, dword [ebp - 0x114]
add ecx, dword [ebp - 0x11c]
mov eax, edx
shr eax, 0xb
xor eax, edi
mov dword [ebp - 0x114], ecx
mov edi, dword [ebp - 0x124]
xor eax, edx
add dword [ebp - 0x10c], edi
cmp dword [ebp + 0xc], 4
jl 0x1016ca7d
xor eax, dword [ebp - 0xd4]
xor edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x108], edx
mov edx, dword [ecx + 0x18]
xor edi, edx
xor esi, edi
mov dword [ebp - 0x168], edx
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x11c]
xor ecx, edx
mov dword [ebp - 0x130], edx
xor ebx, ecx
mov edx, dword [ebp - 0xcc]
xor dword [ebp - 0x10c], edx
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0xc8]
xor dword [ebp - 0x114], edx
imul ecx, esi, 0x8001
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x124], edi
mov edi, dword [ebp - 0x10c]
not edi
add ebx, ecx
mov ecx, ebx
mov dword [ebp - 0x118], ebx
shr ecx, 0xb
xor ecx, ebx
xor esi, ecx
mov ecx, eax
and eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], esi
mov esi, dword [ebp - 0x124]
and edi, esi
xor edi, ecx
mov ebx, esi
xor eax, esi
not ebx
mov esi, dword [ebp - 0x114]
and ebx, ecx
mov ecx, dword [ebp - 0x108]
not esi
xor ebx, dword [ebp - 0x10c]
not ecx
and esi, edx
not edx
xor esi, ecx
and edx, ecx
mov ecx, dword [ebp - 0x108]
and ecx, dword [ebp - 0x114]
xor ecx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x110]
add ecx, edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
lea ecx, [esi + edi]
mov dword [ebp - 0x114], ecx
imul ecx, ebx, 0x8001
add ecx, edx
mov edx, dword [ebp - 0x110]
mov esi, ecx
mov dword [ebp - 0x10c], ecx
shr esi, 0xb
add edx, eax
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor esi, ecx
add edi, ebx
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffffb
cmp ecx, 3
ja 0x1016d428
xor eax, dword [ebp - 0x160]
xor edi, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x100]
xor dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x11c]
xor ebx, dword [ebp - 0x148]
xor ecx, eax
xor esi, dword [ebp - 0x104]
xor edx, dword [ebp - 0xfc]
mov dword [ebp - 0x11c], ecx
imul ecx, ecx, 0x8001
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x114]
xor edi, ebx
mov dword [ebp - 0x120], esi
add edi, ecx
mov ecx, edi
mov dword [ebp - 0x114], edi
shr ecx, 0xb
xor ecx, edi
mov edi, eax
xor dword [ebp - 0x11c], ecx
not edi
mov ecx, esi
mov esi, edx
not ecx
not esi
and edi, ecx
and esi, eax
xor edi, edx
xor esi, ecx
and edx, dword [ebp - 0x120]
mov ecx, ebx
xor edx, eax
add esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], edx
not eax
mov edx, dword [ebp - 0x118]
and ecx, eax
not edx
and edx, ebx
xor edx, eax
mov eax, dword [ebp - 0x118]
xor ecx, eax
and eax, dword [ebp - 0x10c]
xor eax, ebx
imul ebx, edi, 0x8001
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
add eax, edx
mov edx, dword [ebp - 0x118]
add dword [ebp - 0x114], edx
xor edx, dword [ebp - 0x158]
add ebx, ecx
mov ecx, dword [ebp - 0x110]
add dword [ebp - 0x11c], ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, dword [ebp - 0xf4]
xor ecx, edi
mov dword [ebp - 0x118], edx
mov edi, dword [ebp - 0x110]
xor edx, eax
xor edi, dword [ebp - 0x15c]
xor ecx, ebx
xor ebx, dword [ebp - 0xf0]
xor esi, edi
imul eax, esi, 0x8001
mov dword [ebp - 0x12c], ebx
mov ebx, dword [ebp - 0xec]
xor dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0xe8]
xor dword [ebp - 0x114], ebx
add edx, eax
mov eax, edx
mov dword [ebp - 0x110], edi
shr eax, 0xb
mov dword [ebp - 0x10c], edx
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor esi, eax
mov dword [ebp - 0x120], esi
mov eax, ecx
mov esi, edx
not eax
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
xor edi, edx
mov eax, dword [ebp - 0x12c]
and edx, ecx
not eax
xor edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebp - 0x114]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x114]
xor ecx, eax
and eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x120]
add eax, esi
mov esi, dword [ebp - 0x120]
add esi, dword [ebp - 0x11c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x10c]
add eax, edx
xor esi, dword [ebp - 0xdc]
imul edx, edi, 0x8001
mov dword [ebp - 0x120], esi
not esi
add edx, ecx
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x114]
mov ebx, edx
shr ebx, 0xb
xor ebx, edi
xor ecx, dword [ebp - 0xd8]
xor ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x128]
xor ebx, edx
xor edx, dword [ebp - 0xe0]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x154]
xor dword [ebp - 0x11c], edx
xor edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
xor edx, dword [ebp - 0x140]
mov dword [ebp - 0x114], edx
xor edx, eax
imul eax, edi, 0x8001
mov dword [ebp - 0x10c], ecx
add edx, eax
mov eax, edx
mov dword [ebp - 0x124], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor edi, eax
and esi, edx
mov dword [ebp - 0x128], edi
mov eax, ebx
and ebx, dword [ebp - 0x120]
not eax
mov edi, edx
xor esi, eax
not edi
and edi, eax
mov eax, dword [ebp - 0x110]
xor edi, dword [ebp - 0x120]
not eax
xor ebx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x114]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x10c]
xor ecx, eax
and dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x114]
xor dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x128]
add eax, esi
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x124]
lea esi, [edx + eax]
add eax, dword [ebp - 0x110]
xor eax, dword [ebp - 0xc8]
imul edx, edi, 0x8001
mov dword [ebp - 0x124], eax
add edx, ecx
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x10c], edx
add ecx, ebx
shr dword [ebp - 0x10c], 0xb
xor ebx, dword [ebp - 0x168]
xor ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0xd4]
xor dword [ebp - 0x10c], edx
xor dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x108]
xor dword [ebp - 0x10c], edi
xor edi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x110]
xor edx, dword [ebp - 0x130]
mov dword [ebp - 0x108], edi
xor esi, edx
mov edi, dword [ebp - 0x118]
xor edi, ebx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x10c]
imul eax, edi, 0x8001
add esi, eax
mov eax, esi
mov dword [ebp - 0x114], esi
shr eax, 0xb
xor eax, esi
mov esi, ecx
xor edi, eax
not esi
mov eax, edx
mov dword [ebp - 0x118], edi
and edx, ecx
not eax
xor edx, ebx
mov edi, ebx
and esi, ebx
mov dword [ebp - 0x10c], edx
mov ebx, dword [ebp - 0x124]
xor esi, eax
not edi
mov edx, ebx
and edi, eax
not edx
mov eax, dword [ebp - 0x108]
xor edi, ecx
mov ecx, dword [ebp - 0x110]
not eax
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x108]
xor ecx, ebx
and eax, ebx
xor eax, dword [ebp - 0x110]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x114]
imul ebx, edi, 0x8001
add edx, eax
add eax, dword [ebp - 0x108]
add ebx, ecx
mov ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x120], ebx
shr ebx, 0xb
xor ebx, edi
mov edi, dword [ebp + 0xc]
xor ebx, dword [ebp - 0x120]
add edi, 0xfffffffc
mov dword [ebp - 0x12c], edi
cmp edi, 1
mov edi, dword [ebp - 0x10c]
mov dword [ebp - 0x124], ebx
jl 0x1016cfe1
xor ebx, dword [ebp - 0xc4]
mov dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0xc0]
xor dword [ebp - 0x120], ebx
mov ebx, dword [ebp - 0x134]
xor eax, dword [ebp - 0xb8]
xor ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x114], eax
xor edi, dword [ebx + 0x20]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x108]
xor edi, dword [ebx + 0x24]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x10c]
xor esi, edi
xor edx, dword [ebp - 0x108]
imul eax, esi, 0x8001
add edx, eax
mov eax, edx
mov dword [ebp - 0x110], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x114]
xor esi, eax
not edx
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x128], esi
not eax
mov esi, ecx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
mov eax, dword [ebp - 0x120]
xor edi, ecx
and ecx, dword [ebp - 0x124]
not eax
xor ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x108]
and edx, ecx
xor edx, eax
add esi, dword [ebp - 0x128]
not ecx
and ecx, eax
mov eax, dword [ebp - 0x114]
xor ecx, eax
and eax, dword [ebp - 0x120]
xor eax, dword [ebp - 0x108]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x110]
add edx, eax
mov dword [ebp - 0x120], edx
imul edx, edi, 0x8001
add edx, ecx
mov ecx, edx
mov dword [ebp - 0x10c], edx
shr ecx, 0xb
xor ecx, edi
xor ecx, edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x124], ecx
add eax, edx
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x12c], 2
jl 0x1016d108
mov ebx, dword [ebp - 0xb4]
xor dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0x134]
xor eax, dword [ebp - 0xa8]
xor edx, dword [ebx + 0x2c]
mov edi, dword [ebp - 0xb0]
xor dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x118]
xor edi, dword [ebx + 0x28]
xor ecx, dword [ebp - 0xac]
xor esi, edi
mov dword [ebp - 0x110], eax
imul eax, esi, 0x8001
mov dword [ebp - 0x114], edx
xor edx, dword [ebp - 0x120]
mov dword [ebp - 0x118], edi
mov ebx, dword [ebp - 0x134]
add edx, eax
mov eax, edx
mov dword [ebp - 0x120], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x110]
xor esi, eax
not edx
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x108], esi
not eax
mov esi, ecx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
mov eax, dword [ebp - 0x10c]
xor edi, ecx
and ecx, dword [ebp - 0x124]
not eax
xor ecx, dword [ebp - 0x118]
add esi, dword [ebp - 0x108]
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x114]
and edx, ecx
xor edx, eax
not ecx
add edx, dword [ebp - 0x120]
and ecx, eax
mov eax, dword [ebp - 0x110]
xor ecx, eax
and eax, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x114]
mov dword [ebp - 0x10c], esi
imul esi, edi, 0x8001
mov dword [ebp - 0x124], edx
add esi, ecx
mov ecx, dword [ebp - 0x128]
add dword [ebp - 0x108], ecx
mov edx, esi
shr edx, 0xb
xor edx, edi
mov edi, dword [ebp - 0x120]
xor edx, esi
add edi, eax
cmp dword [ebp - 0x12c], 3
jl 0x1016d20f
xor edx, dword [ebp - 0xa4]
xor eax, dword [ebx + 0x34]
xor ecx, dword [ebx + 0x30]
mov ebx, eax
xor esi, dword [ebp - 0xa0]
xor ebx, dword [ebp - 0x124]
xor edi, dword [ebp - 0x98]
mov dword [ebp - 0x11c], esi
mov esi, dword [ebp - 0x9c]
xor dword [ebp - 0x108], esi
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x110], eax
xor esi, ecx
imul eax, esi, 0x8001
mov dword [ebp - 0x120], edi
mov edi, ecx
not edi
add ebx, eax
mov eax, ebx
mov dword [ebp - 0x114], ebx
shr eax, 0xb
xor eax, ebx
mov ebx, dword [ebp - 0x108]
xor esi, eax
mov eax, edx
and edx, ebx
mov dword [ebp - 0x10c], esi
xor edx, ecx
not eax
and edi, eax
mov dword [ebp - 0x124], edx
mov edx, dword [ebp - 0x120]
mov esi, ebx
xor edi, ebx
not esi
mov ebx, dword [ebp - 0x110]
and esi, ecx
xor esi, eax
not edx
mov eax, dword [ebp - 0x11c]
and edx, ebx
add esi, dword [ebp - 0x10c]
not eax
xor edx, eax
mov ecx, ebx
not ecx
and ecx, eax
mov eax, dword [ebp - 0x11c]
and eax, dword [ebp - 0x120]
xor ecx, dword [ebp - 0x120]
xor eax, ebx
mov ebx, dword [ebp - 0x114]
add ebx, edx
mov dword [ebp - 0x11c], eax
imul edx, edi, 0x8001
add edx, ecx
mov ecx, dword [ebp - 0x114]
add ecx, dword [ebp - 0x11c]
mov eax, edx
shr eax, 0xb
xor eax, edi
mov dword [ebp - 0x114], ecx
mov edi, dword [ebp - 0x124]
xor eax, edx
add dword [ebp - 0x10c], edi
cmp dword [ebp - 0x12c], 4
jl 0x1016d316
xor eax, dword [ebp - 0x94]
xor edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x138]
xor edi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x11c]
xor esi, edi
xor ecx, dword [edx]
xor ebx, ecx
mov edx, dword [ebp - 0x8c]
xor dword [ebp - 0x10c], edx
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x88]
xor dword [ebp - 0x114], edx
imul ecx, esi, 0x8001
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x124], edi
mov edi, dword [ebp - 0x10c]
not edi
add ebx, ecx
mov ecx, ebx
mov dword [ebp - 0x118], ebx
shr ecx, 0xb
xor ecx, ebx
xor esi, ecx
mov ecx, eax
and eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], esi
mov esi, dword [ebp - 0x124]
and edi, esi
mov ebx, esi
xor eax, esi
mov esi, dword [ebp - 0x114]
xor edi, ecx
not esi
not ebx
and ebx, ecx
and esi, edx
mov ecx, dword [ebp - 0x108]
not edx
xor ebx, dword [ebp - 0x10c]
not ecx
xor esi, ecx
and edx, ecx
mov ecx, dword [ebp - 0x108]
and ecx, dword [ebp - 0x114]
xor ecx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x110]
add ecx, edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
lea ecx, [esi + edi]
mov dword [ebp - 0x114], ecx
imul ecx, ebx, 0x8001
add ecx, edx
mov edx, dword [ebp - 0x110]
mov esi, ecx
mov dword [ebp - 0x10c], ecx
shr esi, 0xb
add edx, eax
xor esi, ebx
mov ebx, dword [ebp - 0x108]
xor esi, ecx
add edi, ebx
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff7
cmp ecx, 3
ja 0x1016e085
xor eax, dword [ebp - 0x160]
xor edi, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x100]
xor dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x11c]
xor ebx, dword [ebp - 0x148]
xor ecx, eax
xor esi, dword [ebp - 0x104]
xor edx, dword [ebp - 0xfc]
mov dword [ebp - 0x11c], ecx
imul ecx, ecx, 0x8001
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x114]
xor edi, ebx
mov dword [ebp - 0x120], esi
add edi, ecx
mov ecx, edi
mov dword [ebp - 0x114], edi
shr ecx, 0xb
xor ecx, edi
mov edi, eax
xor dword [ebp - 0x11c], ecx
not edi
mov ecx, esi
mov esi, edx
not ecx
not esi
and edi, ecx
and esi, eax
xor edi, edx
xor esi, ecx
and edx, dword [ebp - 0x120]
mov ecx, ebx
xor edx, eax
add esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], edx
not eax
mov edx, dword [ebp - 0x118]
and ecx, eax
not edx
and edx, ebx
xor edx, eax
mov eax, dword [ebp - 0x118]
xor ecx, eax
and eax, dword [ebp - 0x10c]
xor eax, ebx
imul ebx, edi, 0x8001
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
add eax, edx
mov edx, dword [ebp - 0x118]
add dword [ebp - 0x114], edx
xor edx, dword [ebp - 0x158]
add ebx, ecx
mov ecx, dword [ebp - 0x110]
add dword [ebp - 0x11c], ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, dword [ebp - 0xf4]
xor ecx, edi
mov dword [ebp - 0x118], edx
mov edi, dword [ebp - 0x110]
xor edx, eax
xor edi, dword [ebp - 0x15c]
xor ecx, ebx
xor ebx, dword [ebp - 0xf0]
xor esi, edi
imul eax, esi, 0x8001
mov dword [ebp - 0x12c], ebx
mov ebx, dword [ebp - 0xec]
xor dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0xe8]
xor dword [ebp - 0x114], ebx
add edx, eax
mov eax, edx
mov dword [ebp - 0x110], edi
shr eax, 0xb
mov dword [ebp - 0x120], edx
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor esi, eax
mov dword [ebp - 0x128], esi
mov eax, ecx
mov esi, edx
not eax
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
mov eax, dword [ebp - 0x12c]
xor edi, edx
and edx, ecx
not eax
xor edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebp - 0x114]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x114]
xor ecx, eax
and eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x128]
add eax, esi
mov esi, dword [ebp - 0x128]
add esi, dword [ebp - 0x11c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x120]
add eax, edx
xor esi, dword [ebp - 0xdc]
imul edx, edi, 0x8001
mov dword [ebp - 0x128], esi
not esi
add edx, ecx
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x114]
mov ebx, edx
shr ebx, 0xb
xor ebx, edi
xor ecx, dword [ebp - 0xd8]
xor ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x118]
xor ebx, edx
xor edx, dword [ebp - 0xe0]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x154]
xor dword [ebp - 0x11c], edx
xor edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
xor edx, dword [ebp - 0x140]
mov dword [ebp - 0x114], edx
xor edx, eax
imul eax, edi, 0x8001
mov dword [ebp - 0x120], ecx
add edx, eax
mov eax, edx
mov dword [ebp - 0x12c], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor edi, eax
and esi, edx
mov dword [ebp - 0x118], edi
mov eax, ebx
and ebx, dword [ebp - 0x128]
not eax
mov edi, edx
xor esi, eax
not edi
and edi, eax
mov eax, dword [ebp - 0x108]
xor edi, dword [ebp - 0x128]
not eax
xor ebx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x114]
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x120]
xor ecx, eax
and dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x114]
xor dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x118]
add eax, esi
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x12c]
add edx, eax
mov dword [ebp - 0x110], edx
add eax, esi
xor eax, dword [ebp - 0xc8]
xor esi, dword [ebp - 0x130]
xor dword [ebp - 0x110], esi
imul edx, edi, 0x8001
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x108], esi
mov esi, dword [ebp - 0x110]
add edx, ecx
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
shr ecx, 0xb
add edx, ebx
xor ecx, dword [ebp - 0xd4]
xor ebx, dword [ebp - 0x168]
xor ecx, edi
mov edi, dword [ebp - 0x114]
xor ecx, edi
xor edi, dword [ebp - 0xd0]
xor edx, dword [ebp - 0xcc]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x10c]
xor edi, ebx
imul eax, edi, 0x8001
add esi, eax
mov eax, esi
mov dword [ebp - 0x110], esi
shr eax, 0xb
xor eax, esi
mov esi, edx
xor edi, eax
not esi
mov eax, ecx
mov dword [ebp - 0x10c], edi
and ecx, edx
not eax
mov edi, ebx
xor ecx, ebx
not edi
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x108]
and edi, eax
and esi, ebx
xor edi, edx
mov ebx, dword [ebp - 0x12c]
xor esi, eax
mov eax, dword [ebp - 0x114]
mov edx, ebx
not eax
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x114]
xor ecx, ebx
and eax, ebx
mov ebx, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x108]
add ebx, esi
mov dword [ebp - 0x118], ebx
add edx, dword [ebp - 0x110]
add dword [ebp - 0x110], eax
mov esi, dword [ebp - 0x10c]
imul ebx, edi, 0x8001
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x124]
add esi, edx
xor esi, dword [ebp - 0xbc]
mov dword [ebp - 0x10c], esi
not esi
add ebx, ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, edi
mov edi, dword [ebp - 0x134]
xor ecx, dword [ebp - 0xc4]
xor ecx, ebx
xor ebx, dword [ebp - 0xc0]
xor eax, dword [edi + 0x24]
xor edx, dword [edi + 0x20]
xor dword [ebp - 0x108], eax
and esi, edx
mov edi, dword [ebp - 0xb8]
xor dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
xor edi, edx
imul eax, edi, 0x8001
add dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
shr eax, 0xb
xor eax, dword [ebp - 0x108]
xor edi, eax
mov eax, ecx
mov dword [ebp - 0x118], edi
not eax
xor esi, eax
mov edi, edx
not edi
add esi, dword [ebp - 0x118]
and edi, eax
mov eax, dword [ebp - 0x10c]
xor edi, eax
and eax, ecx
mov ecx, dword [ebp - 0x114]
xor eax, edx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
not edx
and edx, ecx
mov eax, ebx
not ecx
not eax
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x110]
xor ecx, eax
and eax, ebx
imul ebx, edi, 0x8001
xor eax, dword [ebp - 0x114]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x108]
add eax, edx
mov edx, dword [ebp - 0x118]
add edx, dword [ebp - 0x10c]
add ebx, ecx
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x108], ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, dword [ebp - 0xb4]
xor ecx, edi
mov edi, dword [ebp - 0x10c]
xor ecx, ebx
xor ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x12c], ebx
mov ebx, dword [ebp - 0x134]
xor edi, dword [ebx + 0x28]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x110]
xor edx, dword [ebp - 0xac]
xor edi, dword [ebx + 0x2c]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0xa8]
xor dword [ebp - 0x108], edx
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x10c]
xor esi, edi
mov edx, dword [ebp - 0x110]
xor edx, eax
imul eax, esi, 0x8001
add edx, eax
mov eax, edx
mov dword [ebp - 0x120], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x118]
xor esi, eax
mov eax, ecx
mov dword [ebp - 0x128], esi
not eax
mov esi, edx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
mov eax, dword [ebp - 0x12c]
xor edi, edx
and edx, ecx
not eax
xor edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x108]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x108]
xor ecx, eax
and eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x128]
add eax, esi
mov esi, dword [ebp - 0x128]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x120]
add eax, edx
xor esi, dword [ebp - 0x9c]
imul edx, edi, 0x8001
mov dword [ebp - 0x128], esi
add edx, ecx
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x108]
mov ebx, edx
shr ebx, 0xb
xor ebx, dword [ebp - 0xa4]
xor ebx, edi
xor ecx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x134]
xor ebx, edx
xor edx, dword [ebp - 0xa0]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x118]
xor edx, dword [edi + 0x30]
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x120], ecx
xor edi, dword [edx + 0x34]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x114]
xor edi, dword [ebp - 0x118]
mov edx, dword [ebp - 0x108]
xor edx, eax
imul eax, edi, 0x8001
add edx, eax
mov eax, edx
mov dword [ebp - 0x12c], edx
shr eax, 0xb
not esi
xor eax, edx
mov edx, dword [ebp - 0x118]
xor edi, eax
and esi, edx
mov dword [ebp - 0x114], edi
mov eax, ebx
and ebx, dword [ebp - 0x128]
not eax
xor esi, eax
xor ebx, edx
mov edi, edx
mov edx, ecx
mov ecx, dword [ebp - 0x108]
not edi
and edi, eax
not edx
mov eax, dword [ebp - 0x110]
and edx, ecx
xor edi, dword [ebp - 0x128]
not eax
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x110], eax
xor ecx, eax
mov eax, dword [ebp - 0x108]
xor dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x114]
add eax, esi
imul esi, edi, 0x8001
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x12c]
add edx, eax
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x110]
add eax, edx
xor eax, dword [ebp - 0x88]
add esi, ecx
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x108], esi
add ecx, ebx
shr esi, 0xb
xor esi, dword [ebp - 0x94]
xor esi, edi
xor ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x108]
xor esi, edi
xor edi, dword [ebp - 0x90]
mov dword [ebp - 0x118], esi
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0x12c], eax
xor ebx, dword [esi + 0x38]
mov esi, dword [ebp - 0x138]
xor edi, ebx
imul eax, edi, 0x8001
xor edx, dword [esi]
mov esi, dword [ebp - 0x10c]
xor esi, edx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x118]
add esi, eax
mov eax, esi
mov dword [ebp - 0x10c], esi
shr eax, 0xb
xor eax, esi
mov esi, ecx
xor edi, eax
not esi
mov eax, edx
mov dword [ebp - 0x120], edi
not eax
and esi, ebx
xor esi, eax
mov edi, ebx
and edx, ecx
add esi, dword [ebp - 0x120]
xor edx, ebx
not edi
mov ebx, dword [ebp - 0x12c]
and edi, eax
mov eax, dword [ebp - 0x108]
xor edi, ecx
mov ecx, dword [ebp - 0x110]
not eax
mov dword [ebp - 0x118], edx
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x108]
xor ecx, ebx
and eax, ebx
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x10c]
lea ebx, [edx + eax]
imul edx, edi, 0x8001
add edx, ecx
mov ecx, edx
mov dword [ebp - 0x110], edx
shr ecx, 0xb
xor ecx, edi
mov edi, dword [ebp - 0x108]
xor ecx, edx
add eax, edi
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x128], ecx
add edx, 0xfffffff8
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x118]
mov dword [ebp - 0x124], edx
cmp edx, 1
jl 0x1016dc96
mov edi, dword [ebp - 0x170]
xor dword [ebp - 0x128], edi
mov edi, dword [ebp - 0x108]
xor eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x16c]
xor dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x118]
xor edx, dword [ebp - 0x84]
xor edi, dword [ebp - 0x80]
xor esi, edx
xor ecx, dword [ebp - 0x174]
xor ebx, edi
mov dword [ebp - 0x10c], eax
imul eax, esi, 0x8001
mov dword [ebp - 0x108], edi
mov edi, edx
not edi
add ebx, eax
mov eax, ebx
shr eax, 0xb
xor eax, ebx
xor esi, eax
mov eax, dword [ebp - 0x128]
not eax
mov dword [ebp - 0x118], esi
and edi, eax
mov esi, ecx
xor edi, ecx
not esi
and ecx, dword [ebp - 0x128]
and esi, edx
xor esi, eax
xor ecx, edx
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
not edx
not eax
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x108]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x10c]
xor ecx, eax
and eax, dword [ebp - 0x110]
xor eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x118]
add eax, esi
mov dword [ebp - 0x108], eax
lea eax, [edx + ebx]
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x110], eax
imul eax, edi, 0x8001
add eax, ecx
mov ecx, dword [ebp - 0x118]
mov esi, eax
mov dword [ebp - 0x128], eax
shr esi, 0xb
add ecx, edx
xor esi, edi
xor esi, eax
mov eax, dword [ebp - 0x10c]
add ebx, eax
mov dword [ebp - 0x12c], esi
cmp dword [ebp - 0x124], 2
jl 0x1016dda1
xor esi, dword [ebp - 0x194]
mov dword [ebp - 0x12c], esi
xor eax, dword [ebp - 0x78]
xor edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x188]
xor edi, edx
xor dword [ebp - 0x128], esi
mov esi, eax
xor esi, dword [ebp - 0x110]
xor ecx, dword [ebp - 0x178]
mov dword [ebp - 0x10c], eax
xor ebx, dword [ebp - 0x190]
imul eax, edi, 0x8001
add esi, eax
mov eax, esi
mov dword [ebp - 0x120], esi
shr eax, 0xb
xor eax, esi
mov esi, ecx
xor edi, eax
not esi
mov eax, dword [ebp - 0x12c]
and esi, edx
mov dword [ebp - 0x108], edi
not eax
mov edi, edx
xor esi, eax
not edi
and edi, eax
mov eax, dword [ebp - 0x128]
xor edi, ecx
not eax
and ecx, dword [ebp - 0x12c]
xor ecx, edx
mov edx, ebx
not edx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x10c]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x108]
add eax, esi
xor ecx, ebx
mov esi, dword [ebp - 0x120]
and ebx, dword [ebp - 0x128]
xor ebx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
lea eax, [edx + esi]
add esi, ebx
mov dword [ebp - 0x12c], eax
imul eax, edi, 0x8001
add eax, ecx
mov ecx, dword [ebp - 0x118]
mov edx, eax
shr edx, 0xb
xor edx, edi
mov edi, dword [ebp - 0x108]
xor edx, eax
add edi, ecx
cmp dword [ebp - 0x124], 3
jl 0x1016de8d
xor edx, dword [ebp - 0x180]
xor eax, dword [ebp - 0x198]
xor edi, dword [ebp - 0x1a0]
xor ecx, dword [ebp - 0x74]
xor esi, dword [ebp - 0x18c]
xor ebx, dword [ebp - 0x70]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x10c]
xor edi, ecx
mov dword [ebp - 0x120], esi
imul eax, edi, 0x8001
mov esi, ebx
xor esi, dword [ebp - 0x12c]
add esi, eax
mov eax, esi
mov dword [ebp - 0x114], esi
shr eax, 0xb
xor eax, esi
mov esi, dword [ebp - 0x108]
xor edi, eax
not esi
mov eax, edx
mov dword [ebp - 0x10c], edi
and edx, dword [ebp - 0x108]
not eax
xor edx, ecx
and esi, ecx
xor esi, eax
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x120]
mov edi, ecx
add esi, dword [ebp - 0x10c]
not edi
and edi, eax
not edx
mov eax, dword [ebp - 0x11c]
and edx, ebx
xor edi, dword [ebp - 0x108]
not eax
xor edx, eax
mov ecx, ebx
not ecx
and ecx, eax
mov eax, dword [ebp - 0x11c]
and eax, dword [ebp - 0x120]
xor ecx, dword [ebp - 0x120]
xor eax, ebx
mov ebx, dword [ebp - 0x114]
add ebx, edx
mov dword [ebp - 0x11c], eax
imul edx, edi, 0x8001
add edx, ecx
mov ecx, dword [ebp - 0x12c]
add dword [ebp - 0x10c], ecx
mov eax, edx
shr eax, 0xb
xor eax, edi
mov edi, dword [ebp - 0x11c]
add dword [ebp - 0x114], edi
xor eax, edx
cmp dword [ebp - 0x124], 4
jl 0x1016df88
xor eax, dword [ebp - 0x19c]
xor ecx, dword [ebp - 0x6c]
xor edi, dword [ebp - 0x68]
xor esi, ecx
xor edx, dword [ebp - 0x184]
xor ebx, edi
mov dword [ebp - 0x12c], ecx
imul ecx, esi, 0x8001
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x14c]
xor dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x13c]
xor dword [ebp - 0x114], edx
add ebx, ecx
mov ecx, ebx
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x11c]
not edi
shr ecx, 0xb
xor ecx, ebx
mov dword [ebp - 0x118], ebx
xor esi, ecx
mov ecx, eax
and eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], esi
mov esi, dword [ebp - 0x12c]
and edi, esi
mov ebx, esi
xor eax, esi
mov esi, dword [ebp - 0x114]
xor edi, ecx
not esi
not ebx
and ebx, ecx
and esi, edx
mov ecx, dword [ebp - 0x108]
not edx
xor ebx, dword [ebp - 0x10c]
not ecx
xor esi, ecx
and edx, ecx
mov ecx, dword [ebp - 0x108]
and ecx, dword [ebp - 0x114]
xor ecx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x110]
add ecx, edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
lea ecx, [esi + edi]
imul esi, ebx, 0x8001
add esi, edx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], esi
add edx, eax
shr esi, 0xb
xor esi, ebx
xor esi, dword [ebp - 0x10c]
add edi, dword [ebp - 0x108]
jmp 0x1016e08b
mov ecx, dword [ebp - 0x114]
cmp dword [ebp + 0xc], 0xd
jl 0x1016f0ca
xor edi, dword [ebp - 0xf8]
xor eax, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x100]
xor dword [ebp - 0x10c], ebx
mov ebx, dword [ebp - 0x108]
xor ebx, dword [ebp - 0x148]
xor esi, dword [ebp - 0x104]
xor ecx, ebx
xor edx, dword [ebp - 0xfc]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x11c]
xor edi, eax
mov dword [ebp - 0x120], esi
imul ecx, edi, 0x8001
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x114]
add edi, ecx
mov ecx, edi
mov dword [ebp - 0x114], edi
shr ecx, 0xb
xor ecx, edi
mov edi, eax
xor dword [ebp - 0x11c], ecx
not edi
mov ecx, esi
mov esi, edx
not ecx
not esi
and edi, ecx
and esi, eax
xor edi, edx
xor esi, ecx
and edx, dword [ebp - 0x120]
mov ecx, ebx
xor edx, eax
add esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x10c]
not ecx
mov dword [ebp - 0x110], edx
not eax
mov edx, dword [ebp - 0x118]
and ecx, eax
not edx
and edx, ebx
xor edx, eax
mov eax, dword [ebp - 0x118]
xor ecx, eax
and eax, dword [ebp - 0x10c]
xor eax, ebx
imul ebx, edi, 0x8001
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x114]
add eax, edx
mov edx, dword [ebp - 0x118]
add dword [ebp - 0x114], edx
xor edx, dword [ebp - 0x158]
add ebx, ecx
mov ecx, dword [ebp - 0x110]
add dword [ebp - 0x11c], ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, edi
mov dword [ebp - 0x118], edx
mov edi, dword [ebp - 0x110]
xor edx, eax
xor edi, dword [ebp - 0x15c]
xor ecx, dword [ebp - 0xf4]
xor esi, edi
xor ecx, ebx
imul eax, esi, 0x8001
xor ebx, dword [ebp - 0xf0]
mov dword [ebp - 0x148], ebx
mov ebx, dword [ebp - 0xec]
xor dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0xe8]
xor dword [ebp - 0x114], ebx
add edx, eax
mov dword [ebp - 0x110], edi
mov eax, edx
mov dword [ebp - 0x120], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor esi, eax
mov eax, ecx
mov dword [ebp - 0x128], esi
not eax
mov esi, edx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
xor edi, edx
mov eax, dword [ebp - 0x148]
and edx, ecx
not eax
xor edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebp - 0x114]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x114]
xor ecx, eax
and eax, dword [ebp - 0x148]
xor eax, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x128]
add eax, esi
mov esi, dword [ebp - 0x128]
add esi, dword [ebp - 0x11c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x120]
add eax, edx
xor esi, dword [ebp - 0xdc]
imul edx, edi, 0x8001
mov dword [ebp - 0x128], esi
not esi
add edx, ecx
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x114]
mov ebx, edx
shr ebx, 0xb
xor ebx, edi
xor ecx, dword [ebp - 0xd8]
xor ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x118]
xor ebx, edx
xor edx, dword [ebp - 0xe0]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x154]
xor dword [ebp - 0x11c], edx
xor edi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
xor edx, dword [ebp - 0x140]
mov dword [ebp - 0x114], edx
xor edx, eax
imul eax, edi, 0x8001
mov dword [ebp - 0x120], ecx
add edx, eax
mov eax, edx
mov dword [ebp - 0x140], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x11c]
xor edi, eax
and esi, edx
mov dword [ebp - 0x118], edi
mov eax, ebx
and ebx, dword [ebp - 0x128]
mov edi, edx
not eax
not edi
and edi, eax
xor esi, eax
xor edi, dword [ebp - 0x128]
xor ebx, edx
mov eax, dword [ebp - 0x108]
mov edx, ecx
mov ecx, dword [ebp - 0x114]
not eax
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x120]
xor ecx, eax
and dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x114]
xor dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x118]
add eax, esi
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x140]
add edx, eax
mov dword [ebp - 0x110], edx
add eax, esi
xor eax, dword [ebp - 0xc8]
xor esi, dword [ebp - 0x130]
xor dword [ebp - 0x110], esi
imul edx, edi, 0x8001
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x108], esi
mov esi, dword [ebp - 0x110]
add edx, ecx
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
shr ecx, 0xb
add edx, ebx
xor ebx, dword [ebp - 0x168]
xor ecx, edi
xor ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x114]
xor ecx, edi
xor edi, dword [ebp - 0xd0]
xor edx, dword [ebp - 0xcc]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x10c]
xor edi, ebx
imul eax, edi, 0x8001
add esi, eax
mov eax, esi
mov dword [ebp - 0x110], esi
shr eax, 0xb
xor eax, esi
mov esi, edx
xor edi, eax
not esi
mov eax, ecx
mov dword [ebp - 0x10c], edi
and ecx, edx
not eax
mov edi, ebx
xor ecx, ebx
not edi
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x108]
and edi, eax
and esi, ebx
xor edi, edx
mov ebx, dword [ebp - 0x140]
xor esi, eax
mov eax, dword [ebp - 0x114]
mov edx, ebx
not eax
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x114]
xor ecx, ebx
and eax, ebx
mov ebx, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x108]
add edx, dword [ebp - 0x110]
add ebx, esi
add dword [ebp - 0x110], eax
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x118], ebx
imul ebx, edi, 0x8001
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x130]
add esi, edx
xor esi, dword [ebp - 0xbc]
mov dword [ebp - 0x10c], esi
not esi
add ebx, ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, edi
mov edi, dword [ebp - 0x134]
xor ecx, dword [ebp - 0xc4]
xor ecx, ebx
xor ebx, dword [ebp - 0xc0]
xor eax, dword [edi + 0x24]
xor edx, dword [edi + 0x20]
xor dword [ebp - 0x108], eax
and esi, edx
mov edi, dword [ebp - 0xb8]
xor dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
xor edi, edx
imul eax, edi, 0x8001
add dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
shr eax, 0xb
xor eax, dword [ebp - 0x108]
xor edi, eax
mov eax, ecx
not eax
mov dword [ebp - 0x118], edi
xor esi, eax
mov edi, edx
not edi
add esi, dword [ebp - 0x118]
and edi, eax
mov eax, dword [ebp - 0x10c]
xor edi, eax
and eax, ecx
mov ecx, dword [ebp - 0x114]
xor eax, edx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
not edx
and edx, ecx
mov eax, ebx
not ecx
not eax
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x110]
xor ecx, eax
and eax, ebx
imul ebx, edi, 0x8001
xor eax, dword [ebp - 0x114]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x108]
add eax, edx
mov edx, dword [ebp - 0x118]
add edx, dword [ebp - 0x10c]
add ebx, ecx
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x108], ecx
mov ecx, ebx
shr ecx, 0xb
xor ecx, dword [ebp - 0xb4]
xor ecx, edi
mov edi, dword [ebp - 0x10c]
xor ecx, ebx
xor ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x134]
xor edi, dword [ebx + 0x28]
xor edx, dword [ebp - 0xac]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0xa8]
xor dword [ebp - 0x108], edx
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x110]
xor edi, dword [ebx + 0x2c]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x10c]
xor esi, edi
mov edx, dword [ebp - 0x110]
xor edx, eax
imul eax, esi, 0x8001
add edx, eax
mov eax, edx
mov dword [ebp - 0x120], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x118]
xor esi, eax
mov eax, ecx
mov dword [ebp - 0x128], esi
not eax
mov esi, edx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
mov eax, dword [ebp - 0x130]
xor edi, edx
and edx, ecx
not eax
xor edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x108]
not edx
and edx, ecx
not ecx
xor edx, eax
and ecx, eax
mov eax, dword [ebp - 0x108]
xor ecx, eax
and eax, dword [ebp - 0x130]
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x128]
add eax, esi
mov esi, dword [ebp - 0x128]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x120]
add eax, edx
xor esi, dword [ebp - 0x9c]
imul edx, edi, 0x8001
mov dword [ebp - 0x128], esi
add edx, ecx
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x108]
mov ebx, edx
xor ecx, dword [ebp - 0x98]
shr ebx, 0xb
xor ebx, dword [ebp - 0xa4]
xor ebx, edi
mov dword [ebp - 0x120], ecx
mov edi, dword [ebp - 0x134]
xor ebx, edx
xor edx, dword [ebp - 0xa0]
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x118]
xor edx, dword [edi + 0x30]
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x134]
xor edi, dword [edx + 0x34]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x124]
mov edx, dword [ebp - 0x108]
xor edi, dword [ebp - 0x118]
xor edx, eax
imul eax, edi, 0x8001
not esi
add edx, eax
mov eax, edx
mov dword [ebp - 0x130], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x118]
xor edi, eax
and esi, edx
mov dword [ebp - 0x124], edi
mov eax, ebx
and ebx, dword [ebp - 0x128]
not eax
xor esi, eax
mov edi, edx
xor ebx, edx
not edi
and edi, eax
mov edx, ecx
mov eax, dword [ebp - 0x114]
not edx
mov ecx, dword [ebp - 0x108]
not eax
xor edi, dword [ebp - 0x128]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x114], eax
xor ecx, eax
mov eax, dword [ebp - 0x108]
xor dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x124]
add eax, esi
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x130]
add edx, eax
mov dword [ebp - 0x110], edx
add eax, esi
imul edx, edi, 0x8001
xor eax, dword [ebp - 0x88]
mov dword [ebp - 0x130], eax
add edx, ecx
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x124]
shr ecx, 0xb
add edx, ebx
xor ecx, dword [ebp - 0x94]
xor ecx, edi
xor edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x11c]
xor ecx, edi
xor edi, dword [ebp - 0x90]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x134]
xor ebx, dword [edi + 0x38]
mov edi, dword [ebp - 0x138]
xor esi, dword [edi]
mov edi, dword [ebp - 0x10c]
xor dword [ebp - 0x110], esi
xor edi, ebx
imul eax, edi, 0x8001
mov dword [ebp - 0x114], esi
mov esi, dword [ebp - 0x110]
add esi, eax
mov eax, esi
mov dword [ebp - 0x110], esi
shr eax, 0xb
xor eax, esi
mov esi, edx
xor edi, eax
not esi
mov eax, ecx
mov dword [ebp - 0x10c], edi
not eax
and esi, ebx
xor esi, eax
and ecx, edx
mov edi, ebx
xor ecx, ebx
not edi
mov ebx, dword [ebp - 0x130]
and edi, eax
mov eax, dword [ebp - 0x11c]
xor edi, edx
not eax
mov dword [ebp - 0x138], ecx
mov ecx, dword [ebp - 0x114]
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x11c]
xor ecx, ebx
add edx, dword [ebp - 0x110]
and eax, ebx
mov ebx, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x114]
add ebx, esi
add dword [ebp - 0x110], eax
xor eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x118], ebx
imul ebx, edi, 0x8001
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x108], edx
xor dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x138]
add esi, edx
xor edx, dword [ebp - 0x84]
add ebx, ecx
xor esi, dword [ebp - 0x174]
mov ecx, ebx
shr ecx, 0xb
xor ecx, dword [ebp - 0x170]
xor ecx, edi
mov dword [ebp - 0x10c], esi
mov edi, dword [ebp - 0x17c]
xor ecx, ebx
xor dword [ebp - 0x110], edi
not esi
mov edi, dword [ebp - 0x118]
and esi, edx
xor edi, edx
xor ebx, dword [ebp - 0x16c]
imul eax, edi, 0x8001
add dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
shr eax, 0xb
xor eax, dword [ebp - 0x108]
xor edi, eax
mov eax, ecx
not eax
mov dword [ebp - 0x118], edi
mov edi, edx
xor esi, eax
not edi
and edi, eax
mov eax, dword [ebp - 0x10c]
xor edi, eax
and eax, ecx
mov ecx, dword [ebp - 0x11c]
xor eax, edx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], eax
not edx
and edx, ecx
mov eax, ebx
not eax
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x110]
xor ecx, eax
and eax, ebx
xor eax, dword [ebp - 0x11c]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x108]
add eax, edx
imul ebx, edi, 0x8001
mov edx, dword [ebp - 0x118]
add edx, dword [ebp - 0x10c]
xor edx, dword [ebp - 0x178]
mov dword [ebp - 0x118], edx
add ebx, ecx
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x108], ecx
mov ecx, ebx
xor dword [ebp - 0x108], edx
shr ecx, 0xb
xor ecx, dword [ebp - 0x194]
xor ecx, edi
mov edi, dword [ebp - 0x10c]
xor edi, dword [ebp - 0x7c]
xor ecx, ebx
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x78]
xor dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x10c]
xor esi, edi
mov edx, dword [ebp - 0x110]
xor edx, eax
xor ebx, dword [ebp - 0x188]
imul eax, esi, 0x8001
add edx, eax
mov eax, edx
mov dword [ebp - 0x128], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x118]
xor esi, eax
mov eax, ecx
mov dword [ebp - 0x124], esi
not eax
mov esi, edx
not esi
and esi, edi
not edi
and edi, eax
xor esi, eax
xor edi, edx
mov eax, ebx
and edx, ecx
not eax
xor edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x108]
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x108]
xor ecx, eax
and eax, ebx
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x124]
add eax, esi
mov esi, dword [ebp - 0x124]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x128]
add eax, edx
imul edx, edi, 0x8001
add edx, ecx
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x108]
mov ebx, edx
shr ebx, 0xb
xor ebx, dword [ebp - 0x180]
xor ebx, edi
xor ebx, edx
xor edx, dword [ebp - 0x198]
mov edi, dword [ebp - 0x70]
xor dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x10c]
xor esi, dword [ebp - 0x1a0]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x118]
xor edx, dword [ebp - 0x74]
xor edi, edx
xor ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x118], edx
mov edx, dword [ebp - 0x108]
xor edx, eax
mov dword [ebp - 0x124], esi
imul eax, edi, 0x8001
not esi
mov dword [ebp - 0x128], ecx
add edx, eax
mov eax, edx
mov dword [ebp - 0x138], edx
shr eax, 0xb
xor eax, edx
mov edx, dword [ebp - 0x118]
xor edi, eax
and esi, edx
mov dword [ebp - 0x10c], edi
mov eax, ebx
and ebx, dword [ebp - 0x124]
not eax
xor ebx, edx
mov edi, edx
xor esi, eax
mov edx, ecx
mov ecx, dword [ebp - 0x108]
not edi
and edi, eax
not edx
mov eax, dword [ebp - 0x110]
and edx, ecx
xor edi, dword [ebp - 0x124]
not eax
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x128]
and dword [ebp - 0x110], eax
xor ecx, eax
mov eax, dword [ebp - 0x108]
xor dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x10c]
add eax, esi
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x138]
lea esi, [edx + eax]
add eax, dword [ebp - 0x110]
xor eax, dword [ebp - 0x13c]
imul edx, edi, 0x8001
mov dword [ebp - 0x138], eax
add edx, ecx
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
add ecx, ebx
shr dword [ebp - 0x10c], 0xb
xor ebx, dword [ebp - 0x6c]
xor ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x19c]
xor dword [ebp - 0x10c], edx
xor dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x108]
xor dword [ebp - 0x10c], edi
xor edi, dword [ebp - 0x184]
mov edx, dword [ebp - 0x110]
xor edx, dword [ebp - 0x68]
mov dword [ebp - 0x108], edi
xor esi, edx
mov edi, dword [ebp - 0x120]
xor edi, ebx
mov dword [ebp - 0x110], edx
imul eax, edi, 0x8001
add esi, eax
mov edx, dword [ebp - 0x10c]
mov eax, esi
shr eax, 0xb
xor eax, esi
mov dword [ebp - 0x118], esi
xor edi, eax
mov esi, ecx
mov eax, edx
mov dword [ebp - 0x120], edi
and edx, ecx
not eax
xor edx, ebx
not esi
mov dword [ebp - 0x10c], edx
and esi, ebx
xor esi, eax
mov edi, ebx
mov ebx, dword [ebp - 0x138]
not edi
and edi, eax
add esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x108]
xor edi, ecx
mov ecx, dword [ebp - 0x110]
not eax
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, eax
xor edx, eax
mov eax, dword [ebp - 0x108]
xor ecx, ebx
and eax, ebx
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x118]
lea ebx, [edx + eax]
imul edx, edi, 0x8001
add edx, ecx
mov ecx, edx
mov dword [ebp - 0x128], edx
shr ecx, 0xb
xor ecx, edi
mov edi, dword [ebp - 0x108]
xor ecx, edx
add eax, edi
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x124], ecx
add edx, 0xfffffff4
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x130], edx
cmp edx, 1
jl 0x1016ecfb
mov edx, dword [ebp - 0x124]
xor edx, dword [ebp - 0x64]
mov dword [ebp - 0x124], edx
xor eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x128]
xor edx, dword [ebp - 0x60]
xor edi, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x54]
xor ebx, edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x10c]
xor edx, dword [ebp - 0x5c]
xor esi, edx
mov dword [ebp - 0x108], edi
imul eax, esi, 0x8001
mov edi, edx
not edi
add ebx, eax
mov eax, ebx
shr eax, 0xb
xor eax, ebx
xor esi, eax
mov eax, dword [ebp - 0x124]
not eax
mov dword [ebp - 0x110], esi
and edi, eax
mov esi, ecx
xor edi, ecx
not esi
and ecx, dword [ebp - 0x124]
and esi, edx
xor esi, eax
xor ecx, edx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x128]
not edx
not eax
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x108]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x118]
xor ecx, eax
and eax, dword [ebp - 0x128]
xor eax, dword [ebp - 0x108]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x110]
add eax, esi
mov dword [ebp - 0x108], eax
lea eax, [edx + ebx]
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x13c], eax
imul eax, edi, 0x8001
add eax, ecx
mov ecx, dword [ebp - 0x110]
mov esi, eax
mov dword [ebp - 0x124], eax
shr esi, 0xb
add ecx, edx
xor esi, edi
xor esi, eax
mov eax, dword [ebp - 0x118]
add ebx, eax
mov dword [ebp - 0x138], esi
cmp dword [ebp - 0x130], 2
jl 0x1016edfd
xor esi, dword [ebp - 0x4c]
mov dword [ebp - 0x138], esi
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x124]
xor esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x108]
xor ecx, dword [ebp - 0x3c]
xor edi, edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x124], esi
mov esi, eax
xor esi, dword [ebp - 0x13c]
xor ebx, dword [ebp - 0x38]
imul eax, edi, 0x8001
add esi, eax
mov eax, esi
mov dword [ebp - 0x120], esi
shr eax, 0xb
xor eax, esi
mov esi, ecx
xor edi, eax
not esi
mov eax, dword [ebp - 0x138]
and esi, edx
mov dword [ebp - 0x108], edi
not eax
mov edi, edx
xor esi, eax
not edi
and edi, eax
mov eax, dword [ebp - 0x124]
xor edi, ecx
not eax
and ecx, dword [ebp - 0x138]
xor ecx, edx
mov edx, ebx
not edx
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x118]
and edx, ecx
xor edx, eax
not ecx
and ecx, eax
mov eax, dword [ebp - 0x108]
add eax, esi
xor ecx, ebx
mov esi, dword [ebp - 0x120]
and ebx, dword [ebp - 0x124]
xor ebx, dword [ebp - 0x118]
mov dword [ebp - 0x10c], eax
lea eax, [edx + esi]
add esi, ebx
mov dword [ebp - 0x13c], eax
imul eax, edi, 0x8001
add eax, ecx
mov ecx, dword [ebp - 0x110]
mov edx, eax
shr edx, 0xb
xor edx, edi
mov edi, dword [ebp - 0x108]
xor edx, eax
add edi, ecx
cmp dword [ebp - 0x130], 3
jl 0x1016eee3
xor edx, dword [ebp - 0x34]
xor eax, dword [ebp - 0x30]
xor edi, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x2c]
xor esi, dword [ebp - 0x20]
xor ebx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x10c]
xor edi, ecx
mov dword [ebp - 0x120], esi
imul eax, edi, 0x8001
mov esi, ebx
xor esi, dword [ebp - 0x13c]
add esi, eax
mov eax, esi
mov dword [ebp - 0x114], esi
shr eax, 0xb
xor eax, esi
mov esi, dword [ebp - 0x108]
xor edi, eax
not esi
mov eax, edx
mov dword [ebp - 0x10c], edi
and edx, dword [ebp - 0x108]
not eax
xor edx, ecx
and esi, ecx
xor esi, eax
mov dword [ebp - 0x124], edx
mov edx, dword [ebp - 0x120]
mov edi, ecx
add esi, dword [ebp - 0x10c]
not edi
and edi, eax
not edx
mov eax, dword [ebp - 0x11c]
and edx, ebx
xor edi, dword [ebp - 0x108]
not eax
xor edx, eax
mov ecx, ebx
not ecx
and ecx, eax
mov eax, dword [ebp - 0x11c]
and eax, dword [ebp - 0x120]
xor ecx, dword [ebp - 0x120]
xor eax, ebx
mov ebx, dword [ebp - 0x114]
add ebx, edx
mov dword [ebp - 0x11c], eax
imul edx, edi, 0x8001
add edx, ecx
mov ecx, dword [ebp - 0x124]
add dword [ebp - 0x10c], ecx
mov eax, edx
shr eax, 0xb
xor eax, edi
mov edi, dword [ebp - 0x11c]
add dword [ebp - 0x114], edi
xor eax, edx
cmp dword [ebp - 0x130], 4
jl 0x1016efd2
xor eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
xor esi, ecx
xor edi, dword [ebp - 0x10]
mov dword [ebp - 0x124], ecx
xor ebx, edi
imul ecx, esi, 0x8001
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x10c]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x114]
add ebx, ecx
xor edx, dword [ebp - 8]
mov ecx, ebx
shr ecx, 0xb
xor ecx, ebx
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x10c]
xor esi, ecx
mov dword [ebp - 0x110], esi
mov ecx, eax
mov esi, dword [ebp - 0x124]
not ecx
mov dword [ebp - 0x11c], edi
and eax, edx
mov edi, edx
mov dword [ebp - 0x118], ebx
mov ebx, esi
xor eax, esi
not edi
not ebx
and edi, esi
and ebx, ecx
mov esi, dword [ebp - 0x114]
xor edi, ecx
mov ecx, dword [ebp - 0x108]
xor ebx, edx
mov edx, dword [ebp - 0x11c]
not esi
and esi, edx
not ecx
xor esi, ecx
not edx
and edx, ecx
mov ecx, dword [ebp - 0x108]
and ecx, dword [ebp - 0x114]
xor ecx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x114]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x110]
add ecx, edi
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
lea ecx, [esi + edi]
imul esi, ebx, 0x8001
add esi, edx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], esi
add edx, eax
shr esi, 0xb
xor esi, ebx
xor esi, dword [ebp - 0x10c]
add edi, dword [ebp - 0x108]
mov ebx, dword [ebp - 0x1a4]
xor ebx, esi
mov esi, dword [ebp - 0x164]
mov dword [esi], ebx
mov ebx, dword [ebp - 0x1bc]
xor ebx, dword [ebp - 0x10c]
mov dword [esi + 4], ebx
mov ebx, dword [ebp - 0x1b8]
xor ebx, eax
mov eax, dword [ebp - 0x1b0]
xor eax, dword [ebp - 0x108]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1a8]
xor eax, edx
mov dword [esi + 8], ebx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1ac]
xor eax, edi
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x1b4]
xor eax, dword [ebp - 0x11c]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x144]
xor eax, ecx
mov ecx, dword [ebp - 4]
mov dword [esi + 0x1c], eax
xor ecx, ebp
mov eax, dword [ebp - 0x134]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x150]
pop edi
mov dword [esi + 0xac], eax
pop esi
pop ebx
call fcn.101c6a5b
mov esp, ebp
pop ebp
ret