Function at 0x1004fa50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [0x1006d664]
mov ecx, dword [0x1006d668]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
mov ecx, dword [0x1007129c]
add eax, 0xa
cmp dword [0x100712a0], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
cmp cl, 1
jne 0x1004ff05
push eax
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x4c], esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov edi, esp
push eax
mov ebx, esp
mov ecx, dword [ebp + 8]
mov dword [ebx], ecx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebx]
mov eax, dword [eax]
mov dword [ebp - 0x44], edi
mov dword [edi], eax
lea eax, [ecx + 4]
mov dword [esi], eax
mov dword [ebp - 0x54], esi
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x58], edx
mov dword [edx], eax
mov esi, dword [0x1006d64c]
mov edx, dword [0x1006d650]
mov ebx, edx
not ebx
mov dword [ebp - 0x10], ebx
mov ecx, esi
and ecx, ebx
mov edi, esi
xor edi, ebx
lea eax, [ecx + edi*2]
mov edi, esi
or edi, ebx
sub eax, edi
mov ecx, eax
and ecx, esi
mov ebx, esi
not ebx
mov edi, eax
and edi, ebx
sub ecx, edi
mov edi, eax
xor edi, esi
add edi, ecx
or eax, ebx
add ebx, ebx
mov ecx, esi
sub ecx, ebx
add esi, esi
sub ecx, esi
add ecx, 0xfffffffe
mov ebx, dword [ebp - 0x10]
lea esi, [edx + ebx*2]
add esi, 1
or esi, ecx
lea edx, [esi + esi]
sub edx, esi
lea esi, [edi + eax]
not edx
add eax, edi
add eax, 0xde8f4b40
mov ecx, eax
and ecx, edx
add esi, ecx
add esi, 0xde8f4b40
add esi, edx
or edx, eax
sub esi, edx
sub esi, edx
not edx
add edx, edx
sub esi, edx
not ecx
lea eax, [esi + ecx]
add ecx, esi
add ecx, 0x2170b4c0
mov edx, ecx
not edx
and edx, 0xe59bd1f9
add eax, edx
add eax, 0x2170b4c0
and ecx, 0xe59bd1f9
add ecx, eax
mov edx, ecx
mov eax, ebx
and edx, ebx
add edx, ecx
add edx, ebx
sub edx, ecx
not ecx
or ecx, ebx
not ecx
add ecx, edx
mov eax, ecx
or eax, 0xe59bd1f9
lea edx, [ecx + eax]
not eax
lea eax, [edx + eax*2]
mov edx, ecx
or edx, 0x1a642e06
sub eax, edx
add eax, ecx
add eax, 0x1a642e08
mov ecx, eax
and ecx, 0xf9dc725
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0xf9dc725
add edx, esi
not eax
or eax, 0xf9dc725
add eax, edx
not ecx
add ecx, ecx
sub eax, ecx
add eax, 0xe0c471b5
mov ecx, eax
and ecx, 0xfffffffe
mov edx, eax
or edx, 1
add edx, ecx
xor eax, 0xfffffffe
add eax, edx
add eax, 2
mov ecx, eax
or ecx, 0xf9dc725
sub ecx, eax
mov edx, eax
or edx, 0xf06238da
add edx, ecx
add edx, eax
imul eax, edx, 0xe35b9f83
lea ecx, [eax + 0x78ef8272]
add eax, eax
add eax, 0xf1df04e4
sub eax, ecx
not ecx
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 0x6c31eac8
lea ecx, [edx + edx*2]
add ecx, 0x4495c058
not eax
lea eax, [ecx + eax*2]
neg eax
imul eax, eax, 0xee0fe72b
add eax, 0x30b54aec
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x4c]
sete byte [eax]
push eax
mov dword [ebp - 0x28], esp
mov ebx, dword [0x1006d654]
mov edx, dword [0x1006d658]
mov dword [ebp - 0x10], edx
mov esi, edx
neg esi
lea eax, [esi + esi]
sub esi, eax
mov eax, ebx
not eax
not edx
mov dword [ebp - 0x14], edx
lea ecx, [edx + edx]
sub ecx, edx
mov edi, eax
and edi, ecx
lea edi, [ebx + edi*2]
mov edx, ebx
mov dword [ebp - 0x24], ebx
or ebx, ecx
sub edi, ebx
mov ebx, esi
and ebx, 0xfd0cb395
add esi, ebx
not ebx
add ebx, esi
lea esi, [edi + ebx]
mov dword [ebp - 0x1c], esi
lea esi, [edi + ebx]
add esi, 0xfd0cb396
mov edi, esi
xor edi, 0xfd0cb395
mov ebx, dword [ebp - 0x1c]
add edi, ebx
add edi, 0xfd0cb396
mov ebx, esi
not ebx
and ebx, 0x2f34c6a
add ebx, edi
and esi, 0xfd0cb395
lea edi, [ebx + esi]
mov dword [ebp - 0x1c], edi
add esi, ebx
add esi, 0x2f34c6c
and eax, dword [ebp - 0x10]
and ecx, edx
mov edi, eax
or edi, ecx
lea ebx, [ecx + edi]
not edi
add edi, ebx
not eax
or eax, ecx
sub edi, eax
mov eax, edi
not eax
lea ecx, [edi + eax]
add ecx, eax
add ecx, edi
add eax, ecx
add eax, 2
and eax, 0x97eb1fa6
and edi, 0x6814e059
or edi, eax
mov eax, edi
and eax, 0x97eb1fa6
mov ecx, edi
xor ecx, 0x6814e059
add ecx, eax
not edi
add ecx, edi
or edi, 0x97eb1fa6
sub edi, ecx
mov eax, esi
not eax
and eax, 0x956ec00e
mov ecx, dword [ebp - 0x1c]
add eax, ecx
add eax, 0x2f34c6c
and esi, 0x956ec00e
add esi, eax
lea ecx, [esi + edi]
lea eax, [edi + esi]
add eax, 0x6a913ff2
mov edx, dword [ebp - 0x10]
mov esi, edx
and esi, 0x30e287b6
mov edi, edx
xor edi, 0x30e287b6
add edi, esi
mov esi, edx
xor esi, 0x4f1d7849
lea esi, [edi + esi*2]
or edx, 0xcf1d7849
sub esi, edx
mov edx, dword [ebp - 0x14]
mov edi, edx
or edi, 0x30e287b6
sub esi, edi
mov edi, edx
and edi, 0xcf1d7849
or esi, edi
xor esi, 0x30e287b6
mov edi, esi
neg edi
mov ebx, eax
and ebx, edi
add ecx, ebx
add ecx, 0x6a913ff2
not eax
and eax, edi
add eax, ecx
add eax, esi
add eax, esi
mov ecx, dword [ebp - 0x24]
xor edx, ecx
and edx, ecx
lea esi, [eax + edx]
lea ecx, [edx + eax]
add ecx, 1
mov eax, ecx
and eax, 0x4a9d18fc
lea edx, [esi + esi]
add edx, 2
sub edx, eax
mov eax, ecx
xor eax, 0xb562e703
add eax, edx
or ecx, 0xb562e703
sub eax, ecx
add eax, 0xb562e703
mov ecx, eax
and ecx, 0xdaa35d4c
mov edx, eax
xor edx, 0xdaa35d4c
add edx, ecx
or eax, 0x255ca2b3
add eax, edx
add eax, 0xdaa35d4d
mov ecx, eax
not ecx
and ecx, 0xb562e703
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0xb562e703
add ecx, edx
or eax, 0xb562e703
sub ecx, eax
imul ecx, ecx, 0x1bc99c75
lea eax, [ecx - 0x30371b14]
mov edx, eax
and edx, 0x576cb126
add ecx, ecx
add ecx, 0x9f91c9d8
sub ecx, edx
mov edx, eax
xor edx, 0xa8934ed9
add edx, ecx
or eax, 0xa8934ed9
sub edx, eax
lea eax, [edx + 0x576cb126]
mov ecx, eax
and ecx, 0xcfc8e4eb
add edx, edx
add edx, 0xaed9624c
sub edx, ecx
not eax
and eax, 0x30371b14
add eax, edx
imul eax, eax, 0x711253dd
add eax, 0xf0fc032
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
push eax
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x10], esp
mov eax, dword [0x1006d674]
mov ecx, eax
not ecx
add ecx, ecx
lea ecx, [ecx + eax*2]
mov eax, 0xfc5b98
sub eax, ecx
mov ecx, dword [0x1006d67c]
xor ecx, dword [0x1006d680]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x10070f4c], ecx
mov esi, dword [0x10070f50]
setl byte [ebp - 0x14]
lea edx, [esi - 1]
imul edx, esi
mov edi, dword [0x1006d684]
mov esi, edi
not esi
mov ebx, dword [0x1006d688]
mov ecx, esi
and ecx, ebx
not ebx
or ebx, edi
sub edi, ecx
mov ecx, dword [ebp - 0x10]
sub edi, ebx
add edi, esi
and edx, 1
cmp edx, edi
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x14]
add al, 1
test al, 1
je 0x10051970
push eax
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov edi, esp
mov ebx, dword [ebp + 8]
mov dword [edi], ebx
mov edi, dword [edi]
mov edi, dword [edi]
mov dword [esi], edi
lea esi, [ebx + 4]
mov dword [edx], esi
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ecx], edx
mov edx, dword [0x1006d64c]
mov ecx, dword [0x1006d650]
not ecx
mov esi, edx
xor esi, ecx
mov edi, esi
and edi, edx
mov ebx, esi
xor ebx, edx
add ebx, edi
or esi, edx
not esi
add esi, ebx
lea ebx, [esi + edi]
add esi, edi
add esi, 1
lea edi, [esi + esi]
add esi, edi
mov edi, ebx
sub edi, esi
lea esi, [edi + ebx]
add esi, 2
not esi
mov edi, edx
not edi
lea edx, [edx + edi*2]
add edx, 1
not edx
or edx, ecx
sub esi, edx
lea edx, [esi - 0x2170b4c1]
not edx
lea esi, [edx + esi*2]
add esi, 0xc42b1d39
mov edi, esi
or edi, ecx
add edi, ecx
mov edx, esi
xor edx, ecx
not edx
add edx, edi
not esi
or esi, ecx
sub edx, esi
lea ecx, [edx + 0xac666e2]
mov esi, ecx
not esi
and ecx, 0xfffffffe
add ecx, edx
add ecx, 0xac666e2
and esi, 0xfffffffe
lea edx, [ecx + esi]
add ecx, esi
add ecx, 0x2c8ade6
add edx, edx
add edx, 0x5915bcc
sub ecx, edx
add ecx, 0xf32ae6bd
not ecx
cmp dword [ebp + 0xc], ecx
sete byte [eax]
push eax
mov dword [ebp - 0x24], esp
mov esi, dword [0x1006d654]
mov dword [ebp - 0x14], esi
mov edx, dword [0x1006d658]
mov dword [ebp - 0x18], edx
mov eax, edx
sub eax, edx
sub eax, edx
mov ebx, esi
not ebx
mov dword [ebp - 0x28], ebx
not edx
mov dword [ebp - 0x10], edx
mov ecx, ebx
and ecx, edx
sub ecx, ebx
sub ecx, ebx
sub ecx, esi
sub ecx, esi
lea edx, [ecx - 2]
not edx
lea ecx, [ecx + edx*2]
add ecx, 0xffffffff
not ecx
lea edx, [ecx + ecx]
sub ecx, edx
lea edx, [eax + eax]
sub eax, edx
mov esi, ecx
neg esi
lea edx, [eax - 0x2f34c6b]
mov edi, edx
or edi, esi
add edi, ecx
add eax, eax
add eax, 0xfa19672a
sub eax, ecx
sub eax, edi
and edx, esi
sub eax, edx
mov ecx, eax
and ecx, 0xfd0cb395
lea esi, [eax + eax]
sub esi, ecx
sub esi, ecx
not eax
or eax, 0xfd0cb395
add eax, esi
lea edx, [eax + ecx]
mov dword [ebp - 0x30], edx
lea ebx, [ecx + eax]
add ebx, 0x2f34c6c
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
and esi, eax
mov dword [ebp - 0x1c], esi
mov edx, dword [ebp - 0x28]
mov ecx, edx
or ecx, eax
lea eax, [edx + esi*2]
sub eax, ecx
mov ecx, edx
and ecx, dword [ebp - 0x18]
mov edx, ecx
or edx, eax
mov edi, edx
not edi
add edi, edi
lea edx, [edi + edx*2]
not eax
or eax, ecx
sub edx, eax
lea eax, [edx + ecx]
add eax, 1
add edx, ecx
lea edi, [edx + edx]
add edi, 2
mov esi, eax
not esi
mov ecx, esi
sub ecx, edi
mov edx, eax
and edx, 0x6814e059
sub edx, edi
mov edi, eax
or edi, 0x6814e059
add edi, edx
or eax, 0x97eb1fa6
add eax, edi
sub eax, esi
sub ecx, esi
sub ecx, esi
add ecx, 0xfffffffe
mov edx, ecx
or edx, 0x97eb1fa6
xor ecx, 0x6814e059
add edx, ecx
add edx, 1
mov ecx, eax
not ecx
and ecx, edx
sub ecx, edx
mov esi, edx
not esi
and esi, eax
sub ecx, esi
add ecx, eax
or eax, edx
add eax, ecx
mov ecx, eax
not ecx
xor eax, 0x6814e059
lea eax, [eax + eax*2]
mov edx, ecx
and edx, 0x17eb1fa6
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0x2fd63f4c
sub ecx, eax
mov eax, dword [ebp - 0x30]
add eax, eax
add eax, 0x5e698d8
mov edx, ebx
xor edx, 0x956ec00e
sub eax, edx
mov edx, ebx
xor edx, 0x6a913ff1
add edx, edx
sub eax, edx
not ebx
add ebx, ebx
or ebx, 0x2add801c
add ebx, eax
lea eax, [ecx + ebx]
add eax, 0x6a913ff2
mov edx, dword [ebp - 0x10]
and edx, 0xcf1d7849
mov ebx, dword [ebp - 0x18]
mov esi, ebx
and esi, 0x30e287b6
lea edi, [edx + esi]
mov ecx, edi
sub ecx, esi
add ecx, edi
sub ecx, edx
mov edx, ecx
xor edx, 0x30e287b6
mov esi, ecx
or esi, 0x30e287b6
add esi, edx
not ecx
or ecx, 0x30e287b6
add ecx, esi
add ecx, 0xcf1d784a
lea edx, [ecx + eax]
not ecx
mov esi, eax
xor esi, ecx
add esi, edx
mov edx, eax
or edx, ecx
not edx
add edx, esi
and ecx, eax
mov eax, dword [ebp - 0x14]
and ebx, eax
mov edi, dword [ebp - 0x10]
xor edi, eax
mov esi, eax
add edi, ebx
add edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add eax, edi
add eax, 1
and eax, esi
not eax
add ecx, edx
add ecx, 0x435e6dd8
mov edx, ecx
sub edx, eax
neg eax
mov esi, ecx
xor esi, eax
add esi, edx
mov edx, ecx
or edx, eax
not edx
add edx, esi
and eax, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x7204792e
mov edx, eax
not edx
mov esi, eax
xor esi, 0xdaa35d4c
add ecx, esi
add ecx, 0x7204792e
and edx, 0x255ca2b3
add edx, ecx
and eax, 0xdaa35d4c
add eax, edx
imul ecx, eax, 0x1bc99c75
lea eax, [ecx - 0x35ad82e]
mov edx, eax
not edx
and edx, 0x30371b14
add ecx, edx
add ecx, 0xfca527d2
mov edx, eax
or edx, 0x30371b14
add edx, ecx
xor eax, 0xcfc8e4eb
lea ecx, [edx + eax]
add eax, edx
add eax, 0x9f91c9d9
mov edx, eax
not edx
mov esi, edx
and esi, 0x576cb126
lea ecx, [esi + ecx*2]
add ecx, 0x3f2393b2
or eax, 0xa8934ed9
add eax, ecx
add eax, edx
imul eax, eax, 0x711253dd
mov ecx, 0xf4293c34
sub ecx, eax
and ecx, 0xf0fc031
sub ecx, eax
add ecx, eax
add ecx, 0xbd6c3cb
add eax, 0xbd6c3cb
or eax, 0xf0fc031
sub eax, ecx
add eax, 0x1ae683fe
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov dword [eax], 0xfc5b9a
jmp 0x1004fa9b
mov eax, dword [0x1006d6bc]
mov ecx, dword [0x1006d6c0]
mov edx, eax
or edx, ecx
mov esi, edx
not esi
lea edx, [edx + esi*2]
not ecx
or ecx, eax
sub edx, ecx
add eax, edx
add eax, 0xb
cmp dword [0x10070df4], eax
mov edx, dword [0x10070df8]
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x446694f4
imul ecx, edx
mov dword [ebp - 0x14], ecx
mov edx, dword [0x1006d6c4]
mov edi, dword [0x1006d6c8]
mov esi, edx
and esi, edi
mov ebx, edx
or ebx, edi
sub ebx, esi
sub ebx, esi
not edx
or edx, edi
not edi
add edi, ebx
add edx, edi
not esi
add esi, esi
sub edx, esi
mov ecx, dword [ebp - 0x14]
and ecx, 1
cmp ecx, edx
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
je 0x100502b0
jmp 0x100518f0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [0x1006d6dc]
mov ecx, dword [0x1006d6e0]
mov edx, eax
sub edx, ecx
mov esi, eax
xor esi, ecx
sub edx, esi
not esi
add esi, esi
sub edx, esi
not eax
or eax, ecx
lea eax, [edx + eax*2]
add eax, 0xd53c6d3e
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10070df0]
cmp dword [0x10070dec], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x100518f0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd53c6d3e
jmp 0x10050348
mov eax, dword [0x1006d7cc]
mov ecx, dword [0x1006d7d0]
mov esi, eax
or esi, ecx
sub esi, eax
mov edx, eax
xor edx, ecx
not edx
add edx, esi
not eax
or eax, ecx
sub edx, eax
add edx, 0xa14be5c6
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov ecx, dword [0x10070dd8]
cmp dword [0x10070dd4], 0xa
setl dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
and dl, al
add dl, cl
not cl
add cl, dl
add cl, al
test cl, 1
jne 0x100518f0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa14be5c6
jmp 0x100503b6
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [0x1006d704]
mov esi, dword [0x1006d708]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, esi
xor ecx, edx
xor edx, esi
sub ecx, edx
add ecx, 0x2854ed5
cmp eax, ecx
mov eax, 0x1eee60c9
mov ecx, 0xfdde9021
cmovl eax, ecx
mov esi, dword [0x10070de8]
cmp dword [0x10070de4], 0xa
setl cl
mov edx, esi
not edx
add edx, esi
add edx, esi
add edx, 2
imul edx, esi
mov esi, dword [0x1006d714]
mov edi, dword [0x1006d718]
mov ebx, esi
and ebx, edi
not esi
add ebx, esi
or esi, edi
sub ebx, esi
and edx, 1
cmp edx, ebx
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
sete al
or al, cl
jne 0x100518f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x2854ed5
mov eax, 0x1eee60c9
mov ecx, 0xfdde9021
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1005041b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006d72c]
mov edx, dword [0x1006d730]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x2a49aba1
cmp eax, ecx
mov eax, 0x44158be7
mov ecx, 0x6e01bc27
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10070f68]
cmp dword [0x10070f64], 0xa
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x100518f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006d8dc]
mov esi, dword [0x1006d8e0]
mov edi, ecx
and edi, esi
mov edx, esi
not edx
and edx, ecx
sub edx, edi
add edx, esi
xor ecx, esi
sub edx, ecx
add edx, 0x2a49aba0
cmp eax, edx
mov eax, 0x44158be7
mov ecx, 0x6e01bc27
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100504bb
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006d754]
mov edx, dword [0x1006d758]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
not edi
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0x2a49aba1
cmp eax, ecx
mov edx, 0x3a3f9b84
mov eax, 0xd787e96d
cmove edx, eax
mov edi, dword [0x10070de0]
cmp dword [0x10070ddc], 0xa
setl byte [ebp - 0x14]
setge byte [ebp - 0x20]
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x1006d764]
mov eax, edi
not eax
mov ebx, dword [0x1006d768]
and eax, ebx
mov ecx, edi
or ecx, ebx
add ecx, eax
xor edi, ebx
not edi
add edi, ecx
not ebx
lea eax, [ebx + edi]
add eax, 2
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
setne al
sete cl
mov ah, byte [ebp - 0x20]
mov dl, ah
and dl, cl
mov ch, byte [ebp - 0x14]
add dl, ch
or cl, ch
add cl, dl
or al, ch
add al, cl
add al, ah
test al, 1
jne 0x100518f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0x2a49aba0
mov eax, 0x3a3f9b84
mov ecx, 0xd787e96d
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1005055f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006d77c]
mov esi, dword [0x1006d780]
mov edx, ecx
and edx, esi
mov edi, ecx
lea ebx, [ecx + ecx]
or ecx, esi
not esi
and edi, esi
lea edx, [edi + edx*2]
sub ebx, edx
not ecx
add ecx, ebx
sub ecx, esi
add ecx, 0x2854ed5
cmp eax, ecx
mov eax, 0x3a3f9b84
mov ecx, 0xa23e0106
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x1006d784]
mov ecx, dword [0x1006d788]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10070f20]
cmp dword [0x10070f1c], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x100518f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1006d8ec]
mov edx, dword [0x1006d8f0]
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 esi, edi
not ecx
or ecx, edx
sub esi, ecx
add esi, 0x2854ed5
cmp eax, esi
mov eax, 0x3a3f9b84
mov ecx, 0xa23e0106
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10050625
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xdaa35d4c
mov eax, 0x3a3f9b84
mov ecx, 0x7bf07e41
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [0x10070ec0]
mov eax, dword [0x1006d7ac]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10070ebc], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006d7b4]
mov esi, edx
not esi
or esi, edx
mov edx, dword [0x1006d7b8]
and esi, edx
sub esi, edx
and ecx, 1
cmp ecx, esi
setne cl
sete ah
mov edx, eax
or dl, ah
mov ch, al
xor ch, ah
and al, ah
add ah, dl
not dl
add dl, ah
not ch
add ch, dl
add ch, cl
not al
add al, ch
test al, 1
jne 0x100518f0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, 0xdaa35d4c
mov eax, 0x3a3f9b84
mov ecx, 0x7bf07e41
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100506f2
mov eax, dword [0x1006d7f4]
mov ecx, dword [0x1006d7f8]
mov edx, eax
and edx, ecx
mov esi, eax
xor esi, ecx
add esi, edx
or eax, ecx
sub esi, eax
add esi, 0x108eb199
mov eax, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [0x1006d7fc]
mov ecx, dword [0x1006d800]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
xor ecx, eax
sub ecx, esi
or edx, eax
lea eax, [ecx + edx]
add eax, 0xb
mov ecx, dword [0x10070f00]
cmp dword [0x10070efc], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x100518f0
mov eax, dword [0x1006d904]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x108eb19a
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10050795
mov eax, dword [ebp - 0x4c]
cmp byte [eax], 0
mov eax, 0x2a49aba0
mov ecx, 0x2854ed5
cmovne eax, ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, dword [0x1006d65c]
mov dword [ebp - 0x14], ecx
mov edx, dword [0x1006d660]
not ecx
mov esi, edx
not esi
mov edi, ecx
or edi, esi
lea ebx, [edi + edi]
not edi
mov eax, edi
sub eax, ebx
add edi, edi
sub eax, edi
lea edi, [eax - 2]
not edi
add edi, eax
add edi, 0xfffffffe
add eax, edi
add eax, 0xffffffff
mov edi, eax
and edi, 0xf279eec8
not eax
or eax, 0xf279eec8
sub edi, eax
lea eax, [edx + esi*2]
lea edx, [edx + esi*2]
add edx, 1
lea esi, [eax + eax]
add esi, 2
sub edx, esi
sub edx, eax
lea esi, [edx + eax]
add esi, 0xffffffff
mov eax, edi
neg eax
and eax, 0x6530802d
add eax, edi
add eax, 0xffffffff
lea edx, [edi - 1]
mov edi, dword [ebp - 0x14]
xor esi, edi
and esi, edi
mov ebx, edi
and edx, 0x6530802d
add edx, eax
mov edi, edx
and edi, esi
add edi, edx
add edi, esi
sub edi, edx
not edx
or edx, esi
not edx
add edx, edi
mov eax, edx
or eax, 0x6530802d
lea esi, [edx + eax]
not eax
lea edi, [esi + eax*2]
mov eax, edx
or eax, 0x9acf7fd2
sub edi, eax
mov eax, ebx
lea esi, [ebx + ebx]
not esi
lea ebx, [esi + ecx]
add esi, eax
sub esi, ecx
sub ebx, ecx
sub ebx, ecx
lea ecx, [ebx - 1]
neg ebx
mov eax, esi
not eax
and eax, ecx
sub eax, ecx
and ebx, esi
sub eax, ebx
add eax, esi
or esi, ecx
lea ecx, [edi + edx]
add esi, eax
lea eax, [edi + edx]
add eax, 0x656320b1
add ecx, ecx
add ecx, 0xcac64162
mov edx, eax
xor edx, esi
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
not eax
or eax, esi
lea edx, [ecx + eax*2]
lea eax, [ecx + eax*2]
add eax, 0x96aaf90a
mov ecx, eax
or ecx, 0x1f331e52
add ecx, edx
add ecx, 0x96aaf90a
not eax
or eax, 0x1f331e52
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xc199c35d
mov ecx, eax
or ecx, 0x9ec1661a
add ecx, edx
add ecx, 0xc199c35d
not eax
or eax, 0x9ec1661a
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0xe0cce1ad
add ecx, edx
add ecx, 1
mov edx, eax
not edx
and edx, 0x1f331e52
add edx, ecx
xor eax, 0x1f331e52
sub edx, eax
add edx, 0x1f331e52
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1006d81c]
mov esi, dword [0x1006d820]
mov edi, eax
xor edi, esi
mov edx, eax
or edx, esi
not edx
add edx, edi
and eax, esi
mov dword [ebp - 0x20], eax
mov esi, dword [0x1006d824]
mov edi, dword [0x1006d828]
mov ebx, esi
and ebx, edi
not esi
add ebx, esi
or esi, edi
sub ebx, esi
mov edi, dword [0x10070dd0]
add ebx, 0xa
cmp dword [0x10070dcc], ebx
setl byte [ebp - 0x2c]
lea esi, [edi - 1]
imul esi, edi
mov ecx, dword [0x1006d830]
mov edi, ecx
not edi
mov eax, dword [0x1006d82c]
and edi, eax
mov ebx, eax
not ebx
add ebx, edi
and eax, ecx
add eax, ebx
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
lea eax, [eax + edx + 0x108eb19a]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x2c]
jne 0x100518f0
mov eax, dword [ebp - 0x4c]
cmp byte [eax], 0
mov eax, 0x2a49aba0
mov ecx, 0x2854ed5
cmovne eax, ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [0x1006d65c]
mov esi, dword [0x1006d660]
mov ecx, eax
not ecx
mov edx, esi
not edx
mov edi, ecx
or edi, edx
lea ebx, [edx + edi]
not edi
add edi, ebx
mov ebx, ecx
xor ebx, edx
add ebx, edi
add ebx, esi
mov esi, ecx
and esi, edx
lea edi, [ebx + esi]
add esi, ebx
add esi, 2
not esi
add edi, esi
add edi, 2
add edi, esi
add edi, 0xf279eec9
mov ebx, edi
or ebx, 0xf279eec8
mov esi, edi
xor esi, 0xd861137
add esi, ebx
not edi
or edi, 0xf279eec8
sub esi, edi
xor edx, eax
not edx
mov ebx, edx
and ebx, eax
mov edi, edx
and edi, ecx
sub ebx, edi
add ebx, edx
mov edi, edx
xor edi, eax
add edi, ebx
add esi, 0xd861138
or edx, eax
sub edi, edx
mov edx, esi
not edx
and edx, 0x6530802d
mov ebx, esi
sub ebx, edx
mov edx, esi
xor edx, 0x6530802d
add edx, ebx
or esi, 0x6530802d
sub edx, esi
lea esi, [edi + edx*2]
add esi, 0x94c200b4
add edx, 0xca61005a
not edx
add eax, ecx
add eax, ecx
lea ecx, [edx + esi]
add ecx, 0x656320b1
sub eax, ecx
not ecx
add ecx, ecx
not ecx
add ecx, eax
mov eax, ecx
xor eax, 0xca93a0dd
add eax, ecx
xor ecx, 0x356c5f22
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x356c5f24
lea ecx, [edx + edx]
add ecx, 0x6ad8be48
mov edx, eax
not edx
sub ecx, edx
sub ecx, eax
add ecx, edx
imul eax, ecx, 0x72eda5ef
lea ecx, [eax + 0x72eda5ef]
not ecx
mov edx, ecx
and edx, 0x890ebb9
add eax, edx
add eax, 0x72eda5ef
or ecx, 0xf76f1446
sub eax, ecx
imul ecx, eax, 0x9380290f
mov eax, ecx
and eax, 0x1f331e52
lea edx, [eax + ecx]
or ecx, 0x1f331e52
sub edx, ecx
sub edx, ecx
not ecx
add ecx, ecx
sub edx, ecx
not eax
add eax, edx
add eax, 0x9ec16619
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [0x1006d90c]
mov ecx, dword [0x1006d910]
mov edx, eax
and edx, ecx
mov edi, eax
sub edi, edx
sub edi, edx
not eax
or eax, ecx
add eax, edi
add eax, edx
add eax, 0x108eb19a
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10050812
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov edx, ecx
xor edx, 0xe4437e5e
add edx, ecx
xor ecx, 0x1bbc81a1
lea esi, [edx + ecx]
add ecx, edx
add ecx, 0xe4437e5f
and ecx, 0xe4437e5e
lea edx, [ecx + esi]
add edx, 0xe4437e5f
not ecx
lea esi, [edx + ecx]
lea ecx, [ecx + edx + 0x1bbc81a3]
mov edx, ecx
not edx
mov edi, ecx
xor edi, 0xa46d86f6
add esi, edi
add esi, 0x1bbc81a3
and edx, 0x5b927909
add edx, esi
and ecx, 0xa46d86f6
add ecx, edx
imul edx, ecx, 0x3d710c63
lea ecx, [edx + 0x7ae218c6]
mov esi, ecx
not esi
mov edi, ecx
xor edi, 0x87a9106f
add edx, edi
add edx, 0x7ae218c6
and esi, 0x7856ef90
add esi, edx
and ecx, 0x87a9106f
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0xd8764e08
not ecx
mov esi, ecx
and esi, 0x7856ef90
add edx, esi
add edx, 0xd8764e08
or ecx, 0x87a9106f
sub edx, ecx
imul ecx, edx, 0xca11d54b
mov edx, ecx
not edx
mov esi, edx
and esi, 0x47288f23
lea esi, [esi + ecx*2]
or ecx, 0xdc
add ecx, esi
add ecx, edx
add ecx, 0x88877c7a
not ecx
or ecx, 0xffffff00
imul edx, ecx, 0xee0666f1
mov ecx, 0x11f9990f
sub ecx, edx
lea esi, [edx - 0x11f99910]
and esi, 0xbc1afe99
sub esi, edx
mov edx, ecx
xor edx, 0x43e50166
add edx, esi
and ecx, 0x43e50166
add ecx, edx
imul edx, ecx, 0xa3e9ca11
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp + 8]
movzx edi, byte [ecx + edx - 0x5c1635e8]
lea ecx, [eax - 0x565026a8]
mov edx, edi
not edx
and edx, ecx
lea esi, [eax + eax]
add esi, 0x535fb2b0
sub esi, edx
mov dword [ebp - 0x38], edi
add esi, edi
mov eax, ecx
xor eax, edi
add eax, esi
or ecx, edi
sub eax, ecx
mov ecx, eax
and ecx, 0x565026a8
mov edx, eax
xor edx, 0x565026a8
add edx, ecx
or eax, 0xa9afd957
add eax, edx
imul eax, eax, 0x1ffd3f1d
lea ecx, [eax + 0x2c9cf825]
not ecx
lea eax, [ecx + eax*2]
add eax, 0x5939f04a
imul ecx, eax, 0x610b7b35
lea eax, [ecx + 0x1169c9e1]
mov edx, eax
and edx, 0xb05e4eac
add ecx, ecx
add ecx, 0x22d393c2
sub ecx, edx
mov esi, eax
xor esi, 0x4fa1b153
add esi, ecx
or eax, 0x4fa1b153
sub esi, eax
lea ebx, [esi + 0x4fa1b154]
mov ecx, ebx
not ecx
mov dword [ebp - 0x2c], ecx
mov eax, ecx
or eax, 0xffffff00
add ecx, ecx
mov dword [ebp - 0x14], ecx
sub eax, ecx
lea ecx, [esi + esi]
add ecx, 0x9f4362a8
mov dword [ebp - 0x34], ecx
sub eax, ecx
lea ecx, [eax - 2]
not ecx
lea edx, [eax + ecx*2]
add edx, 0xfffffffe
lea ecx, [eax + ecx*2]
add ecx, 0x84b5f893
not ecx
mov eax, ecx
and eax, 0x7b4a076b
add eax, edx
add eax, 0x84b5f895
or ecx, 0x84b5f894
sub eax, ecx
mov ecx, eax
and ecx, 0x68d6bd22
lea edx, [ecx + eax]
or eax, 0x68d6bd22
sub edx, eax
sub edx, eax
not eax
add eax, eax
sub edx, eax
not ecx
add ecx, edx
add ecx, 0x972942dd
mov edx, 0xb05e4eac
sub edx, esi
lea eax, [esi + 0x4fa1b153]
or eax, edx
and eax, ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x2c]
add ecx, esi
add ecx, 0x4fa1b154
sub eax, ebx
lea edx, [eax + 0x68d6bd22]
mov esi, edx
and esi, 0xb564e652
lea edi, [esi + eax]
add edi, 0x68d6bd22
not edx
add edi, edx
or edx, 0xb564e652
sub edi, edx
and ecx, 0xffffff00
mov eax, ecx
not eax
lea edx, [edi + 0x4a9b19ae]
lea esi, [edi + eax]
add esi, 0x4a9b19ae
or eax, edx
add esi, eax
not eax
lea eax, [esi + eax*2]
or ecx, edx
sub eax, ecx
lea ecx, [eax + edi]
add ecx, 0x4a9b19ae
add edi, eax
add edi, 0x4a9b19af
mov eax, edi
not eax
and eax, 0xb564e652
add eax, ecx
add eax, 1
and edi, 0xb564e652
add edi, eax
mov esi, dword [ebp - 0x2c]
mov ecx, esi
and ecx, 0xbca70dfe
mov edx, dword [ebp - 0x14]
sub ecx, edx
mov eax, esi
or eax, 0xbca70dfe
add eax, ecx
sub edx, esi
mov dword [ebp - 0x14], edx
mov ecx, esi
or ecx, 0x4358f201
add ecx, eax
sub ecx, ebx
and ebx, 0x4358f201
mov eax, ecx
xor eax, ebx
mov edx, ecx
or edx, ebx
lea eax, [edx + eax*2]
not edx
lea eax, [eax + edx*2]
and ebx, ecx
not ebx
add ebx, ebx
sub eax, ebx
mov ecx, eax
xor ecx, 0x34220401
xor eax, 0x4150c228
and eax, 0xc9d5cb28
and ecx, 0x362a34d7
or ecx, eax
mov eax, edi
or eax, 0x6c82b466
add eax, edi
not edi
or edi, 0x6c82b466
lea edx, [eax + edi]
add eax, edi
add eax, 0x26fa9735
xor ecx, 0x362a34d7
mov esi, eax
or esi, ecx
add edx, esi
add edx, 0x26fa9735
not eax
or eax, ecx
lea ecx, [edx + eax]
add edx, eax
add edx, 1
mov eax, edx
and eax, 0x937d4b99
add ecx, eax
add ecx, 1
mov eax, edx
not eax
and eax, 0x6c82b466
add eax, ecx
xor edx, 0x6c82b466
sub eax, edx
mov edx, dword [ebp - 0x14]
lea ecx, [edx + edx]
sub ecx, edx
mov edx, ecx
not edx
or edx, ecx
movzx edx, dl
movzx esi, cl
add edx, esi
add edx, 0xffffff01
mov ebx, ecx
xor ebx, 0xff
xor ecx, 0xffffff00
and ecx, edx
mov esi, edx
or esi, ebx
add esi, ecx
not edx
or edx, ebx
lea ecx, [edx + esi]
add ecx, 1
lea edx, [eax + 0x6c82b466]
and edx, ecx
add eax, edx
add eax, 0x6c82b466
sub eax, ecx
not edx
add edx, eax
imul eax, edx, 0xd1d5ffdb
lea ecx, [eax - 0x2e2a0025]
mov edx, ecx
xor edx, 0x1e410973
add eax, edx
add eax, 0xd1d5ffdb
mov edx, ecx
not edx
and edx, 0xe1bef68c
add edx, eax
and ecx, 0x1e410973
add ecx, edx
imul ecx, ecx, 0x26ede453
lea eax, [ecx + 0x15e4c551]
mov edx, eax
xor edx, 0x48844765
add ecx, edx
add ecx, 0x15e4c551
mov edx, eax
not edx
and edx, 0xb77bb89a
add edx, ecx
and eax, 0x48844765
lea ecx, [edx + eax]
add edx, eax
add edx, 0xc884d79e
not edx
mov eax, edx
and eax, 0xb77bb89a
lea esi, [eax + ecx]
add esi, 0xc884d79e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
or edx, 0x48844765
sub esi, edx
mov dword [ebp - 0x14], esi
mov edi, dword [ebp + 8]
mov cl, byte [edi + esi - 0x6ef7712e]
mov edx, dword [ebp - 0x20]
mov byte [edi + edx - 0x5c1635e8], cl
mov edx, dword [ebp - 0x38]
mov byte [edi + esi - 0x6ef7712e], dl
add cl, dl
movzx ecx, cl
imul ecx, ecx, 0xffffff95
mov edx, ecx
and dl, 0x1d
mov dh, cl
and dh, 0xe2
sub dh, dl
add dh, cl
xor cl, 0x1d
sub dh, cl
movzx ecx, dh
imul edx, ecx, 0xffffffbd
mov ecx, edx
xor cl, 0x97
add cl, dl
mov ch, dl
xor ch, 0x68
add ch, ch
add ch, cl
mov cl, dl
or cl, 0x68
sub ch, cl
mov esi, dword [ebp + 0x10]
mov cl, byte [esi + eax]
not dl
or dl, 0x97
sub ch, dl
add ch, 0x69
movzx edx, ch
mov ch, byte [edi + edx + 8]
mov dl, ch
not dl
mov dh, dl
and dh, cl
add dh, dh
not cl
and dl, cl
add dl, dh
add dl, ch
add dl, 1
and cl, ch
or cl, dl
movzx ecx, cl
imul ecx, ecx, 0xffffffbb
mov dl, 0x75
sub dl, cl
not dl
movzx ecx, dl
imul edx, ecx, 0x73
add dl, 0x94
mov ecx, edx
and cl, 0xfd
mov ch, dl
add ch, dl
sub ch, cl
mov cl, dl
xor cl, 2
add cl, ch
or dl, 2
sub cl, dl
add cl, 2
mov edx, ecx
and dl, 0x94
mov ch, cl
xor ch, 0x94
add ch, dl
or cl, 0x6b
add cl, ch
add cl, 0x6d
mov edx, dword [ebp + 0x14]
mov byte [edx + eax], cl
mov ecx, eax
xor ecx, 0x68097d2
add ecx, eax
xor eax, 0xf97f682d
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x68097d3
or eax, 0xf97f682e
lea ecx, [eax + edx]
add ecx, 0x68097d3
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x51ce70f1
not eax
mov ecx, eax
and ecx, 0xfffffffe
add ecx, edx
add ecx, 0x51ce70f1
or eax, 1
sub ecx, eax
add ecx, 0xa7b0f740
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp + 0xc]
mov ecx, 0x2a49aba0
mov eax, 0x2854ed5
cmove ecx, eax
mov dword [ebp - 0x38], ecx
mov edi, dword [0x1006d844]
mov eax, dword [0x1006d848]
mov ebx, edi
and ebx, eax
mov ecx, edi
or ecx, eax
sub ecx, ebx
mov dword [ebp - 0x34], ecx
xor edi, eax
mov ecx, dword [0x1006d84c]
mov ebx, dword [0x1006d850]
mov eax, ecx
or eax, ebx
sub eax, ecx
sub eax, ecx
not ebx
or ebx, ecx
add ebx, eax
lea eax, [ecx + ebx]
add eax, 0xb
cmp dword [0x10070e9c], eax
setl byte [ebp - 0x48]
mov eax, dword [0x10070ea0]
lea ebx, [eax - 1]
imul ebx, eax
mov esi, dword [0x1006d854]
mov edx, dword [0x1006d858]
mov ecx, esi
xor ecx, edx
mov eax, esi
or eax, edx
not eax
add eax, eax
lea eax, [eax + ecx*2]
and esi, edx
not esi
add esi, esi
sub eax, esi
and ebx, 1
cmp ebx, eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax - 0x6ef77136]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
lea eax, [eax - 0x5c1635f0]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
not edi
mov eax, dword [ebp - 0x34]
lea eax, [eax + edi + 0x108eb19a]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x48]
jne 0x100518f0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
mov ecx, edx
not ecx
and ecx, 0xa46d86f6
add ecx, edx
and edx, 0xa46d86f6
add edx, ecx
mov ecx, edx
and ecx, 1
not edx
or edx, 1
sub ecx, edx
mov edx, ecx
or edx, 0xa46d86f6
lea esi, [ecx + edx]
not edx
lea edx, [esi + edx*2]
mov esi, ecx
or esi, 0x5b927909
sub edx, esi
add edx, ecx
imul edx, edx, 0x3d710c63
add edx, 0x542c5341
mov ecx, edx
and ecx, 0x87a9106f
mov edi, edx
sub edi, ecx
sub edi, ecx
mov esi, edx
or esi, 0x87a9106f
add esi, edi
not edx
or edx, 0x87a9106f
add edx, esi
not ecx
add ecx, ecx
not ecx
add ecx, edx
mov edx, ecx
and edx, 0xaf32c267
mov esi, ecx
or esi, 0x50cd3d98
add esi, edx
xor ecx, 0xaf32c267
add ecx, esi
add ecx, 0x50cd3d99
mov edx, ecx
or edx, 0x87a9106f
sub edx, ecx
mov esi, ecx
or esi, 0x7856ef90
add esi, edx
add esi, ecx
imul edx, esi, 0xca11d54b
lea esi, [edx - 0x4c81563a]
mov ecx, esi
not ecx
xor esi, 0x47288f23
lea edx, [edx + esi*2]
add edx, 0xb37ea9c6
mov esi, ecx
and esi, 0x38d770dc
lea edx, [edx + esi*2]
add ecx, ecx
or ecx, 0x71aee1b8
sub edx, ecx
lea ecx, [edx - 0x304ff465]
add edx, edx
add edx, 0x9f601736
mov esi, ecx
xor esi, 0x47288f23
sub edx, esi
mov esi, ecx
xor esi, 0x38d770dc
add esi, esi
sub edx, esi
not ecx
add ecx, ecx
or ecx, 0x8e511e46
add ecx, edx
add ecx, 0x71aee1ba
mov edx, ecx
not edx
or edx, 0xffffff00
add edx, edx
or ecx, 0xffffff00
add ecx, edx
imul ecx, ecx, 0xee0666f1
mov edx, 0x1d8c411e
sub edx, ecx
lea esi, [ecx - 0x1d8c411f]
and esi, 0x43e50166
sub esi, ecx
and edx, 0x43e50166
add edx, esi
imul edx, edx, 0xa3e9ca11
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp + 8]
movzx esi, byte [ecx + edx - 0x6d2594c0]
mov edx, eax
not edx
mov ecx, edx
and ecx, 0xa9afd957
add ecx, eax
or edx, 0x565026a8
sub ecx, edx
mov eax, ecx
not eax
and eax, esi
add eax, ecx
add eax, esi
mov dword [ebp - 0x2c], esi
mov edx, ecx
or edx, esi
add edx, eax
xor ecx, esi
not ecx
add ecx, edx
mov eax, esi
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x565026a8
lea edx, [esi + edx*2]
add edx, 4
or eax, 0xa9afd957
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x6ae7556
mov ecx, eax
and ecx, 0x4fa1b153
add ecx, edx
add ecx, 0x6ae7556
mov edx, eax
not edx
add edx, ecx
and eax, 0xb05e4eac
lea edi, [eax + edx]
add edi, 0x4fa1b155
lea ecx, [eax + edx + 0x4fa1b154]
mov esi, edi
mov ebx, edi
mov dword [ebp - 0x48], edi
not esi
mov eax, esi
or eax, 0xffffff00
mov dword [ebp - 0x38], eax
mov edx, eax
not edx
lea edi, [eax + eax]
lea edx, [edi + edx*2]
sub edx, eax
lea eax, [edx - 0x7b4a076b]
not eax
mov edi, eax
and edi, 0x84b5f894
add edx, edi
add edx, 0x84b5f895
mov edi, eax
and edi, 0x7b4a076b
add edi, edx
sub edi, eax
lea edx, [edi + 0x7b4a076c]
mov eax, edx
not eax
and eax, 0x972942dd
add eax, edi
add eax, 0x7b4a076c
mov edi, edx
xor edi, 0x68d6bd22
add edi, eax
and edx, 0x68d6bd22
lea eax, [edi + edx]
add edx, edi
add edx, 0x972942df
mov edi, ecx
not edi
or edi, ecx
and edi, edx
add eax, edi
add eax, 0x972942df
sub eax, ebx
not edx
lea ecx, [eax + edx]
mov dword [ebp - 0x34], ecx
add edx, eax
add edx, 0x68d6bd23
mov ecx, esi
and ecx, 0xffffff00
mov ebx, esi
movzx eax, bl
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
mov edi, ecx
sub edi, esi
add edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
mov eax, ecx
xor eax, 0xffffff00
mov dword [ebp - 0x38], eax
add edi, eax
mov eax, ecx
or eax, 0xffffff00
sub edi, eax
mov eax, edx
and edx, 0x4a9b19ad
mov esi, dword [ebp - 0x34]
add edx, esi
add edx, 0x68d6bd23
not eax
and eax, 0x4a9b19ad
add eax, edx
mov edx, edi
not edx
lea eax, [eax + edx*2]
mov dword [ebp - 0x34], eax
mov edx, ebx
and edx, 0xbca70dfe
mov eax, ebx
and eax, 0x4358f201
sub edx, eax
add edx, ebx
sub dword [ebp - 0x20], ebx
mov esi, ecx
xor esi, 0x4358f201
add edx, esi
or ebx, 0xbca70dfe
sub edx, ebx
mov eax, ecx
and eax, 0x4358f201
mov ebx, ecx
and ebx, 0xbca70dfe
sub eax, ebx
add eax, esi
or ecx, 0xbca70dfe
add eax, ecx
add eax, 1
mov esi, eax
and esi, edx
xor edx, eax
add edx, esi
mov ecx, edx
xor ecx, 0x4358f2fe
mov esi, ecx
and esi, 0xc9d5cb28
mov ebx, ecx
and ebx, 0x362a34d7
sub esi, ebx
mov eax, edx
xor eax, 0xbca70d01
add esi, ecx
mov ebx, eax
and ebx, 0xc9d5cb28
add esi, ebx
add esi, 0x362a34d8
mov ebx, eax
and ebx, 0x362a34d7
sub ebx, eax
or eax, 0x362a34d7
add eax, ebx
xor edx, 0x7572c629
add edx, eax
or ecx, 0x362a34d7
sub edx, ecx
or edx, esi
mov eax, dword [ebp - 0x34]
add eax, edi
add eax, 0x48e231ee
xor edx, 0x362a34d7
sub edx, eax
not eax
add eax, eax
sub edx, eax
lea eax, [edx - 2]
mov ecx, eax
xor ecx, 0x6c82b466
add ecx, edx
add ecx, 0xfffffffe
xor eax, 0x937d4b99
add eax, ecx
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x38]
lea ecx, [edx + esi]
and edx, esi
not edx
add edx, ecx
sub eax, edx
imul eax, eax, 0xd1d5ffdb
lea ecx, [eax + 0x645fed42]
mov edx, ecx
not edx
and edx, 0x1e410973
add eax, edx
add eax, 0x645fed42
and ecx, 0x1e410973
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xc37ded1a
mov ecx, eax
and ecx, 0xe8a57b4a
add ecx, edx
add ecx, 0xc37ded1a
not eax
add ecx, eax
or eax, 0xe8a57b4a
sub ecx, eax
lea eax, [ecx - 0x175a84b6]
mov edx, eax
or edx, 0x1e410973
lea esi, [ecx + edx]
add esi, 0xe8a57b4a
not edx
lea edx, [esi + edx*2]
or eax, 0xe1bef68c
sub edx, eax
lea eax, [edx + ecx]
add eax, 0xe8a57b4a
imul eax, eax, 0x26ede453
add eax, 0xb3e5609c
mov ecx, eax
and ecx, 0x48844765
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0x48844765
add edx, esi
not eax
or eax, 0x48844765
add eax, edx
not ecx
add ecx, ecx
sub eax, ecx
add eax, 0x6ef77135
mov ecx, eax
and ecx, 0xeef6e0fd
mov edx, eax
or edx, 0x11091f02
add edx, ecx
xor eax, 0xeef6e0fd
add eax, edx
add eax, 0x11091f03
mov ecx, eax
or ecx, 0x48844765
sub ecx, eax
mov edx, eax
or edx, 0xb77bb89a
add edx, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x48844766
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
mov ebx, dword [ebp + 8]
mov dl, byte [ebx + ecx + 0x4884476e]
mov edi, dword [ebp - 0x14]
mov byte [ebx + edi - 0x6d2594c0], dl
mov eax, dword [ebp - 0x2c]
mov byte [ebx + ecx + 0x4884476e], al
mov ch, al
neg ch
mov dh, dl
and dh, ch
add dh, al
mov edi, dword [ebp + 0x10]
mov cl, byte [edi + esi]
not dl
or dl, ch
sub dh, dl
movzx edx, dh
imul edx, edx, 0xffffff95
add dl, 0x6b
mov ch, dl
or ch, 0x1d
add ch, dl
not dl
or dl, 0x1d
add dl, ch
movzx edx, dl
imul edx, edx, 0xffffffbd
add dl, 0x54
movzx edx, dl
mov ch, byte [ebx + edx + 8]
mov dl, ch
not dl
and dl, cl
not cl
and cl, ch
mov ch, dl
xor ch, cl
mov dh, ch
sub dh, dl
or cl, dl
add cl, dh
not ch
add ch, cl
add ch, dl
movzx ecx, ch
imul ecx, ecx, 0x45
add cl, 0xbb
not cl
movzx ecx, cl
imul edx, ecx, 0x73
add dl, 0x73
mov ch, dl
not ch
mov cl, ch
and cl, 0x6b
add cl, dl
or ch, 0x94
sub cl, ch
add cl, 0x28
mov edx, ecx
not dl
and dl, 2
add dl, cl
mov ch, cl
or ch, 2
add ch, dl
xor cl, 0xfd
add cl, ch
mov edx, ecx
add dl, 1
mov ch, dl
add ch, dl
mov dh, 0xfe
sub dh, cl
and dh, 0x94
add dh, ch
or dl, 0x6b
add dl, dh
sub dl, cl
add dl, 0x6c
mov ecx, dword [ebp + 0x14]
mov byte [ecx + esi], dl
mov ecx, esi
xor ecx, 0x68097d2
add ecx, esi
mov edx, esi
xor edx, 0x797f682d
lea ecx, [ecx + edx*2]
mov edx, esi
not edx
or edx, 0x68097d2
sub ecx, edx
or esi, 0xf97f682d
sub ecx, esi
mov edx, ecx
not edx
lea esi, [edx + ecx*2]
lea ecx, [edx + ecx*2]
add ecx, 0x584f08c3
not ecx
mov edx, ecx
and edx, 1
add edx, esi
add edx, 0x584f08c3
mov esi, ecx
and esi, 0xfffffffe
add esi, edx
sub esi, ecx
lea ecx, [esi + 1]
mov edx, ecx
and edx, 0x584f08c2
add edx, esi
add edx, 1
not ecx
and ecx, 0x584f08c2
add ecx, edx
add ecx, 0x4f61ee7c
cmp ecx, dword [ebp + 0xc]
mov edx, 0x2a49aba0
mov esi, 0x2854ed5
cmove edx, esi
mov esi, dword [ebp - 0x28]
mov dword [esi], edx
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
add eax, 0x92da6b38
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x108eb199
jmp 0x10050bfa
mov eax, dword [0x1006d88c]
mov ecx, dword [0x1006d890]
mov edx, eax
and edx, ecx
not eax
add edx, eax
or eax, ecx
sub edx, eax
add edx, 0xfc5b9a
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov edx, dword [0x10070f30]
cmp dword [0x10070f2c], 0xa
setl al
setge cl
mov esi, edx
and esi, 0xfffffffe
add esi, edx
mov edi, edx
not edi
add edi, esi
mov esi, edx
and esi, 1
lea ebx, [esi + edi]
add ebx, 2
imul ebx, edx
test bl, 1
sete dl
and cl, dl
mov ah, al
or ah, dl
add ah, cl
add ah, bl
and al, dl
sub ah, al
test ah, 1
jne 0x10051946
nop word cs:[eax + eax]
nop
mov eax, dword [0x1006d8b4]
and eax, dword [0x1006d8b8]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10070dc4], eax
mov edx, dword [0x10070dc8]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006d8bc]
mov esi, dword [0x1006d8c0]
mov edi, edx
xor edi, esi
mov ebx, edx
or ebx, esi
not ebx
add ebx, edi
and edx, esi
add edx, ebx
add edx, 1
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
je 0x100518f0
jmp 0x10051970
mov eax, dword [0x1006d91c]
mov ecx, dword [0x1006d920]
mov edx, eax
and edx, ecx
mov esi, eax
xor esi, ecx
add esi, edx
or eax, ecx
sub esi, eax
add esi, 0xfc5b9a
mov eax, dword [ebp - 0x10]
mov dword [eax], esi
jmp 0x1005187b
cmp dword [0x10070f8c], 0xa
mov edx, dword [0x10070f90]
setl byte [ebp - 0x14]
mov ecx, edx
not ecx
add ecx, 2
imul ecx, edx
mov edx, dword [0x1006d6a4]
mov esi, dword [0x1006d6a8]
mov edi, edx
and edi, esi
mov eax, edx
sub eax, edi
sub eax, edi
not edx
or edx, esi
add edx, eax
lea eax, [edi + edx]
add eax, 1
and ecx, 1
cmp ecx, eax
sete cl
or cl, byte [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp cl, 1
jne 0x10051970
cmp eax, 0x108eb198
jle 0x10051a40
cmp eax, 0x44158be6
jg 0x10051ada
cmp eax, 0x108eb199
je 0x10051bc9
cmp eax, 0x1eee60c9
je 0x10051c1e
cmp eax, 0x3a3f9b84
jne 0x100502b0
mov eax, dword [0x1006d7bc]
mov ecx, dword [0x1006d7c0]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
not eax
add eax, edx
add eax, 0xb
cmp dword [0x100711c0], eax
mov eax, dword [0x100711bc]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x100503b6
jmp 0x10050410
cmp eax, 0xd787e96c
jle 0x10051b69
cmp eax, 0xd787e96d
je 0x10051c89
cmp eax, 0xfdde9021
je 0x10051ced
cmp eax, 0xfc5b9a
jne 0x100502b0
mov eax, dword [0x1006d6cc]
mov ecx, dword [0x1006d6d0]
mov esi, eax
or esi, ecx
sub esi, eax
sub esi, eax
not ecx
or ecx, eax
add ecx, esi
add eax, ecx
add eax, 0xb
cmp dword [0x10071130], eax
mov edx, dword [0x1007112c]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006d6d4]
mov esi, dword [0x1006d6d8]
mov edi, edx
xor edi, esi
mov ebx, edx
or ebx, esi
not ebx
add ebx, ebx
lea edi, [ebx + edi*2]
and edx, esi
not edx
add edx, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10050348
jmp 0x100503a1
cmp eax, 0x44158be7
je 0x10051d62
cmp eax, 0x6e01bc27
je 0x10051dac
cmp eax, 0x7bf07e41
jne 0x100502b0
mov ecx, dword [0x10070fd8]
mov edx, dword [0x1006d80c]
mov eax, dword [0x1006d810]
mov esi, eax
not esi
mov edi, edx
and edi, esi
xor eax, edx
not eax
add eax, edi
or esi, edx
sub eax, esi
add eax, 0xa
cmp dword [0x10070fd4], eax
setl al
mov edx, ecx
not edx
imul edx, ecx
mov ecx, dword [0x1006d814]
mov esi, dword [0x1006d818]
mov edi, ecx
or edi, esi
sub edi, ecx
mov ebx, ecx
xor ebx, esi
not ebx
add ebx, edi
not ecx
or ecx, esi
sub ebx, ecx
and edx, 1
cmp edx, ebx
sete cl
or cl, al
cmp cl, 1
je 0x10050812
jmp 0x10050a4d
cmp eax, 0xa14be5c6
je 0x10051de8
cmp eax, 0xd53c6d3e
jne 0x10051e22
mov edx, dword [0x100710d8]
cmp dword [0x100710d4], 0xa
setge al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1006d6fc]
mov esi, dword [0x1006d700]
mov edi, edx
or edi, esi
sub edi, esi
not edx
or edx, esi
add edx, edi
add edx, 1
cmp ecx, edx
sete cl
or al, cl
add al, cl
test al, 1
je 0x1005041b
jmp 0x1005049a
mov ecx, dword [0x100711e0]
mov eax, dword [0x1006d87c]
mov edx, dword [0x1006d880]
mov esi, eax
or esi, edx
sub esi, edx
not eax
or eax, edx
add eax, esi
add eax, 0xb
cmp dword [0x100711dc], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
and al, cl
sub ah, al
test ah, 1
je 0x1005187b
jmp 0x10051946
mov ecx, dword [0x10071280]
mov eax, dword [0x1006d71c]
mov edx, dword [0x1006d720]
mov esi, edx
not esi
and esi, eax
mov edi, eax
not edi
add edi, esi
and eax, edx
add eax, edi
add eax, 0xb
cmp dword [0x1007127c], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1006d724]
mov esi, dword [0x1006d728]
mov edi, ecx
not edi
and edi, esi
and ecx, esi
not esi
add esi, edi
add ecx, esi
add ecx, 1
cmp edx, ecx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100504bb
jmp 0x1005051d
mov eax, dword [0x1006d834]
mov ecx, dword [0x1006d838]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0xb
cmp dword [0x10071254], eax
mov edx, dword [0x10071258]
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1006d83c]
mov esi, dword [0x1006d840]
mov edi, esi
not edi
and edi, edx
not edx
or edx, esi
add edx, edi
add edx, 1
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x10050bfa
jmp 0x1005123f
mov edx, dword [0x100712f8]
mov eax, dword [0x1006d794]
mov esi, dword [0x1006d798]
mov edi, eax
and edi, esi
mov ecx, esi
not ecx
and ecx, eax
sub ecx, edi
add ecx, esi
xor eax, esi
sub ecx, eax
add ecx, 0xa
cmp dword [0x100712f4], ecx
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006d79c]
mov esi, dword [0x1006d7a0]
mov edi, edx
xor edi, esi
mov ebx, edi
not ebx
lea edi, [edi + ebx*2]
mov ebx, esi
not ebx
or ebx, edx
sub edi, ebx
not edx
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100506f2
jmp 0x10050774
mov eax, dword [0x10071090]
mov ecx, dword [0x1006d744]
mov edx, dword [0x1006d748]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
not edi
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0xb
cmp dword [0x1007108c], 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 0x1005055f
jmp 0x10050604
mov esi, dword [0x10071248]
cmp dword [0x10071244], 0xa
setge cl
setl al
lea edx, [esi + 1]
imul edx, esi
test dl, 1
sete ah
and dl, al
mov ch, al
or ch, ah
add ch, dl
add ch, cl
and al, ah
not al
add al, ch
test al, 1
jne 0x10050625
jmp 0x100506a9
mov eax, dword [0x100712a4]
mov ecx, dword [0x1006d7e8]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x100712a8], 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 0x10050795
jmp 0x100507fb
cmp eax, 0xa23e0106
jne 0x100502b0
mov eax, dword [0x1006d85c]
mov edx, dword [0x1006d860]
mov ecx, eax
sub ecx, edx
mov esi, eax
xor esi, edx
sub ecx, esi
not esi
add esi, esi
sub ecx, esi
not eax
or eax, edx
lea eax, [ecx + eax*2]
add eax, 0xa
cmp dword [0x100712ec], eax
mov eax, dword [0x100712f0]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
jne 0x10051ee0
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [esi]
mov dword [eax], ecx
cmp dword [0x10070fac], 0xa
mov esi, dword [0x10070fb0]
setge cl
setl al
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x1006d874]
mov edi, dword [0x1006d878]
mov ebx, edi
not ebx
and ebx, esi
not esi
or esi, edi
mov edi, dword [ebp - 0x50]
not esi
sub esi, ebx
mov ebx, dword [ebp - 0x3c]
and edx, 1
cmp edx, esi
mov esi, dword [ebp - 0x54]
sete dl
or al, dl
or cl, dl
add dl, al
not al
add al, dl
add al, cl
add al, 1
test al, 1
je 0x10051ef1
mov eax, dword [ebp - 0x40]
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 0x10051e7b
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret