Function at 0x1005cc90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [0x1007dd38]
cmp dword [0x1007dd34], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov ebx, dword [ebp + 8]
add al, 1
test al, 1
jne 0x1005d21b
push eax
mov dword [ebp - 0x14], esp
push eax
mov dword [ebp - 0x48], esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [eax], ebx
mov dword [ebp - 0x50], eax
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x4c], esi
mov dword [esi], eax
lea eax, [ebx + 4]
mov dword [edx], eax
mov dword [ebp - 0x54], edx
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [ebp - 0x58], ecx
mov dword [ecx], eax
mov eax, dword [0x1007a490]
mov ecx, eax
mov dword [ebp - 0x10], eax
not ecx
lea edx, [ecx + ecx]
sub edx, ecx
mov esi, edx
not esi
and esi, 0x6dfb636d
mov edi, edx
xor edi, 0x6dfb636d
add edi, edi
sub esi, edi
add edx, edx
or edx, 0xdbf6c6da
lea edi, [esi + edx]
add edx, esi
add edx, 0x92049c93
mov esi, eax
and esi, 0x92049c92
mov ebx, esi
not ebx
and ebx, edx
add ebx, ebx
add edi, edi
add edi, 0x24093926
sub ebx, edi
mov edi, edx
or edi, esi
lea edi, [ebx + edi*2]
mov ebx, edx
xor ebx, esi
not ebx
add ebx, edi
and esi, edx
mov eax, dword [0x1007a48c]
lea edi, [esi + ebx]
add edi, 1
xor edi, 0x6dfb636d
mov ebx, eax
and ebx, edi
mov edx, eax
not edx
mov esi, edx
and esi, edi
add esi, esi
sub ebx, esi
mov esi, eax
xor esi, edi
add ebx, esi
or edi, eax
add edi, ebx
add edi, esi
lea esi, [edi + edx*2]
add esi, 2
mov edi, esi
and edi, eax
sub edi, esi
or edx, esi
or esi, eax
add esi, edi
add edx, esi
mov edi, 0xfb1dda6a
sub edi, edx
mov edx, edi
and edx, 0xfb1dda6a
add edx, edi
mov esi, edi
not esi
and esi, 0x4e22595
add esi, edx
mov edx, eax
mov ebx, ecx
and edx, ecx
mov ecx, dword [ebp - 0x10]
and ecx, eax
lea ecx, [edx + ecx*2]
lea ecx, [ecx + ebx*2]
or ebx, eax
xor edi, 0xfb1dda6a
add ebx, ebx
sub ecx, ebx
lea edx, [esi + edi]
not ecx
lea eax, [edi + esi]
add eax, 0x7598c2ce
add edx, ecx
add edx, 0x7598c2ce
neg ecx
mov esi, eax
xor esi, ecx
add esi, edx
mov edx, eax
or edx, ecx
add edx, esi
mov esi, eax
not esi
or esi, ecx
lea edx, [edx + esi*2]
and ecx, eax
lea esi, [edx + ecx]
add ecx, edx
add ecx, 2
mov eax, ecx
not eax
mov edx, eax
and edx, 0x70b69d38
add edx, esi
add edx, 2
xor ecx, 0x8f4962c7
add ecx, edx
or eax, 0x70b69d38
sub eax, ecx
add eax, 0x70b69d39
not eax
imul ecx, eax, 0xf19b8355
mov eax, 0xe647cab
sub eax, ecx
mov edx, eax
or edx, 0xab3b3490
xor eax, 0x54c4cb6f
add eax, edx
add ecx, 0xf19b8354
or ecx, 0xab3b3490
sub eax, ecx
imul eax, eax, 0x4da39e03
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x48]
sete byte [eax]
push eax
mov dword [ebp - 0x2c], esp
mov edx, dword [str.5N]
mov ebx, dword [0x1007a498]
mov dword [ebp - 0x24], ebx
mov ecx, edx
not ecx
lea eax, [ecx + ecx]
mov edi, ecx
lea eax, [edx + eax + 1]
not eax
not ebx
lea ecx, [ebx + ebx]
sub ecx, ebx
or ecx, eax
mov eax, ecx
not eax
add eax, eax
add eax, ecx
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x9f51551a
add esi, ecx
or eax, 0x60aeaae5
add eax, esi
add eax, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
mov esi, edx
and esi, 0xc9e49044
add esi, edx
mov dword [ebp - 0x20], edi
mov eax, edi
and eax, 0xc9e49044
sub esi, eax
mov eax, edx
or eax, 0x361b6fbb
sub esi, eax
mov eax, edi
and eax, 0x361b6fbb
add esi, edi
or esi, eax
mov eax, ebx
and eax, 0x361b6fbb
mov ecx, dword [ebp - 0x24]
and ecx, 0xc9e49044
or ecx, eax
mov edx, ecx
and edx, esi
mov eax, esi
xor esi, ecx
add esi, edx
not eax
add esi, eax
or eax, ecx
sub esi, eax
mov ecx, esi
not ecx
mov eax, ecx
and eax, 0xcd401a72
lea eax, [eax + eax*2]
mov edx, ecx
and edx, 0x32bfe58d
add edx, eax
sub edx, ecx
mov eax, esi
xor eax, 0x32bfe58d
add eax, edx
or ecx, 0xcd401a72
sub eax, ecx
mov ecx, esi
and ecx, 0xcd401a72
xor esi, 0xcd401a72
add esi, ecx
add esi, 0x32bfe58e
mov edi, eax
not edi
mov edx, edi
and edx, esi
sub edx, eax
mov ecx, eax
or ecx, esi
add ecx, edx
not esi
or esi, eax
add esi, ecx
sub esi, edi
xor esi, 0x32bfe58d
mov eax, dword [ebp - 0x18]
not eax
sub eax, esi
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x24]
lea eax, [edx + ebx*2]
add eax, 1
mov ecx, eax
not ecx
or ecx, eax
and eax, 0xfa8f2ba1
and ecx, 0xfa8f2ba1
add eax, ecx
add eax, 0x570d45f
mov dword [ebp - 0x1c], eax
mov esi, edx
and esi, 0x570d45e
mov eax, edx
xor eax, 0x570d45e
sub esi, eax
mov eax, edx
xor eax, 0x7a8f2ba1
add eax, eax
sub esi, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
lea edi, [ecx + eax*2]
add edi, 1
mov dword [ebp - 0x28], edi
and eax, 0x93bcf6ee
and ecx, 0x6c430911
or ecx, eax
xor ecx, 0x6c430911
mov eax, ecx
and eax, edx
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, edx
or ecx, 0xfa8f2ba1
add ecx, esi
or ebx, 0x570d45e
add ebx, ecx
mov ecx, ebx
not ecx
mov edi, dword [ebp - 0x1c]
mov edx, edi
and edx, ecx
mov esi, edi
or esi, ebx
add esi, edx
xor ebx, edi
not ebx
add ebx, esi
or ecx, edi
sub ebx, ecx
mov ecx, ebx
xor ecx, 0x570d45e
lea ecx, [ecx + ecx*2]
mov edx, ebx
xor edx, 0x3a8f2ba1
lea ecx, [ecx + edx*4]
lea edx, [ebx + ebx]
or edx, 0xf51e5742
sub ecx, edx
not ebx
add ebx, ebx
or ebx, 0xae1a8bc
sub ecx, ebx
mov edx, ecx
not edx
lea ecx, [edx + ecx*2]
mov edx, 0xfffffffe
sub edx, ecx
and edx, dword [ebp - 0x28]
mov ecx, edx
not ecx
add ecx, ecx
add ecx, edx
mov ebx, dword [ebp - 0x18]
mov edx, ebx
not edx
mov esi, ebx
and esi, 0x72e90820
mov edi, edx
sub edi, esi
mov esi, ebx
xor esi, 0x72e90820
add esi, edi
add edx, edx
or edx, 0x1a2defbe
sub esi, edx
or ebx, 0x72e90820
sub esi, ebx
lea edx, [esi - 0x72e90822]
lea edi, [ecx + ecx]
add edi, 1
and edi, edx
add esi, edi
add esi, 0x8d16f7de
add ecx, ecx
xor ecx, 0xfffffffe
lea esi, [esi + ecx*2]
or ecx, edx
sub esi, ecx
lea ecx, [esi + 0x72e90820]
mov edx, dword [ebp - 0x10]
or edx, eax
mov eax, ecx
xor eax, 0xa8dcee42
xor ecx, 0x28dcee42
add ecx, ecx
sub eax, ecx
lea ecx, [esi + esi]
add ecx, 0xe5d21040
or ecx, 0x51b9dc84
add ecx, eax
sub ecx, edx
mov eax, ecx
and eax, 0x572311bd
add eax, eax
sub eax, ecx
mov edx, ecx
or edx, 0xa8dcee42
add edx, eax
mov eax, ecx
xor eax, 0x572311bd
add eax, edx
and ecx, 0xa8dcee42
add eax, ecx
add eax, 0x572311bf
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xec2bb195
mov esi, eax
sub esi, edx
mov edx, eax
xor edx, 0xec2bb195
add edx, esi
add edx, ecx
and eax, 0xec2bb195
lea ecx, [edx + eax]
add eax, edx
add eax, 0x7a130d31
mov edx, eax
and edx, 0xec2bb195
add ecx, edx
add ecx, 0x7a130d31
mov edx, eax
not edx
mov esi, edx
and esi, 0x6c2bb195
add esi, esi
sub ecx, esi
mov esi, eax
or esi, 0xec2bb195
add esi, ecx
xor eax, 0xec2bb195
add eax, esi
lea eax, [eax + edx*2]
imul ecx, eax, 0xdac04f1
lea eax, [ecx - 0x1adb5d61]
mov edx, eax
and edx, 0x899e362c
add ecx, edx
add ecx, 0xe524a29f
mov edx, eax
not edx
and edx, 0x7661c9d3
add edx, ecx
xor eax, 0x899e362c
add eax, edx
imul eax, eax, 0x55e6c11
add eax, 0x9bc6d9ef
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
push eax
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x10], esp
mov ecx, dword [0x1007a4b4]
mov eax, dword [0x1007a4b8]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
add ecx, edx
mov eax, 0x4648d1c3
sub eax, ecx
mov esi, dword [0x1007e0a4]
cmp dword [0x1007e0a8], 0xa
setl cl
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x1007a4c4]
mov edi, dword [0x1007a4c8]
mov ebx, esi
and ebx, edi
not esi
add ebx, esi
or esi, edi
sub esi, ebx
mov ebx, dword [ebp + 8]
and edx, 1
cmp edx, esi
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
sete al
or al, cl
add al, 1
test al, 1
je 0x1005eb80
push eax
push eax
mov dword [ebp - 0x10], esp
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
mov dword [esi], ebx
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [edx], esi
lea edx, [ebx + 4]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [0x1007a490]
mov esi, eax
not esi
mov dword [ebp - 0x14], esi
mov ecx, eax
and ecx, 0x92049c92
add ecx, eax
and esi, 0x92049c92
sub ecx, esi
mov esi, dword [0x1007a48c]
or eax, 0x6dfb636d
sub ecx, eax
mov edi, esi
not edi
mov ebx, edi
sub ebx, esi
add ebx, edi
add ebx, esi
sub ebx, edi
lea eax, [esi + edi*2]
add eax, edi
add edi, edi
sub eax, edi
add eax, 1
mov edi, ebx
not edi
and edi, eax
mov edx, ebx
or edx, eax
add edx, edi
and ebx, eax
not eax
add eax, edx
add eax, ebx
add eax, 1
mov edx, dword [ebp - 0x14]
add ecx, edx
not eax
and eax, edx
and edx, 0x6dfb636d
or ecx, edx
xor ecx, esi
mov edx, ecx
xor edx, 0x92049c92
xor ecx, 0x6dfb636d
and ecx, esi
mov edi, edx
and edi, esi
sub ecx, edi
add ecx, esi
add ecx, edx
or edx, esi
sub edx, ecx
mov ecx, edx
or ecx, 0xfb1dda6b
or edx, 0x4e22594
add ecx, edx
add ecx, 0xfb1dda6c
mov edx, ecx
and edx, 0x4e22595
mov esi, ecx
and esi, 0xfb1dda6a
lea edx, [esi + edx*2]
mov esi, ecx
xor esi, 0x4e22595
add esi, edx
or ecx, 0x4e22595
sub esi, ecx
lea edi, [esi + 0x4e22595]
mov ecx, eax
not ecx
lea edx, [eax + ecx*2]
mov eax, edi
and eax, 0x8f4962c7
add eax, esi
add eax, 0x4e22595
mov ecx, edi
xor ecx, 0x8f4962c7
add ecx, eax
mov esi, edx
not esi
or edi, 0x8f4962c7
sub ecx, edi
lea eax, [esi + ecx]
add eax, 0x70b69d38
add ecx, 0x70b69d38
mov edi, ecx
xor edi, esi
lea eax, [eax + edi*2]
not edi
lea eax, [eax + edi*4]
or edx, ecx
add edx, edx
sub eax, edx
not ecx
or ecx, esi
add ecx, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0x8f4962c7
add ecx, eax
mov edx, eax
not edx
add edx, ecx
and eax, 0x70b69d38
lea ecx, [edx + eax]
add eax, edx
add eax, 0x8f4962c9
lea ecx, [ecx + ecx*2]
add ecx, 0xaddc285b
not eax
lea eax, [ecx + eax*2]
neg eax
imul eax, eax, 0xe647cab
mov ecx, 0xe647cab
sub ecx, eax
add eax, 0xf19b8354
mov edx, eax
and edx, 0xab3b3490
mov esi, ecx
sub esi, edx
mov edx, ecx
xor edx, 0x54c4cb6f
add edx, esi
add ecx, ecx
or ecx, 0xa98996de
sub edx, ecx
or eax, 0xab3b3490
sub edx, eax
imul eax, edx, 0x4da39e03
add eax, 0x64b8c3fa
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
sete byte [eax]
push eax
mov dword [ebp - 0x2c], esp
mov edx, dword [str.5N]
mov ecx, edx
not ecx
lea eax, [ecx + ecx]
mov edi, ecx
mov dword [ebp - 0x20], ecx
lea eax, [edx + eax + 1]
mov ebx, edx
mov dword [ebp - 0x1c], edx
mov ecx, eax
not ecx
mov esi, dword [0x1007a498]
mov dword [ebp - 0x14], esi
not esi
mov dword [ebp - 0x10], esi
lea edx, [esi + esi]
sub edx, esi
mov esi, ecx
and esi, edx
and eax, edx
sub eax, esi
sub eax, edx
mov esi, ecx
xor esi, edx
add esi, esi
sub eax, esi
or edx, ecx
lea ecx, [edx + edx*2]
add ecx, eax
mov eax, ecx
mov esi, ecx
not eax
mov edx, eax
sub edx, eax
sub edx, eax
add edx, eax
sub esi, edx
mov dword [ebp - 0x18], esi
mov eax, edi
and eax, 0x361b6fbb
mov ecx, ebx
and ecx, 0xc9e49044
or ecx, eax
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x10]
mov eax, ebx
or eax, 0x570d45e
mov ecx, ebx
and ecx, 0xfa8f2ba1
add eax, ecx
mov edi, dword [ebp - 0x14]
add eax, edi
mov edx, edi
or edx, 0xfa8f2ba1
sub eax, edx
mov edx, edi
and edx, 0x570d45e
and ebx, 0x570d45e
sub edx, ebx
add edx, ecx
xor edi, 0x570d45e
lea ecx, [edi + edx]
add ecx, 0x570d45f
add eax, 0xfa8f2ba2
or ecx, eax
mov eax, ecx
xor eax, 0x570d45e
sub eax, ecx
mov edx, ecx
or edx, 0x570d45e
add edx, eax
mov eax, ecx
xor eax, 0xfa8f2ba1
add eax, edx
not ecx
or ecx, 0x570d45e
sub eax, ecx
not eax
mov ecx, dword [ebp - 0x20]
and eax, ecx
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, 0x93bcf6ee
mov ebx, dword [ebp - 0x1c]
mov ecx, ebx
and ecx, 0x93bcf6ee
sub eax, ecx
mov ecx, ebx
xor ecx, 0x6c430911
add ecx, eax
and ebx, 0x6c430911
lea eax, [ebx + ecx]
add eax, 0x93bcf6ef
mov edx, eax
not edx
mov esi, edx
and esi, ebx
mov ecx, eax
or ecx, ebx
or edx, ebx
not ebx
mov edi, eax
and edi, ebx
sub esi, edi
add ecx, esi
or ebx, eax
add ebx, ecx
sub ebx, edx
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 0x361b6fbb
mov edi, ebx
xor edi, 0x6c430911
mov esi, edi
mov edx, dword [ebp - 0x14]
and esi, edx
sub esi, edi
mov dword [ebp - 0x20], esi
xor ebx, 0x93bcf6ee
mov esi, ebx
and esi, edx
mov dword [ebp - 0x1c], esi
or ecx, edi
mov dword [ebp - 0x10], ecx
xor edi, edx
mov ecx, edx
and ecx, 0xc9e49044
or ecx, eax
xor ecx, dword [ebp - 0x24]
mov edx, ecx
and edx, 0x32bfe58d
mov eax, ecx
and eax, 0x4d401a72
lea eax, [edx + eax*2]
mov edx, ecx
add ecx, ecx
or ecx, 0x657fcb1a
sub eax, ecx
not edx
and edx, 0xcd401a72
add eax, 0x657fcb1a
or eax, edx
mov ecx, eax
and ecx, 0xcd401a72
mov edx, eax
xor edx, 0x32bfe58d
sub edx, ecx
or eax, 0x32bfe58d
lea ecx, [edx + eax]
add eax, edx
add eax, 0xcd401a73
lea edx, [eax + eax*2]
sub eax, edx
lea esi, [eax + ecx]
add esi, 0xcd401a73
mov eax, dword [ebp - 0x18]
add eax, 1
mov ecx, eax
xor ecx, 0x60aeaae5
and eax, 0x60aeaae5
add ecx, eax
lea edx, [ecx + eax]
mov dword [ebp - 0x14], edx
lea edx, [eax + ecx]
add edx, 0x9f51551a
mov eax, 0x60aeaae5
sub eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, esi
sub ecx, dword [ebp - 0x14]
add ecx, esi
xor eax, esi
not eax
add eax, ecx
or edx, esi
sub eax, edx
mov edx, dword [ebp - 0x28]
mov ecx, edx
not ecx
add ecx, ecx
add ecx, edx
lea eax, [eax + ecx*2]
mov ecx, 0x2c684cf9
sub ecx, eax
mov eax, ecx
and eax, 0x8d16f7df
add eax, ecx
not ecx
and ecx, 0x8d16f7df
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xe5d21041
mov esi, dword [ebp - 0x1c]
add esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
add ecx, esi
sub ecx, ebx
mov ebx, dword [ebp + 8]
or edi, ecx
or eax, 0xa8dcee42
lea ecx, [eax + edx]
add ecx, 0xe5d21041
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xa8dcee43
mov ecx, edi
neg ecx
add edx, edx
add edx, 0x51b9dc86
mov esi, eax
not esi
and ecx, esi
sub edx, ecx
sub edx, edi
add edi, 0xffffffff
or edi, eax
sub edx, edi
add edx, esi
imul eax, edx, 0xdac04f1
add eax, 0xc55254c9
mov ecx, eax
and ecx, 0x7661c9d3
not eax
mov edx, eax
and edx, 0x99e362c
add edx, edx
sub ecx, edx
or eax, 0x7661c9d3
add eax, ecx
add eax, 0x899e362c
mov ecx, eax
or ecx, 0x386f502f
not eax
sub ecx, eax
or eax, 0x386f502f
add eax, ecx
mov ecx, eax
and ecx, 0x7661c9d3
mov edx, eax
and edx, 0x899e362c
lea ecx, [edx + ecx*2]
mov edx, eax
xor edx, 0x7661c9d3
add edx, ecx
or eax, 0x7661c9d3
sub edx, eax
imul eax, edx, 0x55e6c11
add eax, 0xa7e294fd
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x117a271f
or eax, 0xee85d8e0
add eax, edx
sub eax, ecx
add eax, 0xee85d8e1
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x1007a704]
mov esi, dword [0x1007a708]
mov edx, ecx
xor edx, esi
mov edi, edx
not edi
lea edx, [edx + edi*2]
add edx, esi
not ecx
add edx, ecx
or ecx, esi
add ecx, ecx
sub edx, ecx
add edx, 0x4648d1c5
mov dword [eax], edx
jmp 0x1005ccc3
mov eax, dword [0x1007e0cc]
cmp dword [0x1007e0d0], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
xor cl, al
sub dl, cl
test dl, 1
je 0x1005d740
jmp 0x1005eb20
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
lea edx, [eax + eax]
sub eax, edx
imul eax, eax, 0xa6a27f61
add eax, 0x595d809f
mov edx, eax
and edx, 0xda1ebec7
not eax
mov esi, eax
and esi, 0x25e14138
add esi, esi
sub edx, esi
or eax, 0xda1ebec7
add eax, edx
add eax, 0x71a3c3aa
mov edx, eax
or edx, 0x8fe6eba7
not eax
sub edx, eax
or eax, 0x8fe6eba7
add eax, edx
mov edx, eax
and edx, 0x5a1ebec7
mov esi, eax
and esi, 0x25e14138
lea edx, [esi + edx*2]
mov esi, eax
xor esi, 0xda1ebec7
add esi, edx
or eax, 0xda1ebec7
sub esi, eax
imul eax, esi, 0x4e739b5f
add eax, 0xe45048d9
mov edx, eax
not edx
mov esi, edx
and esi, 0x7c6bca17
or eax, 0x839435e8
add eax, esi
sub eax, edx
lea edx, [eax - 0x78f8c5e2]
mov esi, edx
xor esi, 0x7c6bca17
add eax, esi
add eax, 0x87073a1e
mov esi, edx
xor esi, 0x39435e8
lea eax, [eax + esi*2]
not edx
add eax, edx
add edx, edx
or edx, 0xf8d7942e
sub eax, edx
lea edx, [eax + 1]
not edx
lea eax, [eax + edx*2]
add eax, 2
mov edx, eax
not edx
and edx, 0xffffff00
mov esi, eax
or esi, 0xffffff00
add esi, edx
and eax, 0xffffff00
add eax, esi
lea edx, [eax + eax]
add edx, 0x200
not edx
add eax, edx
add eax, 0x100
mov edx, eax
neg edx
add edx, edx
sub edx, eax
lea eax, [edx + eax*2]
mov edx, 2
sub edx, eax
imul eax, edx, 0x4b2b8d81
lea edx, [eax + 0x721e8aad]
not edx
mov esi, edx
and esi, 0xd849ba73
lea eax, [esi + eax*2]
add eax, 0xe43d155a
and edx, 0x27b6458c
add eax, edx
add eax, 0xd849ba74
mov edx, eax
and edx, 0xf78a5a51
not eax
or eax, 0xf78a5a51
sub edx, eax
imul eax, edx, 0x5faab281
lea edx, [eax - 0x675cddb0]
mov esi, edx
and esi, 0x41d7160c
add eax, esi
add eax, 0x98a32250
or edx, 0xbe28e9f3
sub eax, edx
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp + 8]
movzx ebx, byte [ebx + eax + 8]
lea edx, [ecx + ebx]
add edx, 0xe94800df
add ecx, 0xe94800df
mov esi, ecx
xor esi, ebx
add esi, edx
mov edx, ecx
or edx, ebx
not edx
add edx, esi
and ecx, ebx
lea esi, [edx + ecx]
add ecx, edx
add ecx, 1
xor ecx, 0x16b7ff21
lea edx, [ecx + ecx]
sub ecx, edx
lea edx, [esi + esi]
add edx, 2
or edx, 0x2d6ffe42
add edx, ecx
imul ecx, edx, 0x14799a6b
mov edx, ecx
and edx, 0x6af1f3c9
add edx, edx
sub edx, ecx
mov esi, ecx
or esi, 0x150e0c36
add esi, edx
mov edx, ecx
xor edx, 0xeaf1f3c9
add edx, esi
and ecx, 0x150e0c36
add ecx, edx
add ecx, 0x3a954591
mov edx, ecx
not edx
mov esi, edx
and esi, 0x150e0c36
mov edi, ecx
sub edi, esi
mov esi, ecx
xor esi, 0x150e0c36
add esi, edi
add esi, edx
and ecx, 0x150e0c36
add ecx, esi
imul edx, ecx, 0x70574243
lea ecx, [edx - 0x77d5dbdf]
mov esi, ecx
and esi, 0x8cc3368e
add esi, edx
add esi, 0x882a2421
mov edx, ecx
not edx
mov edi, edx
and edi, 0xcc3368e
add edi, edi
sub esi, edi
mov edi, ecx
or edi, 0x8e
add edi, esi
xor ecx, 0x8e
add ecx, edi
lea ecx, [ecx + edx*2]
add ecx, 0x733cc974
movzx ecx, cl
add ecx, 0x2e5991b0
mov edx, ecx
and edx, 0x2e5991af
not ecx
sub edx, ecx
or ecx, 0xd1a66e50
add ecx, edx
imul edx, ecx, 0x4b35c35
lea ecx, [edx - 0x66f66970]
and ecx, 0x221cda0c
lea ecx, [edx + ecx*2]
add ecx, 0x99099690
add edx, edx
add edx, 0x32132d20
or edx, 0xbbc64be6
sub ecx, edx
add ecx, 0xade1deb5
mov edx, ecx
and edx, 0xdde325f3
or ecx, 0xdde325f3
add ecx, edx
imul edx, ecx, 0x3afa161d
mov ecx, edx
neg ecx
mov esi, ecx
xor esi, 0xd52f99fa
sub esi, edx
mov edi, ecx
or edi, 0xd52f99fa
add edi, esi
add edx, edx
add edx, 0xfffffffe
or edx, 0xaa5f33f4
add edx, edi
and ecx, 0xd52f99fa
add edx, ecx
add edx, 0x2ad06607
not edx
mov eax, dword [ebp + 8]
mov cl, byte [edx + eax + 8]
mov esi, edx
mov dword [ebp - 0x40], edx
mov edx, ecx
or dl, 0x69
add dl, cl
mov ch, cl
xor ch, 0x96
add ch, dl
mov edx, dword [ebp - 0x20]
mov edi, dword [edx]
mov edx, eax
mov eax, dword [ebp - 0x18]
mov byte [edx + eax + 8], cl
mov byte [esi + edx + 8], bl
mov esi, edx
or cl, 0x96
sub ch, cl
add ch, bl
movzx eax, ch
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov cl, 0x84
sub cl, al
not cl
movzx eax, cl
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
add al, 0x57
mov edx, eax
not dl
mov ecx, edx
and cl, 0xbb
mov ch, al
sub ch, cl
xor al, 0xbb
add al, ch
mov ecx, dword [ebp + 0x10]
mov cl, byte [ecx + edi]
and dl, 0x44
add dl, al
add dl, 0x49
movzx eax, dl
mov dl, byte [esi + eax + 8]
mov byte [ebp - 0x32], dl
not dl
mov bh, cl
not bh
mov eax, edx
and al, cl
movzx eax, al
lea eax, [eax + eax*2]
mov ch, dl
and ch, bh
add ch, al
mov byte [ebp - 0x44], ch
mov ah, cl
add ah, cl
mov bl, cl
sub bl, ah
mov ch, bh
add ch, bh
add ch, cl
add ch, 1
mov ah, ch
not ah
or ah, ch
and ch, 0xf5
and ah, 0xf5
add ah, ch
mov ch, cl
and ch, 0xa
mov dh, cl
xor dh, 0xa
sub ch, dh
mov dh, cl
xor dh, 0x75
add dh, dh
sub ch, dh
mov al, dl
mov byte [ebp - 0x30], dl
xor dl, cl
mov byte [ebp - 0x35], dl
mov edx, eax
or dl, cl
mov byte [ebp - 0x34], dl
add bl, bh
add bl, cl
or cl, 0xf5
add cl, ch
mov ch, al
add ch, al
mov dh, byte [ebp - 0x32]
add ch, dh
add ch, 1
mov al, ch
xor al, bh
mov byte [ebp - 0x33], al
or bh, 0xa
add bh, cl
add ah, 0xb
mov cl, bh
not cl
mov dl, ah
and dl, cl
mov al, ah
or al, bh
add al, dl
xor bh, ah
not bh
add bh, al
or cl, ah
sub bh, cl
mov al, bh
xor al, 0xa
movzx eax, al
mov cl, bh
xor cl, 0x35
shl cl, 2
lea eax, [eax + eax*2]
add cl, al
mov dl, dh
mov al, dh
and al, bl
sub al, dh
mov ah, byte [ebp - 0x30]
and ah, bl
add ah, al
mov byte [ebp - 0x31], ah
not bl
or bl, dh
mov esi, edi
not esi
lea eax, [edi + edi*2]
add eax, esi
lea edx, [esi + eax]
add eax, esi
add eax, 0x9a5589f6
mov esi, eax
and esi, 0xfffffffe
add edx, esi
add edx, 0x9a5589f6
mov esi, eax
not esi
and esi, 1
add esi, edx
xor eax, 0xfffffffe
add eax, esi
add eax, 0xd47a5900
mov edx, eax
and edx, 0x6ecfe2f1
not eax
sub edx, eax
or eax, 0x91301d0e
lea esi, [edx + eax]
add esi, 0x91301d0e
add bl, byte [ebp - 0x31]
mov al, byte [ebp - 0x44]
mov dl, byte [ebp - 0x30]
sub al, dl
sub bl, dl
mov dl, byte [ebp - 0x35]
add dl, al
sub dl, byte [ebp - 0x34]
or bl, dl
mov al, byte [ebp - 0x33]
and al, ch
add bl, al
mov al, bh
add al, bh
or al, 0xea
sub cl, al
not bh
add bh, bh
or bh, 0x14
sub cl, bh
mov eax, ecx
not al
add cl, cl
add cl, al
mov al, 0xfe
sub al, cl
and al, ch
mov ecx, eax
not cl
add cl, cl
add cl, al
mov eax, ebx
not al
mov edx, eax
and dl, 0x86
mov ah, bl
sub ah, dl
mov edx, ebx
xor dl, 0x79
add dl, ah
add bl, bl
or bl, 0xf2
sub dl, bl
or al, 0x86
sub dl, al
add cl, 1
add dl, 0x78
mov eax, ecx
not al
and al, dl
add al, dl
or dl, cl
add cl, cl
add cl, al
sub cl, dl
add cl, 0x87
cmp esi, dword [ebp + 0xc]
mov eax, 0x5545c376
mov edx, 0xf7412772
cmove eax, edx
mov edx, dword [ebp + 0x14]
mov byte [edx + edi], cl
mov ecx, dword [0x1007a68c]
mov edx, dword [0x1007a690]
mov ebx, ecx
xor ebx, edx
sub ebx, edx
sub ebx, edx
mov edi, ecx
or edi, edx
add edi, ebx
mov ebx, ecx
not ebx
or ebx, edx
lea edi, [edi + ebx*2]
and ecx, edx
add ecx, edi
add ecx, 0xc
cmp dword [0x1007e094], ecx
mov edx, dword [0x1007e098]
mov edi, edx
not edi
setl byte [ebp - 0x30]
add edi, edx
add edi, edx
add edi, 0x31d8c7fc
imul edi, edx
mov edx, dword [0x1007a694]
mov ebx, dword [0x1007a698]
mov ecx, edx
or edx, ebx
not ebx
and ecx, ebx
not edx
add edx, ecx
sub edx, ebx
mov ebx, dword [ebp - 0x10]
and edi, 1
cmp edi, edx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
sete al
or al, byte [ebp - 0x30]
mov dword [ebx], 0x3ce81147
jne 0x1005eb20
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, 0xc58649c7
add eax, ecx
mov ecx, eax
and ecx, 0xfffffffe
not eax
sub ecx, eax
or eax, 1
add eax, ecx
imul eax, eax, 0x595d809f
add eax, 0xafa86f3f
mov ecx, eax
and ecx, 0x8fe6eba7
or eax, 0x8fe6eba7
add eax, ecx
imul ecx, eax, 0x4e739b5f
lea eax, [ecx - 0x1bafb727]
mov edx, eax
xor edx, 0x7c6bca17
add ecx, edx
add ecx, 0xe45048d9
mov edx, eax
or edx, 0x7c6bca17
add edx, ecx
mov ecx, eax
not ecx
add ecx, ecx
or ecx, 0xf8d7942e
add ecx, edx
and eax, 0x7c6bca17
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x839435eb
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0xa9b7007
add edx, esi
add edx, 0x839435eb
xor eax, 0xf5648ff8
add eax, edx
or ecx, 0xa9b7007
sub eax, ecx
lea ecx, [eax + 0xa9b7007]
mov edx, ecx
not edx
and ecx, 0xe8
add eax, ecx
add eax, 0xa9b7007
and edx, 0xe8
add eax, edx
add eax, 1
movzx eax, al
lea ecx, [eax + eax]
sub ecx, eax
imul eax, ecx, 0x4b2b8d81
lea ecx, [eax + 0x875a5af]
mov edx, ecx
not edx
and ecx, 0x27b6458c
add eax, ecx
add eax, 0x875a5af
and edx, 0x27b6458c
lea ecx, [eax + edx]
add eax, edx
add eax, 0xb09374e7
xor eax, 0x875a5ae
lea eax, [eax + ecx*2]
add eax, 0x6126e9ce
add ecx, ecx
add ecx, 0x6126e9ce
or ecx, 0x10eb4b5c
sub eax, ecx
imul eax, eax, 0x5faab281
add eax, 0xa0554d7f
mov edx, eax
not edx
mov ecx, edx
and ecx, 0xbe28e9f3
mov esi, eax
sub esi, ecx
xor eax, 0xbe28e9f3
add eax, esi
and edx, 0x41d7160c
lea edi, [eax + edx]
mov dword [ebp - 0x40], edi
xor esi, esi
mov ecx, dword [ebp - 0x28]
sub esi, dword [ecx]
add eax, edx
add eax, 1
mov dword [ebp - 0x18], eax
lea eax, [esi + esi]
mov edx, esi
sub edx, eax
neg eax
add esi, eax
add esi, 0xe94800df
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edi + 9]
lea edx, [ecx + edx*2]
add edx, 0xd29001be
not esi
add esi, edx
imul edx, esi, 0x14799a6b
add edx, 0x8282236c
mov esi, edx
not esi
mov edi, esi
and edi, 0x2587395a
sub edx, edi
add edx, esi
or esi, 0x2587395a
sub edx, esi
add edx, 0x4b0e72b4
mov esi, edx
and esi, 0x150e0c36
not edx
mov edi, edx
and edi, 0x6af1f3c9
add edi, edi
sub esi, edi
or edx, 0x150e0c36
add edx, esi
imul esi, edx, 0x70574243
add esi, 0xd7216357
mov edx, esi
and edx, 0xcc3368e
mov edi, esi
and edi, 0x733cc971
lea edi, [edi + edx*2]
mov edx, esi
xor edx, 0x8cc3368e
add edx, edi
or esi, 0x8cc3368e
sub edx, esi
add edx, 0x733cc972
not edx
mov edi, edx
or edi, 0xffffff00
mov esi, edi
not esi
mov ebx, edi
and ebx, 0x2e5991b0
add ebx, ebx
mov eax, esi
sub eax, ebx
xor edi, 0xd1a66e4f
add edi, eax
or edx, 0xffffffb0
add edx, edi
or esi, 0xd1a66e4f
sub edx, esi
lea eax, [edx + 0x2e5991b0]
mov esi, eax
not esi
and esi, 0xd1a66e50
add edx, esi
add edx, 0x2e5991b0
and eax, 0xd1a66e50
add eax, edx
imul eax, eax, 0x4b35c35
mov edx, eax
and edx, 0x221cda0c
add edx, eax
mov edi, eax
xor edi, 0x221cda0c
add edi, edx
or eax, 0x221cda0c
sub edi, eax
lea edx, [edi + 0x221cda0d]
mov eax, edx
xor eax, 0x4ffeb8c2
lea eax, [edi + eax*2]
add eax, 0x221cda0d
mov esi, edx
xor esi, 0x3001473d
lea esi, [eax + esi*4]
lea eax, [edi + edi]
add eax, 0x4439b41a
or eax, 0x60028e7a
sub esi, eax
not edx
add edx, edx
or edx, 0x9ffd7184
sub esi, edx
lea eax, [esi - 0x3001473e]
mov edx, eax
and edx, 0x221cda0c
add edx, esi
add edx, 0xcffeb8c2
mov esi, eax
not esi
add esi, edx
and eax, 0xdde325f3
add eax, esi
imul eax, eax, 0x3afa161d
lea edx, [eax + 0x4644a4]
lea eax, [eax + eax*2]
add eax, 0xd2cdec
mov dword [ebp - 0x30], eax
not edx
mov dword [ebp - 0x44], edx
lea eax, [eax + edx*2]
mov ebx, dword [ebp + 8]
mov dl, byte [ebx + eax + 0x2ad06610]
mov esi, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, dword [ebp - 0x40]
mov byte [ebx + edi + 9], dl
mov byte [ebx + eax + 0x2ad06610], cl
not dl
sub dl, cl
movzx eax, dl
imul ecx, eax, 0xffffffe7
mov al, 0x19
sub al, cl
mov edx, eax
xor dl, 0x43
sub dl, cl
add cl, 0xe6
and cl, 0xbc
add cl, dl
and al, 0x43
add al, cl
add al, 0x5d
mov ecx, eax
add cl, al
sub al, cl
movzx eax, al
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
mov ecx, eax
and cl, 0x2d
add cl, cl
sub cl, al
mov edx, eax
or dl, 0xd2
add dl, cl
mov ecx, eax
xor cl, 0x2d
add cl, dl
and al, 0xd2
add al, cl
add al, 0xea
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xd2
mov ch, al
sub ch, dl
mov edx, eax
xor dl, 0xd2
add dl, ch
add dl, cl
and al, 0xd2
add al, dl
add al, 0xd3
movzx eax, al
mov ah, byte [ebx + eax + 8]
mov dh, ah
not dh
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx + esi]
mov ebx, edx
not bl
mov al, dh
xor al, bl
and al, dh
neg al
mov ecx, eax
add cl, al
sub al, cl
mov cl, ah
and cl, bl
mov ch, bl
add ch, bl
mov bh, cl
sub bh, ch
mov ch, ah
xor ch, bl
add ch, bh
or ah, bl
add ah, ch
mov byte [ebp - 0x40], dh
mov ch, dh
or ch, bl
add ch, ch
add ch, ah
add ch, cl
mov ah, dh
and ah, dl
add ch, 2
mov bh, ah
not bh
mov dh, bh
and dh, ch
mov cl, ah
or cl, ch
add cl, dh
xor ah, ch
not ah
add ah, cl
or bh, ch
sub ah, bh
mov ecx, eax
neg cl
mov ch, ah
add ch, ah
mov dh, ah
add ah, 0xff
or ah, cl
sub cl, ch
add ah, cl
neg dh
add al, 0xff
add ah, al
or al, dh
sub al, ah
mov ecx, edx
or cl, 0xa
xor dl, 0xf5
add dl, cl
and bl, 0xf5
add dl, 1
mov ecx, edx
not cl
or cl, dl
and cl, bl
sub cl, bl
or dl, bl
add dl, cl
xor dl, 0xf5
and dl, byte [ebp - 0x40]
not dl
add al, 0x79
mov ecx, eax
not cl
and cl, dl
mov ah, al
sub ah, cl
add ah, dl
mov ecx, eax
xor cl, dl
add cl, ah
or al, dl
not al
add al, cl
add al, dl
add al, 0x1c
mov edx, eax
and dl, 0xfe
mov ecx, eax
add cl, al
or cl, 0xfc
add cl, dl
sub cl, al
not al
or al, 1
sub cl, al
add cl, 4
mov eax, ecx
not al
mov edx, eax
and dl, 0x6b
or cl, 0x94
add cl, dl
sub cl, al
add cl, 0x31
mov eax, ecx
or al, 0x27
add cl, al
not al
add al, cl
add al, 0xda
mov ecx, eax
add cl, al
mov edx, eax
not dl
mov ah, dl
and ah, 0x3a
sub cl, ah
or al, 0xc5
sub cl, al
add cl, dl
add cl, 0x61
mov eax, dword [ebp + 0x14]
mov byte [eax + esi], cl
lea eax, [esi - 0x65aa760c]
mov ecx, eax
xor ecx, 1
add ecx, esi
add ecx, 0x9a5589f4
mov edx, eax
xor edx, 0x7ffffffe
lea ecx, [ecx + edx*2]
not eax
add ecx, eax
add eax, eax
or eax, 2
sub ecx, eax
lea eax, [ecx + 3]
mov edx, eax
not edx
and edx, 0x9a5589f4
add ecx, edx
add ecx, 3
and eax, 0x9a5589f4
add eax, ecx
add eax, 0x1020bb53
mov ecx, eax
and ecx, 0x55fbec48
add ecx, ecx
mov edx, eax
sub edx, ecx
mov esi, eax
xor esi, 0x2a0413b7
add esi, edx
mov ecx, eax
or ecx, 0xd5fbec48
add ecx, esi
not eax
or eax, 0x2a0413b7
sub ecx, eax
lea eax, [ecx + 0x2a0413b7]
mov edx, eax
not edx
and edx, 0x91301d0e
add ecx, edx
add ecx, 0x2a0413b7
and eax, 0x91301d0e
add eax, ecx
cmp eax, dword [ebp + 0xc]
mov ecx, 0x5545c376
mov edx, 0xf7412772
cmove ecx, edx
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
lea edx, [edx + esi*2 + 0x2ad06608]
mov esi, dword [ebp - 0x2c]
mov dword [esi], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov dword [eax], edx
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [0x1007a754]
xor eax, dword [0x1007a758]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
mov ecx, 0x3ce81145
sub ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax], ecx
jmp 0x1005d76d
mov eax, dword [ebp - 0x48]
cmp byte [eax], 0
mov eax, 0x5545c376
mov ecx, 0xf7412772
cmovne eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, dword [str._n__C]
mov eax, dword [0x1007a4a0]
mov dword [ebp - 0x18], eax
mov esi, ecx
not esi
mov dword [ebp - 0x30], esi
or esi, eax
mov eax, esi
not eax
mov edx, esi
and edx, 0xd857fd24
add edx, eax
mov edi, esi
xor edi, 0xd857fd24
add edi, edx
mov eax, esi
or eax, 0xd857fd24
sub edi, eax
mov ebx, dword [ebp - 0x18]
not ebx
lea eax, [edi - 0x27a802dc]
mov edx, eax
and edx, ebx
add edx, edi
add edx, 0xd857fd24
mov edi, dword [ebp - 0x18]
add edx, edi
or eax, edi
not eax
add eax, edx
sub eax, ebx
mov edx, edi
and edx, ecx
or ebx, ecx
mov edi, dword [ebp - 0x18]
add edi, edx
add ebx, edi
add ebx, dword [ebp - 0x30]
sub ebx, esi
mov esi, ecx
mov edi, dword [ebp - 0x18]
xor esi, edi
or ecx, edi
add edx, esi
not ecx
add ecx, edx
add ebx, 1
add ecx, esi
add ecx, 1
or ecx, ebx
add eax, 0xc1542181
lea edx, [ecx - 1]
and edx, eax
sub edx, ecx
neg ecx
mov esi, eax
or esi, ecx
add esi, edx
xor eax, ecx
not eax
add eax, esi
imul eax, eax, 0x1cb1b315
lea ecx, [eax - 0x19a000b5]
mov edx, ecx
not edx
and edx, 0xbce5eb0f
lea eax, [edx + eax*2]
add eax, 0xccbffe96
or ecx, 0xbce5eb0f
sub eax, ecx
imul eax, eax, 0xfe6c043d
lea ecx, [eax + 0xf7cc6f8]
mov edx, ecx
not edx
and ecx, 0xa6c93e92
add eax, ecx
add eax, 0xf7cc6f8
and edx, 0xa6c93e92
lea ecx, [eax + edx]
add eax, edx
add eax, 0xb26d82db
xor eax, 0x84e0a7e7
lea eax, [eax + ecx*2]
add eax, 0x64db05b6
add ecx, ecx
add ecx, 0x64db05b6
not ecx
and ecx, 0xf63eb031
add ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1007a65c]
mov ecx, dword [0x1007a660]
mov edx, eax
not edx
and edx, ecx
mov esi, eax
xor esi, ecx
sub esi, edx
or eax, ecx
not eax
add eax, esi
add eax, ecx
add eax, 0x3ce81148
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
cmp dword [0x1007df5c], 0xa
mov edx, dword [0x1007df60]
setge al
setl cl
mov esi, edx
not esi
or esi, edx
lea ebx, [esi + edx]
add ebx, 0xc33b2d80
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
test al, 1
jne 0x1005eb20
mov eax, dword [ebp - 0x48]
cmp byte [eax], 0
mov eax, 0x5545c376
mov ecx, 0xf7412772
cmovne eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [str._n__C]
mov ecx, dword [0x1007a4a0]
mov esi, ecx
not esi
lea edx, [esi + ecx*2]
lea edx, [edx + esi*4]
add esi, esi
sub edx, esi
add edx, 2
mov esi, eax
not esi
not edx
and edx, eax
add edx, esi
not edx
lea esi, [edx + edx]
add edx, esi
sub edx, esi
lea edi, [edx + ecx]
add edi, 0xd857fd24
add edx, ecx
mov esi, edi
not esi
and esi, 0xd857fd24
add edx, esi
add edx, 0xd857fd24
or edi, 0x27a802db
lea esi, [edx + edi]
add edx, edi
add edx, 0x27a802dd
mov edi, eax
and edi, ecx
xor eax, ecx
or edi, eax
add edi, eax
not eax
add eax, edi
mov ecx, edx
xor ecx, 0x6653e15b
add ecx, esi
add ecx, 0x27a802dd
mov esi, edx
not esi
and esi, 0x99ac1ea4
add esi, ecx
mov ecx, eax
not ecx
and edx, 0x6653e15b
add edx, esi
add edx, 0x99ac1ea6
xor eax, ecx
and eax, edx
xor eax, ecx
mov esi, edx
xor esi, ecx
add esi, esi
sub eax, esi
or ecx, edx
lea eax, [eax + ecx*2]
imul eax, eax, 0x1cb1b315
add eax, 0xc9ae4c36
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xbce5eb0f
mov esi, eax
sub esi, edx
mov edx, eax
xor edx, 0xbce5eb0f
add edx, esi
add edx, ecx
and eax, 0xbce5eb0f
add eax, edx
imul eax, eax, 0xfe6c043d
add eax, 0x8908234d
mov ecx, eax
or ecx, 0x7b1f5818
or eax, 0x84e0a7e7
add eax, ecx
add eax, 0x5936c16e
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3ce81147
jmp 0x1005e28f
mov edx, dword [0x1007df90]
cmp dword [0x1007df8c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [str.T_.0M_b]
mov esi, dword [0x1007a530]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
mov dword [ebx], 0x291ec768
test al, 1
jne 0x1005eb20
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [0x1007a70c]
mov ecx, dword [0x1007a710]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0x291ec769
mov dword [ebx], eax
jmp 0x1005e594
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp eax, 0xf7412772
mov eax, 0xae1861dd
mov ecx, 0xfd0e9ac1
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007a54c]
mov edx, dword [0x1007a550]
mov esi, eax
and esi, edx
mov ecx, edx
not ecx
lea esi, [esi + ecx*2]
or ecx, eax
add ecx, ecx
sub ecx, esi
not eax
add ecx, eax
or eax, edx
sub ecx, eax
mov eax, dword [0x1007df88]
add ecx, 0xa
cmp dword [0x1007df84], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x1005eb20
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp eax, 0xf7412772
mov eax, 0xae1861dd
mov ecx, 0xfd0e9ac1
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1005e622
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [0x1007a56c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x5545c377
cmp eax, ecx
mov eax, 0x8505060e
mov ecx, 0xb7783017
cmovl eax, ecx
mov dword [ebx], eax
mov edx, dword [0x1007df80]
cmp dword [0x1007df7c], 0xa
setl al
setge cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
mov ebx, dword [ebp - 0x10]
sete dl
mov ah, cl
and ah, dl
add ah, dl
or al, dl
add al, ah
add al, cl
or cl, dl
add cl, al
test cl, 1
jne 0x1005eb20
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp eax, 0x5545c376
mov eax, 0x8505060e
mov ecx, 0xb7783017
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1005e69f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov esi, dword [0x1007a594]
mov ecx, dword [0x1007a598]
mov edx, esi
not edx
mov edi, edx
and edi, ecx
sub edi, esi
not ecx
or ecx, esi
add ecx, edi
sub ecx, edx
add ecx, 0x5545c376
cmp eax, ecx
mov eax, 0xad9d99d
mov ecx, 0xa26d50be
cmove eax, ecx
mov esi, dword [0x1007df78]
cmp dword [0x1007df74], 0xa
setl cl
mov edx, esi
not edx
lea edi, [esi + edx]
add edx, edi
add edx, 0xffffffff
imul edx, esi
mov esi, dword [0x1007a5a4]
mov edi, esi
not edi
mov ebx, dword [0x1007a5a8]
and edi, ebx
and esi, ebx
not ebx
add ebx, edi
add esi, ebx
add esi, 1
mov ebx, dword [ebp - 0x10]
and edx, 1
cmp edx, esi
mov dword [ebx], eax
sete al
or al, cl
jne 0x1005eb20
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [0x1007a724]
mov edx, dword [0x1007a728]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
sub edi, esi
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x5545c377
cmp eax, ecx
mov eax, 0xad9d99d
mov ecx, 0xa26d50be
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1005e71d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [0x1007a5bc]
mov edx, dword [0x1007a5c0]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0xf7412773
cmp eax, ecx
mov ecx, 0xad9d99d
mov eax, 0xf3116e9d
cmove ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x1007a5c4]
mov edx, dword [0x1007a5c8]
mov esi, ecx
xor esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
mov edi, edx
not edi
or edi, ecx
sub edi, esi
not ecx
or ecx, edx
add ecx, edi
add ecx, 0xa
cmp dword [0x1007e0ac], ecx
mov edx, dword [0x1007e0b0]
setge ch
setl cl
lea esi, [edx + 1]
imul esi, edx
mov edi, dword [0x1007a5cc]
mov ebx, dword [0x1007a5d0]
mov eax, edi
xor eax, ebx
mov edx, eax
not edx
shl edx, 2
lea edx, [edx + eax*2]
mov eax, ebx
not eax
or eax, edi
add eax, eax
sub edx, eax
not edi
or edi, ebx
mov ebx, dword [ebp - 0x10]
add edi, edi
sub edx, edi
and esi, 1
cmp esi, edx
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
sete al
setne dl
and dl, cl
mov ah, cl
or ah, al
add ah, dl
add ah, ch
and cl, al
not cl
add cl, ah
test cl, 1
jne 0x1005eb20
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp eax, 0xf7412772
mov eax, 0xad9d99d
mov ecx, 0xf3116e9d
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1005e7e3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [0x1007a5e4]
mov edx, dword [0x1007a5e8]
mov esi, ecx
not esi
and esi, edx
add esi, ecx
or ecx, edx
not ecx
add ecx, esi
add ecx, 0x8de75b9e
cmp eax, ecx
mov eax, 0xad9d99d
mov ecx, 0xd53b6f55
cmove eax, ecx
mov edx, dword [0x1007df70]
mov ecx, dword [0x1007a5ec]
mov esi, dword [0x1007a5f0]
mov edi, esi
not edi
and edi, ecx
not ecx
or ecx, esi
add ecx, edi
mov esi, 9
sub esi, ecx
cmp dword [0x1007df6c], esi
setl cl
lea esi, [edx + edx]
add esi, edx
add esi, 0xffffffff
imul esi, edx
mov edx, dword [0x1007a5f8]
mov edi, edx
not edi
mov ebx, dword [0x1007a5f4]
and edi, ebx
add edi, edx
or ebx, edx
sub edi, ebx
mov ebx, dword [ebp - 0x10]
and esi, 1
cmp esi, edi
mov dword [ebx], eax
sete al
or al, cl
jne 0x1005eb20
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [0x1007a734]
mov esi, dword [0x1007a738]
mov ecx, esi
not ecx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, edx
xor ebx, esi
sub ebx, edi
or ecx, edx
add ecx, ebx
not edx
or edx, esi
sub ecx, edx
add ecx, 0x8de75b9d
cmp eax, ecx
mov eax, 0xad9d99d
mov ecx, 0xd53b6f55
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1005e8d0
mov eax, dword [0x1007a60c]
mov ecx, dword [0x1007a610]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x9cdcc11b
mov dword [ebx], eax
mov ecx, dword [0x1007df68]
cmp dword [0x1007df64], 0xa
setge dl
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
and dl, al
cmp ecx, 1
adc dl, 0
add dl, al
test dl, 1
jne 0x1005eb20
mov eax, dword [0x1007a73c]
mov ecx, dword [0x1007a740]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0x9cdcc11b
mov dword [ebx], eax
jmp 0x1005e9b4
mov eax, dword [0x1007a634]
mov ecx, dword [0x1007a638]
mov edx, ecx
not edx
and edx, eax
add edx, edx
sub edx, eax
sub edx, eax
mov esi, eax
or esi, ecx
add esi, edx
mov edx, eax
xor edx, ecx
not edx
add edx, esi
and eax, ecx
add eax, edx
add eax, 0x3ce81148
mov dword [ebx], eax
mov ecx, dword [0x1007e02c]
cmp dword [0x1007e030], 0xa
setl al
mov edx, ecx
not edx
mov esi, edx
and esi, 1
mov edi, ecx
sub edi, esi
mov esi, ecx
xor esi, 1
add esi, edi
add esi, edx
lea edx, [ecx + esi]
add edx, 0xecab2e8a
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
and dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
xor al, cl
not al
add al, ah
test al, 1
jne 0x1005eb20
mov eax, dword [0x1007a744]
mov ecx, dword [0x1007a748]
mov edx, eax
xor edx, ecx
mov esi, edx
not esi
lea edx, [edx + esi*2]
mov esi, ecx
not esi
or esi, eax
sub esi, edx
not eax
or eax, ecx
add eax, esi
add eax, 0x3ce81147
mov dword [ebx], eax
jmp 0x1005ea23
cmp dword [0x1007df4c], 0xa
mov edx, dword [0x1007df50]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edi, dword [0x1007a6dc]
mov esi, dword [0x1007a6e0]
mov edx, edi
xor edx, esi
not edx
add edx, edi
not esi
add edx, esi
or esi, edi
add esi, esi
sub edx, esi
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
mov dword [ebx], 0x4648d1c4
cmp cl, 1
jne 0x1005eb68
nop dword [eax]
mov eax, dword [0x1007df48]
mov ecx, dword [0x1007a6f4]
mov esi, dword [0x1007a6f8]
mov edi, ecx
and edi, esi
mov edx, esi
not edx
lea edi, [edi + edx*2]
or edx, ecx
add edx, edx
sub edx, edi
not ecx
add edx, ecx
or ecx, esi
sub edx, ecx
add edx, 0xa
cmp dword [0x1007df44], edx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x1005eb20
jmp 0x1005eb80
mov dword [ebx], 0x4648d1c4
jmp 0x1005ead3
mov edx, dword [0x1007df98]
cmp dword [0x1007df94], 0xa
setl al
mov ecx, edx
xor ecx, 1
add ecx, edx
add ecx, edx
imul ecx, edx
mov edx, dword [0x1007a4e4]
mov edi, dword [0x1007a4e8]
mov esi, edx
not esi
mov ebx, esi
and ebx, edi
xor edx, edi
not edx
add edx, ebx
mov ebx, dword [ebp - 0x10]
or esi, edi
sub edx, esi
and ecx, 1
cmp ecx, edx
sete cl
setne dl
or cl, al
and al, dl
add al, cl
not cl
add cl, al
add cl, dl
mov eax, dword [ebx]
test cl, 1
je 0x1005eb80
cmp eax, 0xf3116e9c
jg 0x1005ec60
cmp eax, 0xae1861dc
jg 0x1005ecd6
cmp eax, 0x8505060e
je 0x1005ed91
cmp eax, 0x9cdcc11a
je 0x1005ee1b
cmp eax, 0xa26d50be
jne 0x1005d740
mov eax, dword [0x1007ddf4]
mov esi, dword [0x1007a674]
mov ecx, dword [0x1007a678]
mov edx, esi
not edx
mov edi, edx
and edi, ecx
sub edi, esi
not ecx
or ecx, esi
add ecx, edi
sub ecx, edx
add ecx, 0xa
cmp dword [0x1007ddf8], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1005d76d
jmp 0x1005dd19
cmp eax, 0x291ec767
jle 0x1005ed4f
cmp eax, 0x291ec768
je 0x1005ee7e
cmp eax, 0x3ce81147
je 0x1005eede
cmp eax, 0x4648d1c4
jne 0x1005d740
mov eax, dword [0x1007db90]
mov ecx, dword [0x1007a50c]
mov edx, dword [0x1007a510]
mov esi, edx
not esi
or esi, edx
and esi, ecx
sub esi, ecx
add esi, 0xa
cmp dword [0x1007db8c], esi
setl cl
setge dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
mov ebx, dword [ebp - 0x10]
sete al
and al, dl
add al, cl
test al, 1
jne 0x1005e594
jmp 0x1005e5f3
cmp eax, 0xae1861dd
je 0x1005ef24
cmp eax, 0xb7783017
je 0x1005ef76
cmp eax, 0xd53b6f55
jne 0x1005d740
mov eax, dword [0x1007a64c]
mov ecx, dword [0x1007a650]
mov edx, eax
or edx, ecx
sub edx, eax
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
cmp dword [0x1007dc94], eax
mov esi, dword [0x1007dc98]
setge cl
setl al
lea edx, [esi + 1]
imul edx, esi
test dl, 1
sete ah
and dl, al
and cl, ah
or cl, dl
mov edx, eax
or dl, ah
add dl, cl
xor al, ah
not al
add al, dl
test al, 1
je 0x1005e28f
jmp 0x1005e44e
cmp eax, 0xfd0e9ac1
je 0x1005efce
cmp eax, 0xad9d99d
jne 0x1005f01b
mov eax, dword [0x1007dad8]
cmp dword [0x1007dad4], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1005e9b4
jmp 0x1005ea01
mov ecx, dword [0x1007dbc8]
mov eax, dword [0x1007a584]
mov edx, dword [0x1007a588]
mov esi, eax
mov edi, eax
or edi, edx
not eax
or eax, edx
not edx
and esi, edx
not edi
lea esi, [esi + edi*2]
add edx, edx
sub edx, esi
add eax, edx
add eax, 0xb
cmp dword [0x1007dbc4], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007a58c]
mov esi, dword [0x1007a590]
mov edi, ecx
and edi, esi
mov ebx, esi
not ebx
and ebx, ecx
lea edi, [ebx + edi*2]
sub edi, ecx
mov ebx, ecx
xor ebx, esi
add ebx, edi
or ecx, esi
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov ebx, dword [ebp - 0x10]
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x1005e71d
jmp 0x1005e7a6
cmp dword [0x1007dd04], 0xa
mov edx, dword [0x1007dd08]
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 2
imul ecx, edx
mov edx, dword [0x1007a62c]
mov esi, dword [0x1007a630]
mov ebx, edx
and ebx, esi
mov edi, edx
not edi
and edi, esi
sub edi, ebx
sub edi, esi
mov ebx, edx
xor ebx, esi
add ebx, ebx
sub edi, ebx
mov ebx, dword [ebp - 0x10]
or edx, esi
lea edx, [edi + edx*2]
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1005ea23
jmp 0x1005eaa3
mov esi, dword [0x1007db34]
cmp dword [0x1007db38], 0xa
setge al
setl cl
mov edx, esi
not edx
mov edi, edx
and edi, 1
mov ebx, esi
sub ebx, edi
mov edi, esi
xor edi, 1
add edi, ebx
and edx, 0xfffffffe
add edx, edi
add edx, 3
imul edx, esi
test dl, 1
sete ah
mov ch, cl
and ch, dl
mov ebx, eax
and bl, ah
or bl, ch
mov ch, cl
or ch, ah
add ch, bl
mov ebx, dword [ebp - 0x10]
or cl, dl
add cl, ch
or al, ah
add al, cl
test al, 1
jne 0x1005e622
jmp 0x1005e684
cmp dword [0x1007dc5c], 0xa
mov edx, dword [0x1007dc60]
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007a6c4]
mov esi, dword [0x1007a6c8]
mov edi, edx
not edi
and edi, esi
add edi, edx
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x1005ead3
jmp 0x1005eb68
mov edx, dword [0x1007dcb8]
cmp dword [0x1007dcb4], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov esi, dword [0x1007a564]
mov edi, dword [0x1007a568]
mov edx, esi
not edx
mov ebx, edx
and ebx, edi
not edi
or edi, esi
sub esi, ebx
mov ebx, dword [ebp - 0x10]
sub esi, edi
add esi, edx
and ecx, 1
cmp ecx, esi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1005e69f
jmp 0x1005e702
mov esi, dword [0x1007ddb8]
mov edx, esi
cmp dword [0x1007ddb4], 0xa
not edx
setge al
setl cl
mov edi, esi
xor edi, 1
mov ebx, esi
sub ebx, edi
mov edi, esi
or edi, 1
add edi, ebx
mov ebx, dword [ebp - 0x10]
or edx, 0xfffffffe
add edx, edi
add edx, 2
imul edx, esi
test dl, 1
sete ah
mov ch, cl
or dl, cl
xor cl, ah
or ch, ah
add ch, cl
add dl, ch
or al, ah
add al, dl
test al, 1
jne 0x1005e7e3
jmp 0x1005e8b2
mov eax, dword [0x1007dc78]
mov ecx, dword [0x1007a5d4]
mov edx, dword [0x1007a5d8]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
sub esi, edi
not edx
sub esi, edx
or edx, ecx
lea ecx, [esi + edx]
add ecx, 0xa
cmp dword [0x1007dc74], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1005e8d0
jmp 0x1005e96a
cmp eax, 0xf3116e9d
jne 0x1005d740
cmp dword [0x1007db20], 0xa
mov edx, dword [0x1007db1c]
setl al
lea ecx, [edx + edx]
mov esi, edx
not esi
add ecx, esi
add ecx, 2
imul ecx, edx
mov edx, dword [0x1007a6a4]
mov esi, dword [0x1007a6a8]
mov edi, esi
and edi, edx
mov ebx, edx
or ebx, esi
not ebx
add ebx, edi
xor edx, esi
add edx, ebx
add edx, 1
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
jne 0x1005f10b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [esi]
mov dword [eax], ecx
mov ecx, dword [0x1007df58]
mov eax, dword [0x1007a6ac]
mov edx, dword [0x1007a6b0]
mov edi, eax
or edi, edx
sub edi, eax
mov esi, eax
xor esi, edx
not esi
add esi, edi
not eax
or eax, edx
sub esi, eax
add esi, 0xa
cmp dword [0x1007df54], esi
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007a6b4]
mov esi, dword [0x1007a6b8]
mov edi, ecx
and edi, esi
mov ebx, ecx
or ebx, esi
sub ebx, edi
mov edi, dword [ebp - 0x50]
xor ecx, esi
mov esi, dword [ebp - 0x54]
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov ebx, dword [ebp - 0x3c]
setne cl
sete dl
mov ah, al
and ah, dl
and cl, al
add cl, ah
add cl, al
or al, dl
add al, cl
add al, 1
test al, 1
je 0x1005f11f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x1005f083
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret