Function at 0x10050040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [0x1006e68c]
mov ecx, dword [0x1006e690]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
add esi, edx
and eax, ecx
mov edx, dword [0x10072204]
add eax, esi
add eax, 0xb
cmp dword [0x10072208], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, cl
or al, dl
add al, ah
and cl, dl
not cl
add cl, al
mov ebx, dword [ebp + 8]
test cl, 1
je 0x100503bc
push eax
mov dword [ebp - 0x18], esp
push eax
mov edi, 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 - 0x44], 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 - 0x48], edx
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [ebp - 0x50], ecx
mov dword [ecx], eax
mov ecx, dword [0x1006e674]
mov eax, dword [0x1006e678]
xor eax, ecx
not eax
and eax, ecx
lea esi, [eax + 0x351157ff]
mov edx, esi
not edx
and esi, 0xcaeea800
add esi, eax
add esi, 0x351157ff
and edx, 0xcaeea800
add edx, esi
sub edx, ecx
add edx, 1
mov esi, edx
and esi, 0x287277d8
not edx
lea esi, [edx + esi*2]
add edx, edx
or edx, 0x50e4efb0
sub esi, edx
add esi, ecx
mov ecx, eax
not ecx
add ecx, ecx
add ecx, eax
lea eax, [esi + ecx]
add ecx, esi
add ecx, 0x3c5c328a
mov edx, ecx
or edx, 0xc3a3cd77
add eax, edx
add eax, 0x3c5c328a
mov edx, ecx
xor edx, 0x3c5c3288
add edx, eax
or ecx, 0x3c5c3288
sub edx, ecx
imul eax, edx, 0xe730af1d
mov ecx, eax
neg ecx
mov edx, ecx
and edx, 0xfd3f7442
sub edx, eax
add eax, 0xffffffff
and eax, 0x2c08bbd
add eax, edx
xor ecx, 0x2c08bbd
sub ecx, eax
imul eax, ecx, 0xf8838b35
lea ecx, [eax + 0x488c72df]
mov edx, ecx
or edx, 0x488c72df
add eax, edx
add eax, 0x488c72df
mov edx, ecx
or edx, 0xb7738d20
add edx, eax
not ecx
lea eax, [ecx + edx]
add eax, 0xb7738d23
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x54], edi
sete byte [edi]
push eax
mov dword [ebp - 0x1c], esp
mov ecx, dword [0x1006e67c]
mov edx, dword [0x1006e680]
mov eax, edx
not eax
mov dword [ebp - 0x10], eax
mov edi, ecx
and edi, eax
mov ebx, ecx
xor ebx, eax
mov esi, ebx
sub esi, edi
mov eax, ecx
or eax, dword [ebp - 0x10]
sub esi, eax
add esi, ebx
not edi
add edi, edi
sub esi, edi
add esi, 0xfffffffe
and esi, ecx
lea eax, [esi + esi]
add eax, 0xfffffffe
neg esi
xor esi, 0x2164fd0b
or eax, 0xbd3605e8
sub esi, eax
lea edi, [esi + edx]
add edi, 0xde9b02f3
add esi, edx
mov eax, edi
and eax, 0x47f977e0
add eax, esi
add eax, 0xde9b02f3
mov esi, edi
not esi
and esi, 0xb806881f
add esi, eax
xor edi, 0xb806881f
sub esi, edi
add esi, 0x47f977e1
and edx, esi
mov edi, dword [ebp - 0x10]
add edx, edi
mov eax, esi
or eax, edi
add eax, edx
xor esi, edi
mov ebx, edi
not esi
lea edi, [eax + esi]
lea edx, [esi + eax]
add edx, 0xb8068820
not ecx
or ecx, ebx
mov eax, ecx
not eax
add eax, eax
lea ebx, [eax + ecx]
add eax, ecx
add eax, 1
mov esi, edx
not esi
lea ecx, [ebx + ebx]
add ecx, 2
sub eax, ecx
mov ecx, edx
and ecx, 0x2035984a
add edi, ecx
add edi, 0xb8068820
mov ecx, 1
sub ecx, eax
and esi, 0xdfca67b5
add esi, edi
xor edx, 0x2035984a
add esi, edx
add esi, 0xdfca67b7
mov edx, esi
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, esi
sub ebx, edi
add eax, 0xffffffff
sub ebx, eax
or esi, ecx
add esi, ebx
sub esi, eax
lea eax, [esi + edx*2]
or edx, ecx
sub eax, edx
add eax, 0x2035984b
not eax
lea ecx, [eax + eax]
sub ecx, eax
lea edx, [ecx + 1]
mov eax, edx
not eax
mov esi, eax
and esi, 0x866d3df1
add ecx, esi
add ecx, 1
xor edx, 0x66d3df1
add edx, edx
sub ecx, edx
mov edx, eax
and edx, 0x7992c20e
add edx, edx
sub ecx, edx
or eax, 0x7992c20e
add eax, ecx
mov ecx, 0xedd127a0
sub ecx, eax
mov eax, ecx
or eax, 0x122ed861
add ecx, eax
not eax
add eax, ecx
add eax, 0x122ed862
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x10], esp
mov ecx, dword [0x1006e69c]
mov edx, dword [0x1006e6a0]
mov esi, edx
sub esi, ecx
mov eax, edx
not eax
or eax, ecx
add eax, esi
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xbc9c5bfa
mov ecx, dword [0x10071f08]
mov esi, dword [0x1006e6a4]
mov edx, dword [0x1006e6a8]
mov edi, edx
not edi
and edi, esi
sub edi, esi
not esi
and esi, edx
sub edi, esi
add edx, edi
add edx, 0xa
cmp dword [0x10071f04], edx
setl dl
lea esi, [ecx + 1]
imul esi, ecx
mov ecx, dword [0x1006e6b0]
mov edi, dword [0x1006e6ac]
and edi, ecx
mov ebx, ecx
sub ebx, edi
not ecx
add ecx, ebx
mov ebx, dword [ebp + 8]
add ecx, edi
add ecx, 1
and esi, 1
cmp esi, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, dl
cmp al, 1
je 0x10051d00
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 edi, dword [0x1006e674]
mov esi, dword [0x1006e678]
mov dword [ebp - 0x18], esi
not esi
mov edx, edi
xor edx, esi
mov eax, edx
and eax, edi
sub eax, edi
mov ecx, edx
or ecx, edi
add ecx, eax
mov eax, edx
mov dword [ebp - 0x1c], edx
xor eax, edi
not eax
add eax, ecx
mov ebx, edi
not ebx
mov ecx, edx
or ecx, ebx
sub eax, ecx
mov edx, eax
not edx
mov ecx, edx
and ecx, 0x351157ff
add ecx, eax
xor eax, 0xcaeea800
add eax, ecx
or edx, 0x351157ff
sub eax, edx
lea ecx, [eax + 0x351157ff]
mov edx, ecx
and edx, 0xcaeea800
add edx, eax
add edx, 0x351157ff
mov eax, ecx
not eax
and eax, 0x351157ff
add eax, edx
xor ecx, 0x351157ff
sub eax, ecx
lea ecx, [eax + eax*2]
add ecx, 0x60cbf803
neg ecx
add ecx, eax
add ecx, 0xcaeea801
add ecx, eax
add ecx, 0xcaeea801
mov eax, ecx
or eax, edi
lea edx, [ecx + edi]
add edx, eax
not eax
add eax, edx
mov edx, ecx
not edx
sub eax, ecx
or edx, edi
sub eax, edx
and ecx, edi
add ecx, eax
add ecx, ebx
mov eax, 0xa87277d9
sub eax, ecx
mov ecx, eax
xor ecx, 0x578d8827
add ecx, eax
mov edx, eax
or edx, 0x578d8827
sub ecx, edx
or eax, 0xa87277d8
add eax, ecx
add eax, 0xaf1b104f
mov ecx, edi
mov edx, dword [ebp - 0x18]
and ecx, edx
and ebx, esi
sub ecx, ebx
add ecx, esi
add ecx, dword [ebp - 0x1c]
or esi, edi
not esi
add esi, ecx
mov ecx, edx
or ecx, edi
sub esi, ecx
and esi, edi
lea ecx, [esi + esi]
sub ecx, esi
not ecx
mov edx, eax
and edx, 0x3c5c3288
mov esi, eax
or esi, 0xc3a3cd77
add esi, edx
xor eax, 0x3c5c3288
add eax, esi
add eax, ecx
imul ecx, eax, 0xe730af1d
lea eax, [ecx - 0x18cf50e3]
not eax
lea edx, [eax + eax*2]
lea ecx, [edx + ecx*2]
add ecx, 0xce615e3a
add eax, eax
sub eax, ecx
lea ecx, [eax - 1]
and ecx, 0x2c08bbd
lea esi, [eax + eax - 2]
sub esi, ecx
sub esi, ecx
neg eax
or eax, 0x2c08bbd
add eax, esi
add eax, ecx
imul eax, eax, 0x77c74cb
add eax, 0x77c74cb
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
sete byte [eax]
push eax
mov dword [ebp - 0x10], esp
mov edi, dword [0x1006e67c]
mov esi, dword [0x1006e680]
mov edx, esi
not edx
mov ecx, edi
not ecx
mov eax, ecx
and eax, edx
add eax, eax
mov ebx, edi
xor ebx, edx
sub ebx, eax
mov eax, edi
or eax, edx
add eax, ebx
add eax, edx
lea ebx, [eax + ecx*2]
or ecx, edx
sub ebx, ecx
add ebx, 1
and ebx, edi
mov eax, ebx
neg eax
mov edi, eax
and edi, 0xde9b02f4
sub edi, ebx
or eax, 0x2164fd0b
add eax, edi
lea edi, [eax + ebx*2]
add edi, 0xfffffffe
lea eax, [ebx + ebx]
add eax, 0xfffffffe
or eax, 0xbd3605e8
sub edi, eax
mov eax, edi
not eax
mov ebx, eax
and ebx, 0xde9b02f5
add ebx, edi
xor edi, 0x5e9b02f5
add edi, edi
sub ebx, edi
mov edi, eax
and edi, 0x2164fd0a
add edi, edi
sub ebx, edi
or eax, 0x2164fd0a
add eax, ebx
mov ebx, dword [ebp + 8]
add esi, esi
sub esi, esi
add esi, edx
not esi
lea edi, [eax + esi]
add eax, esi
add eax, 0xffffffff
and eax, 0x47f977e0
neg edi
and edi, 0xb806881f
sub eax, edi
mov esi, eax
and esi, edx
add edx, esi
add edx, eax
not esi
add edx, esi
add edx, 0xb8068820
lea eax, [ecx + ecx*2]
sub eax, ecx
not ecx
add eax, ecx
lea esi, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 2
mov eax, ecx
not eax
add eax, esi
add eax, 2
mov esi, edx
and esi, 0xdfca67b5
mov edi, edx
or edi, 0x2035984a
add edi, esi
xor edx, 0xdfca67b5
add edx, edi
sub ecx, eax
add ecx, edx
mov eax, ecx
not eax
and eax, 0x7992c20e
sub eax, ecx
and ecx, 0x7992c20e
add ecx, eax
mov eax, 0x493a6aab
sub eax, ecx
mov edx, eax
and edx, 0xedd1279e
add edx, eax
mov ecx, eax
not ecx
and ecx, 0x122ed861
add ecx, edx
xor eax, 0x122ed861
sub ecx, eax
add ecx, 0xedd1279f
mov eax, ecx
not eax
and eax, 0xa9eb1973
mov edx, ecx
sub edx, eax
or ecx, 0x5614e68c
sub edx, ecx
lea eax, [edx - 0x5614e68e]
mov ecx, eax
and ecx, 0x2dd1279e
lea ecx, [edx + ecx*4]
add ecx, 0xa9eb1972
add edx, edx
add edx, 0x53d632e4
or edx, 0x245db0c2
sub ecx, edx
not eax
add eax, eax
or eax, 0x245db0c2
add eax, ecx
add eax, 0x368c8925
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov edx, dword [0x1006e8f4]
mov esi, dword [0x1006e8f8]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, esi
xor ecx, edx
xor edx, esi
sub ecx, edx
add ecx, 0xbc9c5bfa
mov dword [eax], ecx
jmp 0x100500a1
mov edx, dword [0x10071fa8]
cmp dword [0x10071fa4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006e6ec]
mov esi, dword [0x1006e6f0]
mov edi, edx
and edx, esi
not esi
or edi, esi
sub edi, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
je 0x10050700
jmp 0x10051c60
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
mov eax, 0x40de5434
mov ecx, 0x429438a9
cmovne eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov esi, dword [ebp - 0x2c]
mov dword [esi], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x1006e84c]
or ecx, dword [0x1006e850]
mov esi, dword [str.:s_t_b]
mov edi, dword [0x1006e858]
mov edx, esi
xor edx, esi
not edx
and edx, edi
xor edx, esi
xor esi, edi
mov edi, dword [0x10071d9c]
sub edx, esi
add edx, 0xa
cmp dword [0x10071da0], edx
setge dh
setl dl
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x1006e860]
mov ebx, edi
not ebx
mov eax, dword [0x1006e85c]
and ebx, eax
sub ebx, eax
not eax
and eax, edi
sub ebx, eax
add ebx, edi
and esi, 1
cmp esi, ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
mov dword [eax], esi
mov eax, ecx
not eax
lea eax, [ecx + eax + 0x31ec793b]
mov dword [ebx], eax
sete al
mov ecx, edx
and cl, al
mov ah, cl
add ah, dl
or dl, al
add dl, ah
add dl, dh
not cl
add cl, dl
test cl, 1
jne 0x10051c60
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
mov eax, 0x40de5434
mov ecx, 0x429438a9
cmovne eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov esi, dword [ebp - 0x2c]
mov dword [esi], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov eax, dword [0x1006e944]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x31ec793b
mov dword [ebx], eax
jmp 0x1005073f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006e7cc]
mov edx, dword [0x1006e7d0]
lea edi, [ecx + ecx]
mov esi, ecx
or esi, edx
sub edi, esi
mov esi, ecx
xor esi, edx
not esi
add esi, edi
mov edi, edx
not edi
or edi, ecx
add edi, edi
sub esi, edi
and ecx, edx
not ecx
add ecx, esi
add ecx, 0x40de5434
cmp eax, ecx
mov eax, 0x474fce81
mov ecx, 0xe367026c
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x1006e7d4]
mov edx, dword [0x1006e7d8]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
mov edx, dword [0x10071db8]
sub eax, ecx
add eax, 0xa
cmp dword [0x10071db4], eax
setge al
setl cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
mov ebx, dword [ebp - 0x10]
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 0x10051c60
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x40de5434
mov eax, 0x474fce81
mov ecx, 0xe367026c
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10050871
mov ecx, dword [0x1006e70c]
mov edx, dword [0x1006e710]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10071ddc], eax
mov edx, dword [0x10071de0]
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006e714]
mov esi, dword [0x1006e718]
mov ebx, edx
or ebx, esi
mov edi, edx
not edx
or edx, esi
not esi
and edi, esi
shl edi, 2
add ebx, ebx
sub edi, ebx
mov ebx, dword [ebp - 0x10]
add esi, esi
sub edi, esi
lea edx, [edi + edx*2]
and ecx, 1
cmp ecx, edx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov dword [edx], ecx
sete cl
or cl, al
mov dword [ebx], 0x8a48589c
jne 0x10051c60
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebx], 0x8a48589c
jmp 0x1005092c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x429438a9
mov eax, 0x7d9d1b62
mov ecx, 0x18505402
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x10071dd8]
cmp dword [0x10071dd4], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10051c60
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006e904]
mov edx, dword [0x1006e908]
mov esi, ecx
and esi, edx
add esi, esi
mov edi, ecx
xor edi, edx
sub edx, esi
not edi
add edi, edx
add ecx, edi
add ecx, 0x429438aa
cmp eax, ecx
mov eax, 0x7d9d1b62
mov ecx, 0x18505402
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x100509be
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006e754]
mov edx, dword [0x1006e758]
mov esi, ecx
and esi, edx
sub esi, ecx
mov edi, ecx
xor edi, edx
add edi, esi
or edx, ecx
not edx
add edx, edi
add ecx, edx
add ecx, 0x7992c210
cmp eax, ecx
mov eax, 0xf210e479
mov ecx, 0xf445a377
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1006e75c]
mov ecx, dword [0x1006e760]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
mov esi, ecx
not esi
add esi, edx
mov ecx, dword [0x10071dd0]
add eax, esi
add eax, 0xc
cmp dword [0x10071dcc], eax
setl al
mov edx, ecx
and edx, 1
mov esi, ecx
not esi
and esi, 1
add esi, esi
sub edx, esi
sub edx, ecx
sub edx, ecx
add edx, 1
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10051c60
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006e90c]
mov edx, dword [0x1006e910]
mov edi, edx
not edi
and edi, ecx
add edi, edi
sub edi, ecx
mov esi, ecx
not esi
add esi, edi
and ecx, edx
not ecx
add ecx, ecx
sub esi, ecx
add esi, 0x7992c20e
cmp eax, esi
mov eax, 0xf210e479
mov ecx, 0xf445a377
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x10050a36
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [0x1006e77c]
mov esi, dword [0x1006e780]
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, 0x7992c20f
cmp eax, ecx
mov eax, 0x474fce81
mov ecx, 0xef4aac77
cmove eax, ecx
mov esi, dword [0x1006e784]
mov edx, dword [0x1006e788]
mov ecx, esi
not ecx
mov edi, ecx
and edi, edx
lea edi, [edi + edi*2]
lea ebx, [edx + edx]
sub ebx, edi
xor esi, edx
add esi, ebx
lea esi, [esi + ecx*2]
or ecx, edx
sub esi, ecx
add esi, 0xb
cmp dword [0x10071dc4], esi
mov esi, dword [0x10071dc8]
setl byte [ebp - 0x14]
mov edx, esi
or edx, 1
add edx, esi
add edx, esi
mov edi, esi
not edi
add edx, edi
add edx, 0xffffffff
imul edx, esi
mov ecx, dword [0x1006e78c]
mov edi, dword [0x1006e790]
mov esi, ecx
or esi, edi
mov ebx, esi
not ebx
add ebx, esi
mov esi, ecx
not esi
add ebx, esi
or esi, edi
sub ebx, esi
and ecx, edi
add ecx, ebx
add ecx, 1
mov ebx, dword [ebp - 0x10]
and edx, 1
cmp edx, ecx
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x10051c60
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x7992c20f
mov eax, 0x474fce81
mov ecx, 0xef4aac77
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10050b0c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x429438a9
mov eax, 0x474fce81
mov ecx, 0xc224bf4f
cmove eax, ecx
mov dword [ebx], eax
mov edx, dword [0x10071dc0]
cmp dword [0x10071dbc], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
xor dl, al
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10051c60
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x429438a9
mov eax, 0x474fce81
mov ecx, 0xc224bf4f
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10050bf6
mov eax, dword [0x1006e7f4]
mov edx, dword [0x1006e7f8]
mov ecx, eax
not ecx
or ecx, edx
add ecx, eax
and eax, edx
mov dword [ebp - 0x14], eax
mov esi, dword [0x1006e800]
mov edx, esi
not edx
lea edi, [edx + edx*2]
add edi, esi
mov ebx, dword [0x1006e7fc]
or edx, ebx
add edx, edx
sub edx, edi
and ebx, esi
not ebx
lea edx, [edx + ebx*2]
add edx, 0xb
cmp dword [0x10071dac], edx
mov edi, dword [0x10071db0]
setl byte [ebp - 0x24]
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x1006e808]
mov ebx, edi
not ebx
mov eax, dword [0x1006e804]
mov edx, eax
and edx, ebx
xor edi, eax
not edi
add edi, edx
or ebx, eax
sub edi, ebx
mov ebx, dword [ebp - 0x10]
and esi, 1
cmp esi, edi
mov eax, dword [ebp - 0x14]
not eax
lea eax, [eax + ecx - 0x2b0fc9cd]
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x24]
jne 0x10051c60
mov dword [ebx], 0xd4f03631
jmp 0x10050c56
cmp dword [0x10071da4], 0xa
mov edx, dword [0x10071da8]
setl al
mov ecx, edx
not ecx
mov esi, ecx
and esi, 1
add esi, edx
add ecx, esi
add ecx, 0xbfbea843
imul ecx, edx
mov edx, dword [0x1006e82c]
mov esi, dword [0x1006e830]
mov edi, edx
not edi
and edi, esi
mov ebx, edx
xor ebx, esi
add ebx, ebx
sub edi, ebx
mov ebx, edx
or ebx, esi
not ebx
add ebx, ebx
sub edi, ebx
mov ebx, dword [ebp - 0x10]
and edx, esi
not esi
add esi, edi
not edx
add edx, esi
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
mov dword [ebx], 0x31ec793a
jne 0x10051c60
mov dword [ebx], 0x31ec793a
jmp 0x10050cf3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
lea ecx, [eax + eax]
add ecx, 0x64534a6f
mov edx, ecx
and edx, 0x64534a6f
lea esi, [edx + edx*2]
not ecx
or ecx, 0x64534a6f
sub esi, ecx
not edx
lea ecx, [esi + edx*2]
add ecx, 0x9bacb592
mov edx, ecx
not edx
mov esi, ecx
xor esi, 0xb54c2993
mov edi, ecx
sub edi, esi
or ecx, 0xb54c2993
add ecx, edi
or edx, 0x4ab3d66c
lea esi, [ecx + edx]
add edx, ecx
add edx, 0x4ab3d66f
mov ecx, edx
and ecx, 0x4ab3d66c
add ecx, esi
add ecx, 0x4ab3d66f
mov esi, edx
not esi
add esi, ecx
and edx, 0xb54c2993
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
add edx, esi
add edx, 0xb54c2994
mov ecx, eax
not eax
mov esi, eax
and esi, 0xbde2f091
lea edi, [eax + eax*2]
add edi, esi
add eax, eax
mov ebx, eax
or ebx, 0x7bc5e122
sub edi, ebx
mov ebx, eax
or ebx, 0x843a1edc
sub edi, ebx
mov ebx, ecx
or ebx, 0xbde2f091
add ebx, edi
not esi
add esi, ebx
mov edi, ecx
and edi, 1
mov ebx, ecx
xor ebx, 0xfffffffe
lea edi, [ebx + edi*4]
lea ebx, [ecx + ecx]
or ebx, 0xfffffffc
sub edi, ebx
or eax, 0xfffffffc
add edi, eax
add edi, 0xfffffffe
and edi, ecx
mov eax, ecx
or eax, 0x421d0f6e
xor ecx, 0xbde2f091
add eax, ecx
add eax, 1
or eax, esi
mov esi, eax
xor esi, 0xbde2f091
and eax, 1
add eax, esi
mov esi, eax
not esi
and esi, edx
mov ecx, dword [ebp - 0x14]
add ecx, esi
add ecx, 0xb54c2994
mov esi, edx
not esi
and esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
sub esi, eax
xor eax, edx
sub esi, eax
lea eax, [edi + edi]
sub eax, edi
sub eax, edi
not edi
or eax, edi
add eax, esi
mov edx, eax
not edx
lea eax, [edx + eax*2]
imul eax, eax, 0xaf185b51
lea edx, [eax + 0xd4911f3]
mov esi, edx
and esi, 0x43a49d11
add eax, esi
add eax, 0xd4911f3
mov esi, edx
not esi
and esi, 0xbc5b62ee
add esi, eax
xor edx, 0xbc5b62ee
sub esi, edx
imul eax, esi, 0xfa39cdb1
lea edx, [eax + 0x239a0372]
mov esi, edx
or esi, 0x239a0372
add eax, esi
add eax, 0x239a0372
not edx
or edx, 0x239a0372
add edx, eax
add edx, 0xb8cbf91d
mov eax, edx
not eax
movzx esi, al
mov edi, edx
and edi, 0xffffff00
or edi, esi
xor edx, 0xff
sub edi, edx
or eax, 0xffffff00
add eax, edi
mov edx, eax
not edx
lea eax, [eax + edx*2]
add eax, 1
mov edx, eax
not edx
lea esi, [edx + edx*2]
sub eax, esi
add eax, edx
lea eax, [eax + edx*2]
mov edx, eax
or edx, 0x970988a3
lea esi, [eax + edx]
not edx
add edx, esi
mov esi, eax
or esi, 0x68f6775c
sub edx, esi
and eax, 0x970988a3
add eax, edx
imul edx, eax, 0xf2bc39f5
lea eax, [edx + 0x2af8b538]
mov esi, eax
xor esi, 0xe5d48487
add edx, esi
add edx, 0x2af8b538
not eax
add edx, eax
add eax, eax
or eax, 0x3456f6f0
sub edx, eax
imul edx, edx, 0x41f1ea5d
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 8]
movzx edi, byte [edx + eax - 0x6621035b]
mov dword [ebp - 0x20], edi
mov eax, ecx
xor eax, 0xa273bdad
add ecx, eax
sub ecx, eax
add ecx, 0xa273bdad
mov eax, ecx
and eax, 0x5d8c4252
mov edx, ecx
or edx, 0xa273bdad
add edx, eax
xor ecx, 0x5d8c4252
lea esi, [edx + ecx]
add ecx, edx
add ecx, 0x5d8c4254
mov eax, edi
add eax, 0xffffffff
mov edx, ecx
and edx, eax
add edx, esi
add edx, 0x5d8c4254
mov esi, edi
neg esi
sub edx, esi
sub edx, esi
mov edi, ecx
or edi, esi
add edi, edx
xor esi, ecx
not esi
lea edx, [edi + esi*2]
or eax, ecx
add eax, eax
sub edx, eax
lea eax, [edx - 0x403b874a]
not eax
mov ecx, eax
or ecx, 0xbfc478b6
lea ecx, [ecx + edx*2]
add ecx, 0x7f88f16c
or eax, 0x403b8749
lea edx, [eax + ecx]
add edx, 0x403b874c
mov eax, edx
xor eax, 0xffffff00
mov esi, edx
or esi, 0xffffff00
add esi, eax
mov edi, edx
not edi
mov ebx, edi
or ebx, 0xffffff00
add esi, ebx
add esi, 0x101
mov ecx, esi
and ecx, edx
mov eax, esi
or eax, edx
not eax
lea eax, [eax + ecx*2]
xor esi, edx
add esi, eax
lea eax, [esi*4 + 4]
not eax
lea ecx, [eax + eax]
lea ecx, [ecx + esi*8]
add ecx, 8
mov esi, eax
sub esi, ecx
neg ecx
add ecx, eax
add ecx, 0xffffffff
mov eax, esi
neg eax
and eax, edx
add eax, esi
add eax, 0xffffffff
mov esi, edx
sub esi, eax
mov eax, ecx
or eax, edx
lea eax, [esi + eax*2]
or ecx, edi
add ecx, eax
and edi, 0x2d129622
mov eax, edx
and eax, 0xd2ed69dd
or eax, edi
mov esi, eax
xor esi, 0xd2ed69dd
sub esi, eax
or eax, 0x2d129622
add eax, esi
or edx, 0xd2ed69dd
sub eax, edx
add eax, 0xd2ed69dd
movzx edx, al
lea esi, [edx + edx]
sub esi, edx
xor eax, 0xff
or eax, esi
add eax, ecx
mov ecx, 0x2b2ab669
sub ecx, eax
mov eax, ecx
and eax, 0x2b2ab66a
not ecx
or ecx, 0x2b2ab66a
lea esi, [eax + eax*2]
sub esi, ecx
mov ecx, ebx
not ecx
lea edx, [ecx + ecx*2]
add edx, ebx
add ecx, ecx
sub edx, ecx
add edx, ebx
not eax
lea ecx, [esi + eax*2]
lea eax, [esi + eax*2]
add eax, 0x53201808
lea esi, [edx + edx]
add esi, 2
mov edi, eax
or eax, esi
not esi
and edi, esi
add ecx, edi
add ecx, 0x53201808
lea ecx, [ecx + edx*2]
add ecx, 2
not eax
add eax, ecx
sub eax, esi
mov ecx, eax
and ecx, 0x7e4ace70
add ecx, eax
not eax
and eax, 0x7e4ace70
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x783aaac3
mov ecx, eax
and ecx, 0x8b2fb85c
add ecx, edx
add ecx, 0x783aaac3
mov edx, eax
not edx
and edx, 0x74d047a3
add edx, ecx
xor eax, 0x74d047a3
sub edx, eax
imul eax, edx, 0xf0f1e229
lea ecx, [eax + 0x2af3a0e5]
not ecx
lea eax, [eax + eax*2]
add eax, 0x80dae2af
lea eax, [eax + ecx*2]
imul eax, eax, 0x4cbada19
lea edx, [eax - 0x2bf04a29]
mov ecx, edx
and ecx, 0x6f7ffd52
add ecx, ecx
neg ecx
add ecx, eax
add ecx, 0xd40fb5d7
xor edx, 0x908002ad
add edx, ecx
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
add eax, edx
add eax, 0xb30fb07c
mov edx, eax
and edx, 0x3a9a01a4
not eax
lea edx, [eax + edx*2]
add eax, eax
or eax, 0x75340348
sub edx, eax
mov edi, dword [ebp + 8]
mov al, byte [edi + edx + 0x55e60110]
mov esi, edx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x14]
mov byte [edx + edi - 0x6621035b], al
mov edx, eax
not dl
mov ah, dl
and ah, 0xe8
add ah, al
mov al, dl
and al, 0x17
add al, ah
sub al, dl
add al, 0xe8
mov ah, al
and ah, 0x17
add ah, al
mov edx, eax
not dl
and dl, 0xe8
add dl, ah
xor al, 0xe8
sub dl, al
add dl, 0x18
mov eax, edx
or al, 0xea
add al, dl
not dl
or dl, 0xea
add dl, al
add dl, 1
mov ah, dl
not ah
mov ebx, dword [ebp - 0x20]
and ah, bl
add ah, ah
mov al, dl
and al, bl
mov dh, al
sub dh, ah
mov byte [edi + esi + 0x55e60110], bl
add dh, bl
mov ah, dl
or ah, bl
add ah, dh
not bl
or bl, dl
sub ah, bl
not al
add al, ah
movzx eax, al
imul eax, eax, 0x61
add al, 0x56
mov edx, eax
or dl, 0x3f
add dl, al
mov dh, al
xor dh, 0xc0
add dh, dl
or al, 0xc0
sub dh, al
movzx eax, dh
imul ebx, eax, 0xffffffa1
add bl, 0xc2
mov eax, ebx
and al, 0x87
add al, bl
mov ah, bl
xor ah, 0x87
add ah, al
mov edx, dword [ebp + 0x10]
mov dl, byte [edx + ecx]
or bl, 0x87
sub ah, bl
add ah, 0x78
mov dh, ah
and dh, 0x60
add dh, ah
mov al, ah
not al
and al, 0x9f
add al, dh
xor ah, 0x9f
sub al, ah
add al, 0x9f
mov ah, al
and ah, 7
add ah, ah
mov dh, al
sub dh, ah
mov ah, al
xor ah, 0x78
add ah, dh
mov dh, al
or dh, 0x87
add dh, ah
not al
or al, 0x78
sub dh, al
add dh, 0x88
movzx eax, dh
mov bh, byte [edi + eax + 8]
mov dh, bh
mov bl, bh
and bl, dl
xor dh, dl
mov al, dh
add al, dh
sub al, dl
mov ah, dh
not ah
and ah, bh
add ah, ah
add ah, dh
or dh, bh
not bh
add bh, al
mov dl, bl
not dl
add dl, dl
not dl
add dl, bh
or dl, bl
mov ebx, edx
not bl
add bl, bl
mov al, dl
sub al, bl
add dl, dl
sub al, dl
mov ebx, eax
add bl, 0xff
sub ah, dh
mov dl, ah
not dl
add dl, dl
add dl, ah
mov ah, bl
and ah, 0xd2
mov dh, ah
add dh, ah
add bl, bl
sub bl, dh
add dl, 1
neg al
or al, 0xd2
add al, bl
add al, ah
add al, 0x2f
mov ah, dl
not ah
mov dh, al
and dh, ah
add dh, al
add dh, dl
xor dl, al
not dl
add dl, dh
or ah, al
sub dl, ah
movzx eax, dl
imul edx, eax, 0xffffffb1
mov al, 0xce
sub al, dl
mov ah, al
and ah, 0xd0
sub ah, dl
add dl, 0x31
and dl, 0x2f
add dl, ah
xor al, 0xd0
add al, dl
add al, 0x9f
mov edx, eax
add dl, al
sub al, dl
movzx eax, al
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
mov edx, eax
add dl, 0xff
mov dh, dl
and dh, 0x30
sub dh, al
neg al
or al, 0x30
add al, dh
add al, dl
add dl, dl
or dl, 0x9e
sub al, dl
add al, 0xcf
mov edx, eax
add dl, al
not al
mov ah, al
add ah, al
add ah, dl
not ah
add ah, al
mov edx, dword [ebp + 0x14]
mov byte [edx + ecx], ah
mov eax, ecx
and eax, 0x814ce2da
add ecx, eax
not eax
add eax, ecx
add eax, 0x9bf73160
mov ecx, eax
and ecx, 0x2a5f8542
lea edx, [ecx + ecx*2]
not eax
or eax, 0x2a5f8542
sub edx, eax
not ecx
lea eax, [edx + ecx*2]
add eax, 0x39a94961
mov ecx, eax
xor ecx, 0x2a5f8542
mov edx, eax
sub edx, ecx
mov ecx, eax
not ecx
or eax, 0x2a5f8542
add eax, edx
or ecx, 0xd5a07abd
add eax, ecx
add eax, 0x2a5f8543
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp + 0xc]
mov ecx, 0x40de5434
mov eax, 0x429438a9
cmove ecx, eax
mov dword [ebp - 0x40], ecx
mov edi, dword [0x1006e874]
mov ebx, dword [0x1006e878]
mov eax, edi
and eax, ebx
mov edx, edi
or edx, ebx
sub edx, eax
xor edi, ebx
cmp dword [0x10071d94], 0xa
setl byte [ebp - 0x3c]
mov eax, dword [0x10071d98]
lea ebx, [eax + 1]
imul ebx, eax
mov ecx, dword [0x1006e884]
mov esi, dword [0x1006e888]
mov eax, ecx
and ecx, esi
not esi
or eax, esi
sub eax, esi
sub eax, ecx
and ebx, 1
cmp ebx, eax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
lea eax, [eax + 0x55e60108]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax - 0x66210363]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
not edi
lea eax, [edx + edi + 0x31ec793b]
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x3c]
jne 0x10051c60
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
lea eax, [ecx + ecx]
not eax
mov edx, eax
and edx, 0x64534a6f
lea edx, [edx + ecx*2]
mov esi, eax
and esi, 0x9bacb590
add esi, edx
sub esi, eax
lea edx, [esi + 0x64534a6f]
mov eax, edx
and eax, 0x9bacb590
add esi, eax
add esi, 0x64534a6f
mov eax, edx
not eax
and eax, 0x64534a6f
add eax, esi
xor edx, 0x64534a6f
sub eax, edx
lea edx, [eax - 0x64534a6f]
mov esi, edx
or esi, 0xb54c2993
add eax, esi
add eax, 0x9bacb591
not edx
or edx, 0xb54c2993
add eax, edx
add eax, 0x9567acdb
mov esi, eax
and esi, 1
mov edx, eax
not edx
mov edi, edx
and edi, 1
add edi, edi
sub esi, edi
mov edi, eax
or edi, 1
add edi, esi
or eax, 0xfffffffe
sub edi, eax
or edx, 0xfffffffe
lea esi, [edi + edx]
add esi, 0xb54c2994
mov eax, ecx
not eax
mov edi, eax
or edi, ecx
and edi, 0xbde2f091
mov edx, ecx
xor edx, 0x421d0f6e
sub edi, edx
mov edx, ecx
xor edx, 0xbde2f091
add edx, ecx
or eax, 0xbde2f091
add edi, eax
not eax
add eax, edi
mov edi, ecx
xor edi, 0xfffffffe
and edi, ecx
or ecx, 0xbde2f091
sub eax, ecx
sub edx, ecx
mov ecx, eax
xor ecx, eax
not ecx
and ecx, edx
xor ecx, eax
mov ebx, eax
xor ebx, edx
sub ecx, ebx
or edx, eax
add edx, ecx
mov eax, edx
and eax, 0x3de2f091
add eax, eax
mov ecx, edx
xor ecx, 0x421d0f6e
add ecx, ecx
sub ecx, eax
mov eax, edx
or eax, 0xbde2f091
add eax, ecx
not edx
or edx, 0x421d0f6e
sub eax, edx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
or ecx, 0xfffffffe
lea ebx, [edx + ecx]
not ecx
add ecx, ebx
add ecx, eax
or eax, 0xfffffffe
sub ecx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 1
not ecx
lea edx, [ecx + eax*2 + 4]
lea eax, [ecx + eax*2]
add eax, 2
add eax, eax
add eax, 4
mov ecx, esi
sub ecx, eax
mov eax, esi
xor eax, edx
add eax, ecx
mov ebx, esi
not ebx
add ebx, eax
and esi, edx
not esi
add esi, esi
sub ebx, esi
lea edx, [ebx - 1]
mov eax, edi
not eax
lea ecx, [edi + eax*2]
add ecx, 1
lea esi, [edx + edx*2]
mov eax, edx
or eax, 0x8aa91b14
sub esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
xor edx, 0x7556e4eb
add edx, esi
lea esi, [ebx + ebx]
add esi, 0xfffffffe
neg ebx
or esi, 0xeaadc9d6
sub edx, esi
or ebx, 0x7556e4eb
lea esi, [edx + ebx]
add edx, ebx
add edx, 0x7556e4ec
mov edi, ecx
not edi
and edi, edx
add esi, edi
add esi, 0x7556e4ec
mov edi, edx
not edi
and edi, ecx
add edi, esi
add edi, ecx
xor edx, ecx
sub edi, edx
mov ecx, edi
and ecx, 0x7556e4eb
mov edx, edi
or edx, 0x8aa91b14
add edx, ecx
xor edi, 0x7556e4eb
lea ecx, [edx + edi]
add edx, edi
add edx, 0x8aa91b15
mov esi, edx
and esi, 0xfffffffe
add ecx, esi
add ecx, 0x8aa91b15
not edx
add ecx, edx
or edx, 0xfffffffe
sub ecx, edx
imul ecx, ecx, 0xaf185b51
add ecx, 0x5e30b6a2
mov edx, ecx
and edx, 0x43a49d11
mov esi, ecx
or esi, 0xbc5b62ee
add esi, edx
xor ecx, 0x43a49d11
add ecx, esi
imul ecx, ecx, 0xfa39cdb1
add ecx, 0xfa39cdb1
mov edx, ecx
not edx
or edx, 0xffffff00
add edx, edx
or ecx, 0xffffff00
lea esi, [edx + ecx]
add ecx, edx
add ecx, 0x101
not ecx
lea edx, [ecx + esi + 0x101]
lea esi, [edx + ecx]
lea ecx, [ecx + edx - 0x68f6775c]
mov edx, ecx
not edx
mov edi, edx
and edi, 0x970988a3
add esi, edi
add esi, 0x970988a4
or ecx, 0x970988a3
add ecx, esi
add ecx, edx
add edx, edx
or edx, 0xd1eceeb8
sub ecx, edx
imul ecx, ecx, 0xf2bc39f5
lea edx, [ecx - 0x3e7c66f2]
and edx, 0xe5d48487
add ecx, edx
add ecx, 0xc183990e
not edx
lea esi, [ecx + edx]
add ecx, edx
add ecx, 0xe5d48488
mov edx, ecx
not edx
and edx, 0x5e643fb0
add edx, esi
add edx, 0xe5d48488
add esi, esi
add esi, 0xcba90910
or esi, 0xbcc87f60
sub esi, edx
or ecx, 0xa19bc04f
add ecx, esi
imul edx, ecx, 0x41f1ea5d
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp + 8]
movzx esi, byte [edx + ecx + 0x78835f5a]
mov dword [ebp - 0x24], esi
mov ecx, eax
or ecx, 0x5d8c4252
add ecx, eax
mov edx, eax
not edx
or edx, 0x5d8c4252
add edx, ecx
lea edi, [esi + edx]
add edi, 0xa273bdaf
mov esi, edi
xor esi, 0x3fffff00
mov eax, edi
or eax, 0xff
mov dword [ebp - 0x40], eax
add esi, eax
mov ecx, edi
not ecx
mov eax, ecx
or eax, 0xff
mov dword [ebp - 0x3c], eax
lea ebx, [eax + esi]
add ebx, 0xffffff02
and ebx, edi
mov dword [ebp - 0x20], edi
lea eax, [ebx*4]
not eax
mov esi, eax
and esi, 0xe6dbe824
lea esi, [esi + ebx*4]
mov ebx, eax
and ebx, 0x192417db
add ebx, esi
sub ebx, eax
mov esi, ebx
neg esi
add ebx, 0xffffffff
and ebx, edi
mov eax, esi
sub eax, ebx
mov edi, dword [ebp - 0x24]
add edx, edi
lea eax, [eax + edx*2]
add eax, 0x44e77b5e
add eax, ecx
or esi, ecx
sub eax, esi
lea edx, [eax + eax*2]
not eax
lea edx, [edx + eax*2]
mov edi, 0xfffffffe
sub edi, edx
mov esi, dword [ebp - 0x20]
mov edx, esi
and edx, 0xd2ed69dd
xor esi, 0x2d129622
sub esi, edx
mov ebx, ecx
and ebx, 0x2d129622
sub esi, ecx
add esi, 0xd2ed69dd
mov edx, esi
not edx
and edx, ebx
add edx, edx
sub edx, ebx
mov eax, ebx
or eax, esi
add eax, edx
and esi, ebx
not ebx
add ebx, eax
not esi
add esi, esi
not esi
add esi, ebx
mov eax, esi
xor eax, 0xdd
movzx eax, al
xor esi, 0xd2ed6922
or esi, eax
mov eax, edi
not eax
lea edx, [eax + edi*2]
lea edi, [eax + edi*2]
add edi, 0x2b2ab66b
lea ebx, [esi - 1]
mov eax, edi
and eax, ebx
add edx, eax
add edx, 0x2b2ab66b
sub edx, esi
mov eax, esi
neg eax
or eax, edi
not eax
add eax, edx
sub eax, ebx
mov edx, eax
and edx, 0xd4d54995
add edx, eax
mov esi, eax
not esi
and esi, 0x2b2ab66a
add esi, edx
xor eax, 0x2b2ab66a
sub esi, eax
mov edx, dword [ebp - 0x20]
and edx, 0x7fffff00
movzx eax, cl
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0xfffffe00
sub ecx, eax
sub ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x40]
mov eax, ecx
sub eax, ecx
sub eax, ecx
add eax, ecx
add eax, ecx
lea ecx, [esi - 0x2b2ab66a]
mov edx, ecx
or edx, 0x81b5318f
add edx, esi
add edx, 0xd4d54996
mov esi, ecx
or esi, 0x7e4ace70
add esi, edx
not ecx
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0x7e4ace73
lea esi, [edx + eax*2]
add esi, 0x7e4ace73
add eax, eax
mov edx, ecx
or edx, eax
add esi, edx
not edx
add edx, esi
mov esi, ecx
not esi
add edx, esi
or esi, eax
sub edx, esi
and eax, ecx
lea esi, [edx + eax]
lea ecx, [edx + eax]
add ecx, 0xf6857934
mov eax, ecx
xor eax, 0x74d047a3
add eax, esi
add eax, 0xf6857934
not ecx
add eax, ecx
add ecx, ecx
or ecx, 0x165f70b8
sub eax, ecx
lea ecx, [eax + 0x50f9725e]
mov edx, ecx
or edx, 0x6f7ffd52
add eax, edx
add eax, 0x50f9725e
mov edx, ecx
not edx
add edx, eax
and ecx, 0x6f7ffd52
lea esi, [edx + ecx]
lea eax, [ecx + edx]
add eax, 1
mov ecx, eax
not ecx
and ecx, 0xc565fe5b
add ecx, esi
add ecx, 1
and eax, 0xc565fe5b
add eax, ecx
mov ecx, eax
and ecx, 0x908002ad
add ecx, eax
mov esi, eax
not esi
mov edx, esi
and edx, 0x6f7ffd52
sub ecx, edx
and esi, 0x908002ad
add esi, ecx
or eax, 0x908002ad
sub esi, eax
mov edi, dword [ebp + 8]
mov al, byte [edi + esi + 8]
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xe8
mov ah, al
or ah, 0xe8
add ah, dl
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
mov byte [edx + edi + 0x78835f5a], al
xor al, 0x17
add al, al
add al, ah
add cl, cl
or cl, 0xd0
sub al, cl
add al, 0xe8
mov ecx, eax
and cl, 0x17
mov edx, eax
or dl, 0xe8
add dl, cl
xor al, 0x17
add al, dl
add al, 3
mov ecx, eax
add cl, al
mov ebx, dword [ebp - 0x24]
add cl, bl
mov edx, eax
not dl
or dl, bl
add dl, cl
mov byte [edi + esi + 8], bl
and al, bl
not al
add al, dl
add al, 2
mov ecx, eax
add cl, al
or cl, 0x2a
add cl, al
not al
add al, al
or al, 0x2a
add al, cl
movzx eax, al
imul eax, eax, 0x61
add al, 0x2e
mov ecx, eax
and cl, 0xc0
add cl, al
mov edx, eax
xor dl, 0xc0
add dl, cl
or al, 0xc0
sub dl, al
movzx eax, dl
imul eax, eax, 0xffffffa1
add al, 0xd9
mov ecx, eax
or cl, 0x9f
add cl, al
not al
or al, 0x9f
add al, cl
add al, 1
mov edx, eax
not dl
mov ecx, eax
and cl, 0x78
add cl, al
and dl, 0x87
add dl, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x20]
mov cl, byte [ecx + edi]
xor al, 0x78
add al, dl
add al, 0x89
movzx eax, al
mov edx, dword [ebp + 8]
mov ch, byte [edx + eax + 8]
mov dh, ch
and dh, cl
mov bh, ch
not bh
and bh, cl
mov bl, ch
or bl, cl
mov al, ch
xor al, cl
mov byte [ebp - 0x24], al
not cl
mov al, ch
or al, cl
xor cl, ch
mov ah, cl
and ah, ch
mov dl, ah
shl dl, 2
sub dl, cl
not cl
or cl, ch
add ch, ch
sub dh, ch
sub dh, bh
add bl, bl
add bl, dh
add al, bl
add al, 1
or al, byte [ebp - 0x24]
mov ch, al
add ch, al
sub al, ch
add al, 0xfe
sub dl, cl
mov ecx, eax
not cl
not ah
add ah, ah
add ah, dl
mov edx, ecx
shl dl, 2
add cl, cl
mov ch, cl
or ch, 0xa4
sub dl, ch
add ah, 1
or cl, 0x5a
sub dl, cl
mov ecx, eax
or cl, 0xd2
add cl, dl
mov dl, ah
not dl
or al, 0x2d
add al, cl
add al, 0x2e
and ah, al
add ah, dl
mov ecx, eax
or cl, dl
add cl, ah
xor al, dl
not al
add al, cl
add al, 0xd3
mov ecx, dword [ebp + 0x14]
mov byte [ecx + edi], al
imul eax, edi, 0x1dd0f111
lea ecx, [eax + 0x1dd0f111]
not ecx
lea eax, [ecx + eax*2]
add eax, 0x3ba1e222
imul eax, eax, 0xf5c1ff1
lea ecx, [eax - 0x54acaeb1]
mov edx, ecx
and edx, 0xd5a07abd
add edx, eax
add edx, 0xab53514f
mov eax, ecx
not eax
and eax, 0x2a5f8542
add eax, edx
xor ecx, 0x2a5f8542
sub eax, ecx
lea ecx, [eax - 0x2a5f8542]
mov edx, ecx
and edx, 0x6408cea2
mov edi, ecx
xor ecx, 0x6408cea2
add ecx, edx
not edi
and edi, 0x9bf7315d
add edi, ecx
lea ecx, [eax + edi]
add ecx, 0xd5a07abe
lea edx, [eax + edi]
add edx, 0x39a94961
mov eax, edx
or eax, 0x2a5f8542
add ecx, eax
add ecx, 0x6408cea3
mov eax, dword [ebp - 0x14]
add eax, 0x78835f52
not edx
or edx, 0x2a5f8542
add ecx, edx
add ecx, 1
cmp ecx, dword [ebp + 0xc]
mov edx, 0x40de5434
mov edi, 0x429438a9
cmove edx, edi
mov edi, dword [ebp - 0x1c]
mov dword [edi], edx
mov edx, dword [ebp - 0x34]
mov dword [edx], eax
mov edx, dword [ebp - 0x30]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x28]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov ecx, dword [0x1006e94c]
mov eax, dword [0x1006e950]
mov edx, eax
not edx
mov esi, ecx
and esi, edx
xor eax, ecx
not eax
add eax, esi
or edx, ecx
sub eax, edx
add eax, 0x31ec793a
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10050d68
mov eax, dword [0x1006e8bc]
mov ecx, dword [str.IZm_n]
mov esi, ecx
not esi
and esi, eax
add esi, esi
sub esi, eax
mov edx, eax
not edx
add edx, esi
and eax, ecx
not eax
add eax, eax
sub edx, eax
add edx, 0xbc9c5bf9
mov dword [ebx], edx
cmp dword [0x10071f44], 0xa
mov eax, dword [0x10071f48]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
jne 0x10051cd7
nop
mov ecx, dword [0x10071ed4]
mov edx, dword [0x1006e8e4]
mov esi, dword [0x1006e8e8]
mov eax, edx
xor eax, edx
not eax
and eax, esi
xor eax, edx
xor edx, esi
sub eax, edx
add eax, 0xa
cmp dword [0x10071ed8], eax
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 2
imul edx, ecx
mov ecx, dword [0x1006e8ec]
mov esi, dword [0x1006e8f0]
mov edi, ecx
or edi, esi
not ecx
or ecx, esi
not esi
add esi, edi
add ecx, esi
add ecx, 2
and edx, 1
cmp edx, ecx
sete cl
setne dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
and cl, al
not cl
add cl, dl
test cl, 1
je 0x10051c60
jmp 0x10051d00
mov ecx, dword [0x1006e954]
mov edx, dword [0x1006e958]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xbc9c5bfa
mov dword [ebx], eax
jmp 0x10051c12
mov edx, dword [0x10071de8]
cmp dword [0x10071de4], 0xa
setge al
setl cl
mov esi, edx
xor esi, 1
mov edi, edx
sub edi, esi
mov esi, edx
or esi, 1
add esi, edi
mov edi, edx
not edi
or edi, 0xfffffffe
lea ebx, [edi + esi]
add ebx, 2
imul ebx, edx
test bl, 1
sete dl
and bl, cl
mov ah, cl
or ah, dl
add ah, bl
mov ebx, dword [ebp - 0x10]
add ah, al
and cl, dl
not cl
add cl, ah
mov eax, dword [ebx]
test cl, 1
je 0x10051d00
cmp eax, 0xf210e478
jle 0x10051e20
cmp eax, 0x31ec7939
jg 0x10051e9e
cmp eax, 0xf210e479
je 0x10051f81
cmp eax, 0xf445a377
je 0x10052004
cmp eax, 0x18505402
jne 0x10050700
mov eax, dword [0x1006e7bc]
mov ecx, dword [0x1006e7c0]
mov edx, eax
or edx, ecx
mov esi, eax
and eax, ecx
not ecx
add ecx, edx
not esi
add esi, ecx
add eax, esi
add eax, 0xc
cmp dword [0x10072040], eax
mov edx, dword [0x1007203c]
setl byte [ebp - 0x14]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x863f8cf8
imul ecx, edx
mov eax, dword [0x1006e7c4]
mov edx, dword [0x1006e7c8]
mov edi, edx
not edi
mov ebx, eax
and ebx, edi
mov esi, eax
not esi
and esi, edx
sub ebx, esi
add ebx, edx
or edx, eax
not edx
add edx, ebx
mov ebx, dword [ebp - 0x10]
or edi, eax
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
mov dl, byte [ebp - 0x14]
mov ecx, edx
and cl, al
or dl, al
add dl, cl
not cl
add cl, dl
test cl, 1
je 0x10050871
jmp 0x1005090e
cmp eax, 0xd4f03630
jle 0x10051f23
cmp eax, 0xd4f03631
je 0x10052061
cmp eax, 0xe367026c
je 0x100520b6
cmp eax, 0xef4aac77
jne 0x10050700
mov eax, dword [0x10071ffc]
mov ecx, dword [0x1006e834]
mov edx, dword [0x1006e838]
mov esi, ecx
not esi
and esi, edx
lea esi, [esi + ecx*2]
mov edi, ecx
or edi, edx
add edi, edi
sub edi, esi
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0xb
cmp dword [0x10072000], 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 0x1005073f
jmp 0x10050817
cmp eax, 0x31ec793a
je 0x1005211d
cmp eax, 0x474fce81
je 0x1005215b
cmp eax, 0x7d9d1b62
jne 0x10050700
mov esi, dword [0x1007201c]
cmp dword [0x10072020], 0xa
setge cl
setl al
mov edx, esi
not edx
add edx, 2
imul edx, esi
mov esi, dword [0x1006e74c]
mov edi, dword [0x1006e750]
mov ebx, esi
or esi, edi
not edi
and ebx, edi
not esi
add esi, ebx
mov ebx, dword [ebp - 0x10]
sub esi, edi
and edx, 1
cmp edx, esi
sete dl
setne ah
and ah, al
and cl, dl
or cl, ah
mov ah, al
xor ah, dl
add ah, cl
or al, dl
add al, ah
add al, 1
test al, 1
je 0x10050a36
jmp 0x10050ac7
cmp eax, 0x8a48589c
je 0x100521b2
cmp eax, 0xbc9c5bfa
jne 0x10052225
mov eax, dword [0x1007216c]
mov ecx, dword [0x1006e6f4]
mov edx, dword [0x1006e6f8]
mov esi, ecx
or ecx, edx
not edx
and esi, edx
not ecx
add ecx, esi
sub ecx, edx
add ecx, 0xa
cmp dword [0x10072170], 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 0x1005092c
jmp 0x100509a9
mov edx, dword [0x10072138]
mov ecx, dword [0x1006e76c]
mov eax, dword [0x1006e770]
mov edi, ecx
or edi, eax
sub edi, eax
mov esi, ecx
xor esi, eax
not esi
add esi, edi
not eax
or eax, ecx
sub esi, eax
add esi, 0xa
cmp dword [0x10072134], esi
setge ah
setl al
lea esi, [edx - 1]
imul esi, edx
mov ecx, dword [0x1006e774]
mov edx, dword [0x1006e778]
mov ebx, edx
not ebx
mov edi, ecx
and edi, ebx
xor edx, ecx
not edx
add edx, edi
or ebx, ecx
sub edx, ebx
mov ebx, dword [ebp - 0x10]
and esi, 1
cmp esi, edx
sete cl
setne dl
and dl, al
and ah, cl
or ah, dl
mov edx, eax
xor dl, cl
add dl, ah
or al, cl
add al, dl
test al, 1
jne 0x10050b0c
jmp 0x10050bd8
mov eax, dword [0x10072008]
mov ecx, dword [0x1006e794]
mov esi, dword [0x1006e798]
mov edx, ecx
and edx, esi
mov edi, ecx
or edi, esi
add edi, edx
xor ecx, esi
sub ecx, edi
not edx
add edx, edx
sub ecx, edx
add ecx, 8
cmp dword [0x10072004], ecx
setge cl
setl dl
lea ebx, [eax + 1]
imul ebx, eax
test bl, 1
mov ebx, dword [ebp - 0x10]
sete al
mov ah, dl
xor ah, al
add ah, al
or dl, al
add dl, ah
add dl, cl
test dl, 1
je 0x10050bf6
jmp 0x10050c3b
mov edx, dword [0x10072090]
cmp dword [0x1007208c], 0xa
setge al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006e814]
mov esi, dword [0x1006e818]
mov edi, edx
and edi, esi
mov ebx, edx
or ebx, esi
not ebx
add ebx, edi
xor edx, esi
add edx, ebx
add edx, 1
mov ebx, dword [ebp - 0x10]
and ecx, 1
cmp ecx, edx
setne cl
sete dl
or dl, al
add dl, cl
test dl, 1
jne 0x10050cf3
jmp 0x10050d60
mov edx, dword [0x100721bc]
mov eax, dword [0x1006e868]
mov ecx, dword [0x1006e864]
and ecx, eax
mov esi, eax
sub esi, ecx
not eax
add eax, esi
add eax, ecx
add eax, 0xb
cmp dword [0x100721c0], eax
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1006e86c]
mov esi, dword [0x1006e870]
mov edi, edx
not edi
or edi, esi
add edi, edx
and edx, esi
not edx
add edx, edi
add edx, 2
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10050d68
jmp 0x1005148e
mov edx, dword [0x10072230]
cmp dword [0x1007222c], 0xa
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
mov ebx, dword [ebp - 0x10]
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x10051c12
jmp 0x10051cd7
mov ecx, dword [0x1006e7e4]
mov edx, dword [0x1006e7e8]
mov eax, edx
not eax
mov esi, ecx
and esi, eax
sub esi, edx
mov edi, ecx
or edi, edx
add edi, esi
xor edx, ecx
not edx
lea edx, [edi + edx*2]
or eax, ecx
add eax, eax
sub edx, eax
mov eax, dword [0x10072044]
add edx, 0xa
cmp dword [0x10072048], edx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10050c56
jmp 0x10050ce8
mov edx, dword [0x10072038]
mov ecx, dword [0x1006e71c]
mov esi, dword [0x1006e720]
mov eax, ecx
xor eax, ecx
not eax
and eax, esi
xor eax, ecx
xor ecx, esi
sub eax, ecx
add eax, 0xa
cmp dword [0x10072034], eax
setge ch
setl cl
lea esi, [edx - 1]
imul esi, edx
mov eax, dword [0x1006e724]
mov edi, dword [0x1006e728]
mov ebx, eax
and ebx, edi
add ebx, ebx
mov edx, eax
xor edx, edi
sub edi, ebx
mov ebx, dword [ebp - 0x10]
not edx
add edx, edi
add eax, edx
add eax, 1
and esi, 1
cmp esi, eax
sete al
or al, cl
add al, cl
add al, ch
test al, 1
je 0x100509be
jmp 0x100509fa
cmp eax, 0xc224bf4f
jne 0x10050700
mov eax, dword [0x1006e88c]
mov ecx, dword [0x1006e890]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10072234], eax
mov eax, dword [0x10072238]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
jne 0x100522c7
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [esi]
mov dword [edx], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [eax], ecx
cmp dword [0x10071ecc], 0xa
mov edx, dword [0x10071ed0]
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006e8a4]
mov esi, dword [0x1006e8a8]
mov edi, esi
and edi, edx
not esi
add edi, esi
or esi, edx
sub edi, esi
mov esi, dword [ebp - 0x44]
and ecx, 1
cmp ecx, edi
mov edi, dword [ebp - 0x28]
sete cl
or cl, al
cmp cl, 1
je 0x100522d8
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [esi]
mov dword [edx], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x10052275
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret