Function at 0x10066e20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov edx, dword [0x100890dc]
cmp dword [0x100890e0], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100854a4]
mov esi, dword [0x100854a8]
mov edi, esi
not edi
and edi, edx
not edx
or edx, esi
add edx, edx
lea edx, [edx + edi*2]
and ecx, 1
xor edx, 0xfffffffe
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
jne 0x10066f88
push eax
mov dword [ebp - 0x1c], esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov edi, esp
push eax
mov ebx, esp
push eax
mov ecx, esp
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x4c], ebx
mov dword [ebx], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [edi], eax
mov dword [ebp - 0x58], edi
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [ebp - 0x5c], esi
mov dword [esi], eax
cmp dword [ebp + 0xc], 0
mov dword [ebp - 0x60], edx
sete byte [edx]
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
mov dword [eax], 0xca92c7d0
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov edi, esp
mov eax, dword [0x100854bc]
mov ecx, dword [0x100854c0]
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, 0xc0e0fd59
mov dword [ebp - 0x14], edi
mov dword [edi], eax
mov eax, dword [0x100854c4]
mov ecx, dword [0x100854c8]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
and esi, ecx
add esi, esi
lea edx, [esi + edx*2]
xor eax, ecx
add eax, eax
sub edx, eax
add edx, 0xa
cmp dword [0x10088cec], edx
mov esi, dword [0x10088cf0]
setge cl
setl al
mov edx, esi
not edx
add edx, esi
add edx, esi
add edx, 0x14c3a6a2
imul edx, esi
mov esi, dword [0x100854cc]
mov edi, dword [0x100854d0]
mov ebx, esi
or ebx, edi
sub ebx, edi
not esi
or esi, edi
add esi, ebx
add esi, 1
and edx, 1
cmp edx, esi
setne dl
sete ah
mov ch, al
or ch, ah
mov dh, al
xor dh, ah
not dh
add dh, ch
or dl, al
add dl, dh
add dl, cl
and al, ah
sub dl, al
test dl, 1
je 0x10069000
push eax
push eax
mov dword [ebp - 0x10], 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 eax, dword [ebp + 0xc]
mov dword [edx], esi
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ecx], edx
mov ecx, dword [0x1008570c]
mov esi, dword [0x10085710]
mov edx, esi
not edx
and edx, ecx
mov edi, ecx
not edi
and edi, esi
sub edx, edi
add edx, esi
sub edx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
sete byte [eax]
push eax
mov eax, esp
mov ecx, dword [0x10085714]
mov edx, dword [0x10085718]
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, 0xca92c7d1
mov dword [eax], ecx
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov dword [eax], 0xc0e0fd58
jmp 0x10066e70
mov edx, dword [0x10088c08]
mov eax, dword [0x10085504]
mov ecx, dword [0x10085508]
mov esi, eax
not esi
or esi, eax
and esi, ecx
sub esi, ecx
add esi, 0xa
cmp dword [0x10088c04], esi
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1008550c]
mov esi, dword [0x10085510]
mov edi, edx
and edi, esi
add edi, edi
sub edi, edx
sub edi, edx
mov ebx, edx
xor ebx, esi
add ebx, edi
mov edi, esi
not edi
or edi, edx
add edi, ebx
not edx
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
je 0x10067020
jmp 0x100672c0
mov eax, dword [0x10085524]
mov ecx, dword [0x10085528]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
mov dword [ebp - 0x10], eax
not ecx
add ecx, edx
mov edi, dword [0x10088c00]
cmp dword [0x10088bfc], 0xa
setl byte [ebp - 0x18]
mov esi, edi
not esi
add esi, edi
add esi, edi
add esi, 0xd86fc402
imul esi, edi
mov edx, dword [0x10085534]
mov ebx, dword [0x10085538]
mov edi, edx
or edi, ebx
lea eax, [edx + ebx]
sub eax, edi
not edi
add edi, eax
xor edx, ebx
lea eax, [edx + edi]
add eax, 1
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + ecx + 0x4ea04720]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
sete al
or al, byte [ebp - 0x18]
jne 0x100672c0
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x4ea0471f
jmp 0x10067088
mov edx, dword [0x10088bd0]
mov eax, dword [0x100856dc]
mov ecx, dword [0x100856e0]
mov esi, eax
and esi, ecx
not eax
add esi, eax
or eax, ecx
sub esi, eax
add esi, 0xa
cmp dword [0x10088bcc], esi
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100856e4]
mov esi, dword [0x100856e8]
mov edi, edx
or edi, esi
sub edi, esi
sub edi, esi
mov ebx, edx
xor ebx, esi
add ebx, edi
not edx
sub ebx, edx
or edx, esi
lea edx, [edx + edx*2]
add edx, ebx
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
mov edx, eax
xor dl, cl
and al, cl
not al
sub al, dl
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0xc0e0fd58
test al, 1
je 0x100672c0
mov eax, dword [0x10085774]
mov edx, dword [0x10085778]
mov ecx, edx
not ecx
mov esi, eax
and esi, ecx
lea esi, [esi + esi*2]
xor edx, eax
not edx
lea edx, [edx + edx*2]
add edx, esi
or ecx, eax
lea eax, [ecx + ecx*2]
sub edx, eax
add edx, 0xc0e0fd58
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
jmp 0x10067127
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1008554c]
mov edx, dword [0x10085550]
mov esi, edx
not esi
and esi, ecx
mov edi, ecx
xor edi, edx
sub esi, edi
or edx, ecx
add edx, esi
not ecx
add ecx, edx
add ecx, 0xca92c7d1
cmp eax, ecx
mov edx, 0xd1f99307
mov eax, 0x1b737f45
cmovl edx, eax
mov edi, dword [0x10088bf8]
mov eax, dword [0x10085554]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088bf4], eax
setl al
setge ah
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x10085560]
mov ebx, edi
not ebx
mov ecx, dword [0x1008555c]
and ebx, ecx
or ecx, edi
sub ecx, ebx
sub ecx, edi
and esi, 1
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], edx
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
test al, 1
jne 0x100672c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [0x1008572c]
mov edi, dword [0x10085730]
mov ecx, edx
and ecx, edi
lea esi, [ecx + ecx]
or edx, edi
sub esi, edx
sub esi, edx
not edx
add edx, edx
sub esi, edx
not ecx
lea ecx, [esi + ecx*2]
add ecx, 0xca92c7d0
cmp eax, ecx
mov eax, 0xd1f99307
mov ecx, 0x1b737f45
cmovl eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x100671d7
mov ecx, dword [0x10088bc8]
mov eax, dword [0x100856fc]
mov edx, dword [0x10085700]
mov esi, eax
not esi
and esi, edx
lea esi, [eax + esi*2]
sub esi, edx
sub esi, edx
xor eax, edx
not eax
add eax, esi
add eax, edx
add eax, 0xb
cmp dword [0x10088bc4], eax
setl byte [ebp - 0x10]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x10085704]
mov edi, dword [0x10085708]
mov esi, ecx
and esi, edi
lea ebx, [esi + esi*2]
mov eax, ecx
sub eax, ebx
add eax, edi
xor ecx, edi
not ecx
add ecx, eax
lea eax, [esi + ecx]
add eax, 1
and edx, 1
cmp edx, eax
sete al
or al, byte [ebp - 0x10]
je 0x100672c0
jmp 0x10069000
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10085574]
mov edx, dword [0x10085578]
mov edi, ecx
or edi, edx
sub edi, edx
sub edi, edx
mov esi, ecx
xor esi, edx
add esi, edi
not ecx
sub esi, ecx
or ecx, edx
lea ecx, [ecx + ecx*2]
add ecx, esi
add ecx, 0x322e0951
cmp eax, ecx
mov eax, 0x968f9527
mov ecx, 0xed0d4078
cmovl eax, ecx
mov ecx, dword [0x1008557c]
mov edx, dword [0x10085580]
mov esi, ecx
or esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
mov edi, ecx
xor edi, edx
not edi
sub edi, esi
mov esi, dword [0x10088ce0]
and ecx, edx
not ecx
add ecx, edi
add ecx, 0xa
cmp dword [0x10088cdc], ecx
setl cl
mov edx, esi
not edx
imul edx, esi
mov edi, dword [0x10085588]
mov esi, edi
not esi
mov ebx, dword [0x10085584]
and esi, ebx
sub esi, ebx
not ebx
sub esi, ebx
or ebx, edi
add ebx, esi
and edx, 1
cmp edx, ebx
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
sete al
setne dl
and dl, cl
add dl, al
test dl, 1
jne 0x100672c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10085734]
mov edx, dword [0x10085738]
mov esi, ecx
and esi, edx
lea edi, [ecx + ecx]
sub edi, esi
mov esi, ecx
xor esi, edx
not esi
lea esi, [edi + esi*2]
not edx
add esi, edx
or edx, ecx
lea ecx, [edx + edx*2]
sub esi, ecx
add esi, 0x322e094f
cmp eax, esi
mov eax, 0x968f9527
mov ecx, 0xed0d4078
cmovl eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10067330
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x322e094f
mov eax, 0x6a064462
mov ecx, 0x56185696
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [0x100855a4]
mov ecx, dword [0x100855a8]
mov edx, ecx
not edx
and edx, eax
not eax
mov esi, eax
and esi, ecx
sub edx, esi
add edx, ecx
add eax, edx
add eax, 0xb
mov ecx, dword [0x10088bf0]
cmp dword [0x10088bec], eax
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 2
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x100672c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x322e094f
mov eax, 0x6a064462
mov ecx, 0x56185696
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10067433
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100855c4]
mov edx, dword [0x100855c8]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0xca92c7d1
cmp eax, ecx
mov ecx, 0x6a064462
mov eax, 0xbd5cc2ab
cmove ecx, eax
mov dword [ebp - 0x10], ecx
mov edi, dword [0x10088de8]
mov ecx, dword [0x100855cc]
mov edx, dword [0x100855d0]
mov esi, edx
not esi
or esi, edx
and esi, ecx
sub esi, ecx
add esi, 0xa
cmp dword [0x10088de4], esi
setge dh
setl dl
mov esi, edi
not esi
add esi, 0x6e80deb0
imul esi, edi
mov edi, dword [0x100855d4]
mov ebx, edi
not ebx
mov ecx, dword [0x100855d8]
mov eax, ebx
and eax, ecx
or edi, ecx
not edi
add edi, eax
sub edi, ebx
and esi, 1
cmp esi, edi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
sete al
or al, dl
add al, dl
add al, dh
add al, 1
test al, 1
jne 0x100672c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0xca92c7d0
mov eax, 0x6a064462
mov ecx, 0xbd5cc2ab
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x100674bb
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [str.__F]
mov edx, dword [0x100855f0]
mov esi, ecx
not esi
mov edi, esi
and edi, edx
or ecx, edx
not ecx
add ecx, edi
sub ecx, esi
add ecx, 0xbc4d511c
cmp eax, ecx
mov eax, 0x6a064462
mov ecx, 0xca0f0034
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov esi, dword [0x10088be8]
cmp dword [0x10088be4], 0xa
setl al
setge cl
mov edx, esi
xor edx, 1
mov edi, esi
or edi, 0xfffffffe
add edi, edx
mov edx, esi
and edx, 1
add edx, edi
add edx, 2
imul edx, esi
test dl, 1
sete ah
and cl, ah
mov ch, al
or ch, ah
add ch, cl
add ch, dl
and al, ah
not al
add al, ch
test al, 1
jne 0x100672c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1008574c]
mov edx, dword [0x10085750]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0xbc4d511d
cmp eax, ecx
mov eax, 0x6a064462
mov ecx, 0xca0f0034
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10067587
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x4fef17c5
mov edx, dword [0x10088bdc]
cmp dword [0x10088be0], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, cl
mov dh, al
or dh, dl
add dh, ah
xor dl, al
not dl
add dl, dh
or al, cl
add al, dl
test al, 1
jne 0x100672c0
mov eax, dword [0x10085754]
mov ecx, dword [0x10085758]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0x4fef17c5
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
jmp 0x1006764a
mov eax, dword [0x1008563c]
mov ecx, dword [0x10085640]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xdd5b84fd
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov edx, dword [0x10088d0c]
mov eax, dword [0x10085644]
mov ecx, dword [0x10085648]
mov esi, ecx
not esi
and esi, eax
not eax
or eax, ecx
add eax, esi
add eax, 0xb
cmp dword [0x10088d10], eax
setl al
setge cl
mov ebx, edx
not ebx
add ebx, 0x897b4b0
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
or al, dl
add ah, al
not al
add al, ah
add al, cl
test al, 1
jne 0x100672c0
mov eax, dword [0x1008575c]
mov ecx, dword [0x10085760]
mov edx, eax
or edx, ecx
not edx
lea edx, [eax + edx*2]
xor eax, ecx
add eax, edx
add eax, ecx
add eax, 0xdd5b84fe
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x100676ad
mov eax, dword [ebp - 0x60]
cmp byte [eax], 0
mov eax, 0xbc4d511c
mov ecx, 0x322e094f
cmovne eax, ecx
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov esi, dword [0x10085494]
mov ecx, dword [0x10085498]
mov dword [ebp - 0x18], ecx
mov eax, esi
not eax
mov dword [ebp - 0x10], eax
not ecx
or eax, ecx
mov edi, eax
not edi
lea eax, [eax + edi*2]
add eax, eax
add eax, 2
mov edi, eax
or edi, 0x7fad37c2
or eax, 0x8052c83d
lea ebx, [eax + edi]
add eax, edi
add eax, 0x7fad37c3
mov edi, eax
xor edi, 0x7fad37c1
add edi, ebx
add edi, 0x7fad37c3
mov ebx, eax
or ebx, 0x7fad37c1
sub edi, ebx
not eax
sub edi, eax
or eax, 0x7fad37c1
lea ebx, [edi + eax]
add edi, eax
add edi, 0x8052c83e
mov edx, dword [ebp - 0x10]
and edx, ecx
mov eax, edx
not eax
lea edx, [edx + eax*2]
add edx, 1
mov eax, edx
not eax
add eax, eax
add eax, edx
mov edx, edi
and edx, 0x4873d6bb
add edx, ebx
add edx, 0x8052c83e
not edi
and edi, 0x4873d6bb
add edi, edx
lea edx, [eax + eax]
add eax, eax
add eax, 2
lea edx, [edx + edi*2]
add edx, 2
mov ebx, edi
xor ebx, eax
not ebx
add ebx, edx
not eax
add ebx, eax
or eax, edi
add eax, eax
sub ebx, eax
mov eax, ebx
and eax, 0x4873d6bb
add eax, eax
sub eax, ebx
mov edx, ebx
xor edx, 0x4873d6bb
add edx, eax
mov edi, ebx
or edi, 0xb78c2944
add edi, edx
not ebx
or ebx, 0x4873d6bb
sub edi, ebx
mov eax, dword [ebp - 0x10]
add eax, esi
add eax, esi
sub eax, esi
sub eax, esi
mov edx, eax
and edx, 0xb341294e
mov ebx, eax
not eax
or eax, 0x4cbed6b1
add eax, edx
and ebx, 0x4cbed6b1
add eax, ebx
add eax, 1
mov edx, esi
mov ebx, dword [ebp - 0x10]
or edx, ebx
and edx, 0xb341294e
xor esi, 0x4cbed6b1
add esi, edx
or ebx, 0xb341294e
sub esi, ebx
or esi, eax
mov ebx, dword [ebp - 0x18]
mov eax, ebx
or eax, ecx
and eax, 0xb341294e
mov edx, ebx
or edx, 0xb341294e
add edx, eax
xor ebx, 0x4cbed6b1
lea eax, [edx + ebx]
add edx, ebx
add edx, 0x4cbed6b3
and ecx, 0x4cbed6b1
add eax, ecx
add eax, 0x4cbed6b3
mov ebx, ecx
or ebx, edx
not ebx
add ebx, eax
xor ecx, edx
add ecx, ebx
add ecx, 1
xor ecx, esi
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
lea ecx, [eax + eax]
not eax
add eax, ecx
lea ecx, [eax + eax]
lea edx, [eax + eax]
add edx, 2
xor ecx, 0xfffffffe
add edi, 0xc94c83fb
mov esi, edi
and esi, ecx
sub esi, edx
or edi, ecx
add edi, esi
lea eax, [edi + eax*2]
add eax, 2
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x11c05ab6
add edx, eax
mov eax, ecx
and eax, 0xee3fa549
add eax, edx
sub eax, ecx
imul eax, eax, 0x6073fd77
mov ecx, 0x59d2089a
sub ecx, eax
and ecx, 0x63c6f39c
sub ecx, eax
add ecx, eax
add ecx, 0xa62df765
add eax, 0xa62df765
or eax, 0x63c6f39c
sub ecx, eax
imul eax, ecx, 0x921213b9
add eax, 0xe6124506
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xdc7a7edf
mov esi, eax
sub esi, edx
not edx
add edx, edx
sub esi, edx
xor eax, 0x23858120
add eax, esi
or ecx, 0x23858120
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xdc7a7edf
mov eax, ecx
not eax
and eax, 0x82d6044
lea eax, [eax + edx*2]
add eax, 0xb8f4fdbe
or ecx, 0x82d6044
sub eax, ecx
add eax, 0x82d6044
mov ecx, eax
and ecx, 0x23858120
not eax
sub ecx, eax
or eax, 0xdc7a7edf
add eax, ecx
add eax, 0x23858121
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1008566c]
mov edx, dword [0x10085670]
mov esi, ecx
not esi
and esi, edx
lea esi, [ecx + esi*2]
sub esi, edx
sub esi, edx
xor ecx, edx
not ecx
add ecx, esi
add ecx, edx
add ecx, 0xb
cmp dword [0x10088cd4], ecx
mov esi, dword [0x10088cd8]
setl byte [ebp - 0x18]
lea edx, [esi - 1]
imul edx, esi
mov esi, dword [0x10085674]
mov ebx, dword [0x10085678]
mov edi, esi
and edi, ebx
lea eax, [edi + edi*2]
mov ecx, esi
sub ecx, eax
add ecx, ebx
xor esi, ebx
not esi
add esi, ecx
lea eax, [edi + esi]
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
sete al
or al, byte [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xdd5b84fc
jne 0x100672c0
mov eax, dword [ebp - 0x60]
cmp byte [eax], 0
mov eax, 0xbc4d511c
mov ecx, 0x322e094f
cmovne eax, ecx
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov edx, dword [0x10085494]
mov eax, dword [0x10085498]
mov dword [ebp - 0x10], eax
mov esi, edx
not esi
mov ecx, eax
not ecx
mov dword [ebp - 0x18], ecx
mov eax, esi
xor eax, ecx
lea edi, [esi + ecx]
sub edi, eax
mov eax, esi
or eax, ecx
add eax, edi
lea edi, [esi + esi]
mov dword [ebp - 0x48], edi
and esi, ecx
mov ebx, esi
not ebx
lea edi, [eax + ebx*2]
lea ecx, [eax + ebx*2]
add ecx, 2
lea eax, [edi + edi]
add eax, 4
sub ecx, eax
lea edi, [ecx + ecx]
add edi, 0xfffffffe
mov eax, edi
and edi, 0x8052c83c
lea ecx, [edi + ecx*2]
add ecx, 0xfffffffe
not eax
and eax, 0x8052c83d
add eax, ecx
mov ecx, edx
mov edi, dword [ebp - 0x18]
and ecx, edi
sub esi, ecx
lea ecx, [esi + edi*2]
add ecx, dword [ebp - 0x10]
add ecx, ebx
mov esi, 0xfffffffe
sub esi, ecx
lea ecx, [esi + esi]
sub esi, ecx
lea ecx, [eax + esi*2]
lea eax, [eax + esi*2]
add eax, 0xc8210e7e
mov esi, eax
and esi, 0x4873d6bb
lea ecx, [ecx + esi*2]
add ecx, 0xc8210e7e
mov esi, eax
not esi
and esi, 0x378c2944
lea esi, [ecx + esi*2]
xor eax, 0x378c2944
add eax, eax
sub esi, eax
mov ecx, dword [ebp - 0x48]
lea eax, [edx + ecx]
add eax, 1
add ecx, edx
not eax
or eax, 0x4cbed6b1
add eax, ecx
add eax, 2
mov ecx, edx
and ecx, 0xb341294e
mov edi, edx
and edi, 0x4cbed6b1
sub ecx, edi
add ecx, edx
mov edi, edx
xor edi, 0xb341294e
add edi, ecx
or edx, 0xb341294e
sub edi, edx
or edi, eax
mov eax, dword [ebp - 0x18]
and eax, 0x4cbed6b1
mov ecx, dword [ebp - 0x10]
and ecx, 0xb341294e
or ecx, eax
mov eax, ecx
mov ebx, ecx
not eax
and eax, edi
add eax, eax
mov ecx, edi
xor ecx, ebx
sub ecx, eax
lea edx, [esi - 0x4873d6bb]
not edi
or edi, ebx
add edi, edi
sub ecx, edi
add ecx, 0xfffffffe
not ecx
lea eax, [ecx + ecx]
mov edi, edx
or edi, 0x11c05ab6
add edi, esi
add edi, 0xb78c2945
not edx
or edx, 0x11c05ab6
lea esi, [edi + edx]
add edx, edi
add edx, 1
mov edi, edx
sub edi, eax
neg eax
mov ebx, edx
xor ebx, eax
not ebx
add ebx, edi
add ecx, ecx
add ecx, 0xffffffff
or ecx, edx
sub ebx, ecx
lea ecx, [ebx + esi]
add ecx, 1
and eax, edx
not eax
add eax, ecx
imul eax, eax, 0x6073fd77
mov ecx, 0xf95e0b23
sub ecx, eax
or ecx, 0x63c6f39c
mov edx, ecx
sub edx, eax
not ecx
add ecx, edx
imul eax, ecx, 0x921213b9
add eax, 0x782458c0
mov ecx, eax
and ecx, 0xdc7a7edf
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0xdc7a7edf
add edx, esi
xor eax, 0x23858120
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xe4a7df24
not eax
lea eax, [eax + edx*2 - 0x132ac096]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [0x10085764]
mov ecx, dword [0x10085768]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
sub esi, eax
sub esi, eax
mov edi, eax
or edi, ecx
add edi, esi
or edx, eax
add edx, edi
and eax, ecx
add eax, edx
add eax, 0xdd5b84fd
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x1006774d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov eax, ecx
and eax, 0x6ecb27d3
lea edx, [ecx + eax*2]
or ecx, 0x6ecb27d3
sub edx, ecx
sub edx, ecx
not ecx
add ecx, ecx
sub edx, ecx
not eax
lea eax, [edx + eax*2]
add eax, 0x6ecb27d3
mov ecx, eax
and ecx, 0x6ecb27d3
lea edx, [eax + eax*2]
sub edx, ecx
mov ecx, eax
xor ecx, 0x1134d82c
lea ecx, [edx + ecx*2]
or eax, 0x9134d82c
lea eax, [eax + eax*2]
sub ecx, eax
lea eax, [ecx + 0x2375d1f2]
mov edx, eax
not edx
and edx, 1
add ecx, edx
add ecx, 0x2375d1f2
and eax, 1
add eax, ecx
imul eax, eax, 0x6b0234fb
lea ecx, [eax + 0x4c15fafd]
not ecx
mov edx, ecx
and edx, 0x6a7de42d
add edx, eax
add edx, 0x4c15fafd
mov eax, ecx
and eax, 0x95821bd2
add eax, edx
sub eax, ecx
add eax, 0x6a7de42d
not eax
mov ecx, 0x997ed3c9
sub ecx, eax
lea edx, [ecx + ecx]
xor ecx, 0x6a7de42d
sub edx, ecx
add eax, eax
add eax, 0xcd02586c
or eax, 0x2b0437a4
add eax, edx
imul eax, eax, 0x8f9fb633
lea ecx, [eax + 0x1f3f6c66]
and ecx, 0x1f4bcd3e
add eax, ecx
add eax, 0x1f3f6c66
not ecx
lea eax, [ecx + eax - 0x1f4bcd3d]
mov edx, eax
not edx
mov ecx, edx
sub ecx, eax
add ecx, edx
add ecx, eax
sub ecx, edx
or ecx, 0xffffff00
mov ebx, ecx
not ebx
lea esi, [ebx + ecx*2]
mov ecx, 0xdf1687c0
sub ecx, esi
mov edi, edx
and edi, 0xda008bfa
mov esi, eax
and esi, 0x25ff7405
lea ebx, [edi + edi*2]
or edi, esi
add ebx, edi
not edi
lea edi, [edi + edi*2]
add edi, ebx
not esi
lea esi, [esi + esi*2]
sub edi, esi
xor edi, 0xfa
or edi, 0xffffff00
mov esi, edi
not esi
add esi, esi
add edi, esi
add edi, 1
mov esi, ecx
not esi
mov ebx, esi
and ebx, edi
add ebx, ecx
add ebx, edi
or ecx, edi
not ecx
add ecx, ebx
movzx edi, al
sub ecx, esi
add ecx, 0x20e9783e
mov ebx, eax
and ebx, 0xffffff00
add edi, edi
xor eax, 0xffffff00
sub eax, edi
add edx, edx
or edx, 0xfffffe00
sub eax, edx
add eax, 0xfffffffe
or eax, ebx
mov edx, eax
neg edx
mov esi, ecx
and esi, edx
add esi, eax
add eax, 0xffffffff
xor edx, ecx
add edx, esi
or eax, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
not edx
add ecx, edx
add ecx, 1
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb91e98be
or eax, 0x985d5df7
lea ecx, [eax + edx]
add ecx, 0xb91e98be
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xae84094e
and eax, 0x985d5df7
lea ecx, [eax + edx]
add ecx, 0xae84094e
mov dword [ebp - 0x50], ecx
not eax
mov dword [ebp - 0x48], eax
add ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
movzx ebx, byte [eax + ecx - 0x67a2a200]
mov edx, ebx
not edx
mov eax, edx
and eax, 0xd51ff21a
add eax, edx
mov edi, ebx
xor edi, 0xd51ff21a
add edi, eax
lea eax, [edx + edx]
or eax, 0x55c01bca
sub edi, eax
mov eax, ebx
and eax, 0xffffffe5
lea eax, [eax + eax*2]
sub eax, ebx
sub eax, ebx
mov esi, ebx
xor esi, 0x2ae00de5
add esi, eax
mov ecx, ebx
mov dword [ebp - 0x18], ebx
or ecx, 0xd51ff21a
add ecx, esi
mov eax, edx
sub eax, ebx
sub eax, edx
or edx, 0x2ae00de5
sub ecx, edx
add edi, 0x2ae00de5
or ecx, edi
mov edx, ecx
xor edx, 0x2ae00de5
add edx, ecx
mov esi, ecx
xor esi, 0xd51ff21a
add esi, edx
add ecx, ecx
or ecx, 0xaa3fe434
sub esi, ecx
lea ecx, [esi - 0x2ae00de6]
not ecx
add ecx, ecx
add esi, ecx
add esi, 0xd51ff21b
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
xor esi, edx
mov edi, esi
and edi, edx
not esi
and esi, edx
or esi, edi
mov ecx, edx
not ecx
add esi, ecx
lea ebx, [esi + edi]
add esi, edi
add esi, 1
mov edi, esi
and edi, 0x65526f1
add edi, ebx
add edi, 1
mov ebx, esi
or ebx, 0xf9aad90e
add ebx, edi
mov edi, esi
xor edi, 0x65526f1
add edi, ebx
not esi
lea ebx, [edi + esi]
add esi, edi
add esi, 0xf9aad910
lea edi, [ebx + ebx]
add edi, 0xf355b220
mov ebx, esi
or ebx, 0xf9aad90e
sub edi, ebx
not ebx
add ebx, edi
xor esi, 0xf9aad90e
add esi, ebx
add esi, 1
not esi
lea edi, [esi + esi]
sub edi, esi
add edi, 1
mov esi, edx
neg esi
mov ebx, edi
and ebx, esi
or esi, edi
sub ebx, edx
add esi, ebx
add esi, edx
mov edx, esi
not edx
add esi, edx
add esi, edx
mov edx, 0xfffffffe
sub edx, esi
mov edi, dword [ebp - 0x18]
neg edi
mov ebx, edx
and ebx, edi
or edi, edx
lea esi, [ebx + edi]
lea edx, [ebx + edi]
add edx, 0xffffffff
lea edi, [ecx + ecx]
sub edi, ecx
lea ecx, [edi + edi]
add ecx, edi
not edi
sub ecx, edi
lea edi, [edi + edi*2]
add ecx, edi
add ecx, 2
not ecx
mov edi, eax
neg edi
lea ebx, [eax - 1]
or edi, ebx
and edi, ecx
add eax, edi
add eax, 0xffffffff
or ecx, ebx
sub eax, ecx
mov ecx, eax
not ecx
lea edi, [ecx + ecx]
lea eax, [edi + eax*2]
add eax, ecx
mov ecx, esi
neg ecx
and ecx, 0xe79609
lea edi, [ecx + ecx*2]
lea esi, [edi + esi*2]
xor edx, 0xe79609
sub edx, esi
add edx, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0x1cf2c15
mov edx, eax
and edx, 0xff1869f6
add ecx, edx
add ecx, 0x1cf2c15
not eax
mov edx, eax
and edx, 0xe79609
sub ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x35630c33
mov ecx, eax
and ecx, 0x35630c31
lea edx, [edx + ecx*2]
add edx, 0x35630c33
or eax, 0x35630c31
sub edx, eax
sub edx, eax
not eax
add eax, eax
sub edx, eax
not ecx
lea eax, [edx + ecx*2]
imul eax, eax, 0x551c28e5
lea ecx, [eax + 0x30e58879]
mov edx, ecx
not edx
and edx, 0x786282e7
add eax, edx
add eax, 0x30e58879
and ecx, 0x786282e7
add ecx, eax
imul eax, ecx, 0x204754ed
mov ecx, eax
not ecx
and ecx, 0x68a111f5
add ecx, ecx
lea ecx, [ecx + eax*2]
xor eax, 0x175eee0a
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x2ebddc16
not eax
mov ecx, eax
and ecx, 0x478eebef
add edx, ecx
add edx, 0x2ebddc16
mov ecx, eax
and ecx, 0xb8711410
add ecx, edx
sub ecx, eax
add ecx, 0x478eebef
not ecx
lea edx, [ecx + 0x175eee0a]
mov dword [ebp - 0x10], edx
or edx, 0xffffff00
lea eax, [edx + edx]
sub eax, edx
mov edi, 0xe8a111f5
sub edi, ecx
mov dword [ebp - 0x44], edi
and edi, 0xffffff00
add eax, edi
mov esi, eax
not esi
mov ebx, esi
and ebx, 0x1a7e780d
mov edx, esi
add esi, esi
sub esi, ebx
xor eax, 0x1a7e780d
add eax, esi
or edx, 0xe58187f2
add edx, ecx
sub eax, edx
lea edx, [eax - 0x31dd6619]
not edx
mov esi, edx
and esi, 0xe58187f2
add esi, eax
add esi, 0xce2299e7
mov eax, edx
and eax, 0x1a7e780d
add eax, esi
sub eax, edx
mov ebx, dword [ebp - 0x44]
movzx edx, bl
mov dword [ebp - 0x20], edx
add edx, edx
sub edi, edx
mov esi, ebx
or esi, 0xffffff00
add esi, ecx
add ecx, ecx
add ecx, 0x2ebddc14
or ecx, 0xfffffe00
sub edi, ecx
add edi, 0xfffffffe
movzx ecx, byte [ebp - 0x10]
or edi, ecx
add eax, 0x7922493
mov ecx, eax
and ecx, edi
add ecx, edi
mov edx, edi
xor edi, eax
add edi, ecx
not edx
or edx, eax
lea ecx, [edi + edx]
lea eax, [edx + edi]
add eax, 1
mov edx, eax
and edx, 0x12ec537a
lea ecx, [ecx + edx*2]
add ecx, 1
mov edx, eax
not edx
and edx, 0x6d13ac85
lea ecx, [ecx + edx*2]
xor eax, 0x6d13ac85
add eax, eax
sub eax, ecx
mov edi, ebx
mov ecx, ebx
or ecx, 0xff
mov ebx, dword [ebp - 0x20]
add ecx, ebx
mov edx, dword [ebp - 0x10]
or edx, 0xff
add ecx, edx
add ecx, 0xffffff02
mov edx, edi
xor edx, 0xff
xor edi, 0xffffff00
add edi, edx
sub edi, esi
mov edx, ebx
not edx
add edx, edi
add edx, 0xe8a111f6
or edx, ecx
add eax, 0xed13ac85
mov ecx, edx
not ecx
or ecx, edx
and ecx, eax
add ecx, edx
imul eax, ecx, 0xccf33511
lea ecx, [eax + 0x9ba7281]
not ecx
lea edx, [ecx + eax*2]
add edx, 0x1374e502
lea eax, [ecx + eax*2]
add eax, 0x9d738a42
mov ecx, eax
not ecx
and ecx, 0x9ba7280
lea ecx, [ecx + edx*2]
add ecx, 0x13fd4a80
or eax, 0x9ba7280
sub ecx, eax
imul eax, ecx, 0x8fb1a40f
lea ecx, [eax - 0x3d78598f]
mov edx, ecx
not edx
lea esi, [edx + edx]
lea eax, [esi + eax*2]
add eax, 0x850f4ce2
or edx, 0x2b637147
sub eax, edx
and ecx, 0x2b637147
lea edx, [eax + ecx]
lea edi, [eax + ecx]
add edi, 0xd49c8eba
mov eax, edi
and eax, 0x56a8f54f
add eax, edx
add eax, 0xd49c8eba
not edi
and edi, 0x56a8f54f
add edi, eax
mov eax, edi
xor eax, 0xd49c8eb8
lea eax, [eax + edi*2]
add edi, edi
not edi
and edi, 0x56c6e28f
add edi, eax
mov esi, dword [ebp + 8]
mov cl, byte [esi + edi + 8]
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + eax - 0x67a2a200], cl
mov ebx, dword [ebp - 0x18]
mov eax, ebx
add al, 0xff
mov edx, ecx
and dl, al
add dl, dl
mov ah, cl
sub ah, dl
mov edx, ebx
mov byte [esi + edi + 8], dl
add ah, dl
neg dl
or dl, cl
add ah, dl
add ah, dl
add al, al
add al, ah
movzx eax, al
imul eax, eax, 0x2f
add al, 0x5e
mov ecx, eax
and cl, 0x88
or al, 0x88
add al, cl
movzx eax, al
imul eax, eax, 0xffffffcf
add al, 0x10
mov ecx, eax
and cl, 0xf7
add cl, al
mov edx, eax
xor dl, 8
sub cl, dl
mov edx, eax
or dl, 8
add dl, cl
sub dl, al
add dl, 0xf8
movzx eax, dl
mov bl, byte [esi + eax + 8]
mov eax, ebx
and al, 0x9e
mov ecx, ebx
or cl, 0x9e
add cl, al
mov edx, ebx
xor dl, 0x9e
add dl, cl
mov ecx, ebx
not cl
sub dl, cl
mov eax, ecx
mov byte [ebp - 0x18], cl
or al, 0x9e
movzx eax, al
lea eax, [eax + eax*2]
add al, dl
and cl, 0x61
add al, 0xc6
mov edx, ecx
or dl, al
not dl
add dl, dl
mov ch, cl
xor ch, al
not ch
sub ch, dl
and al, cl
not al
add al, ch
mov ecx, eax
not cl
and cl, 0x9e
add cl, al
mov ch, al
xor ch, 0x9e
add ch, cl
or al, 0x9e
sub ch, al
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx]
mov byte [ebp - 0x24], al
not al
mov bh, ch
xor bh, al
mov dh, al
mov cl, bh
and cl, ch
add cl, bh
mov al, bh
not al
and al, ch
add al, al
add al, cl
mov cl, ch
add cl, ch
sub al, cl
xor bh, ch
not bh
add bh, al
add bh, ch
add bh, 1
mov dl, bh
and dl, 0xe3
movzx eax, dl
lea eax, [eax + eax*2]
neg eax
mov cl, bh
add cl, bh
add cl, al
mov ch, bl
mov byte [ebp - 0x44], dh
and ch, dh
or bl, dh
mov dh, bl
add dh, bl
movzx eax, ch
lea eax, [eax + eax*2]
sub al, dh
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
add esi, edi
add esi, 0x985d5df8
not bl
add bl, bl
sub al, bl
not ch
add ch, ch
add ch, al
mov al, byte [ebp - 0x18]
mov dh, al
add dh, al
sub dh, al
and dh, byte [ebp - 0x24]
xor bh, 0x1c
add bh, cl
add bh, dl
mov al, dh
and al, ch
mov cl, dh
add cl, dh
sub cl, al
mov al, dh
or al, ch
add al, cl
mov bl, dh
xor bl, ch
not bl
add bl, bl
add bl, al
not ch
add bl, ch
or ch, dh
movzx eax, ch
lea eax, [eax + eax*2]
neg eax
add al, bl
add bh, 0x5f
mov cl, bh
not cl
and cl, al
add cl, bh
add cl, al
and bh, al
not al
add al, cl
add al, bh
mov dl, byte [ebp - 0x18]
mov ch, dl
mov dh, byte [ebp - 0x44]
and ch, dh
mov cl, ch
add cl, dl
add cl, dh
xor dh, dl
mov ebx, edx
sub cl, dh
not ch
add ch, ch
add ch, cl
mov cl, 0xfe
sub cl, ch
mov edx, ecx
add dl, cl
sub cl, dl
add cl, al
add cl, 0x86
mov eax, ecx
and al, 0x17
movzx eax, al
lea edx, [eax + eax*2]
add dl, cl
mov eax, ecx
xor al, 0x17
movzx eax, al
lea eax, [eax + eax*2]
add al, dl
or cl, 0x17
movzx ecx, cl
lea ecx, [ecx + ecx*2]
neg ecx
add cl, al
sub cl, bl
movzx eax, cl
imul eax, eax, 0xffffffed
add al, 0xed
mov ecx, eax
not cl
and cl, 0xcc
add cl, al
or al, 0x33
add al, cl
add al, 0xcd
mov ecx, eax
and cl, 0x12
add cl, al
not al
or al, 0xed
add al, cl
movzx eax, al
imul eax, eax, 0xffffffe5
add al, 0x68
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x10]
mov byte [ecx + edx], al
lea eax, [edx + edx]
mov ecx, edx
sub ecx, eax
neg eax
add eax, edx
add eax, 1
mov edx, eax
not edx
add ecx, edx
add ecx, 1
add ecx, eax
mov eax, 0x2f46ed5c
sub eax, ecx
mov ecx, eax
or ecx, 1
add eax, ecx
not ecx
add ecx, eax
imul eax, ecx, 0xf69c6d6d
add eax, 0x8ce59eae
mov ecx, eax
and ecx, 0x1d61f911
mov edi, eax
sub edi, ecx
sub edi, ecx
mov edx, eax
or edx, 0x1d61f911
add edx, edi
xor eax, 0xe29e06ee
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xf0567fa6
not eax
lea eax, [eax + edx*2]
add eax, 0xe0acff4c
imul eax, eax, 0xe48ba465
add eax, 0x291a7cb0
mov ecx, eax
and ecx, 0xac491ee4
sub ecx, eax
mov edx, eax
or edx, 0x53b6e11b
add edx, ecx
mov ecx, eax
or ecx, 0xac491ee4
add ecx, edx
and eax, 0x53b6e11b
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x53b6e11c
mov ecx, eax
not ecx
lea edi, [ecx + ecx]
lea edx, [edi + edx*2]
add edx, 0xa76dc238
or ecx, 0x3cf4179c
sub edx, ecx
and eax, 0x3cf4179c
lea ecx, [edx + eax]
add eax, edx
add eax, 0x3cf4179d
mov edx, eax
and edx, 0x53b6e11b
add ecx, edx
add ecx, 0x3cf4179d
not eax
and eax, 0x53b6e11b
add eax, ecx
add eax, 0x58923dca
cmp eax, dword [ebp + 0xc]
mov ecx, 0xbc4d511c
mov edx, 0x322e094f
cmove ecx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov eax, dword [0x1008568c]
mov edx, dword [0x10085690]
mov ecx, eax
not ecx
mov esi, ecx
and esi, edx
xor eax, edx
not eax
add eax, esi
or ecx, edx
sub eax, ecx
add eax, 0xdd5b84fc
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov esi, dword [0x10088d08]
cmp dword [0x10088d04], 0xa
setl al
setge cl
mov edi, esi
not edi
and edi, 1
add edi, esi
mov edx, esi
and edx, 1
add edx, edi
imul edx, esi
test dl, 1
sete ah
and cl, ah
xor al, ah
not al
add al, cl
add al, dl
test al, 1
jne 0x100672c0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov ecx, eax
or ecx, 0x9134d82c
mov edx, eax
sub edx, ecx
and eax, 0x6ecb27d3
lea ecx, [edx + eax]
add eax, edx
add eax, 0xffffffff
and eax, 0x6ecb27d3
add eax, ecx
add eax, 0xffffffff
neg ecx
and ecx, 0x6ecb27d3
add eax, ecx
add eax, 0x2269b05a
mov ecx, eax
and ecx, 0x7ef3de67
add ecx, ecx
sub ecx, eax
mov edx, eax
xor edx, 0xfef3de67
add edx, ecx
mov ecx, eax
or ecx, 0x10c2198
add ecx, edx
not eax
or eax, 0xfef3de67
sub ecx, eax
lea eax, [ecx + 0x10c219a]
xor eax, 0x10c2198
lea eax, [eax + ecx*2]
add eax, 0x2184334
add ecx, ecx
add ecx, 0x2184334
or ecx, 0x2184330
sub eax, ecx
imul ecx, eax, 0x6b0234fb
lea eax, [ecx - 0x6b0234fb]
mov edx, eax
not edx
mov esi, edx
and esi, 0x6a7de42d
add ecx, esi
add ecx, 0x94fdcb05
xor eax, 0x95821bd2
add eax, ecx
or edx, 0x6a7de42d
sub eax, edx
lea ecx, [eax + 0x3fcb7f7]
mov edx, ecx
not edx
and edx, 0x6a7de42d
add eax, edx
add eax, 0x3fcb7f7
and ecx, 0x6a7de42d
add ecx, eax
imul eax, ecx, 0x8f9fb633
lea ecx, [eax - 0x247ee5ee]
mov edx, ecx
not edx
and edx, 0x1f4bcd3e
add eax, edx
add eax, 0xdb811a12
mov edx, ecx
or edx, 0x1f4bcd3e
add edx, eax
xor ecx, 0xe0b432c1
lea eax, [ecx + edx]
add eax, 0xc1686585
mov ecx, eax
mov esi, eax
mov dword [ebp - 0x10], eax
not ecx
mov edx, ecx
and edx, 0xffffff00
sub edx, ecx
and esi, 0x25ff7405
lea esi, [ecx + esi*2]
mov ebx, ecx
or ebx, 0xffffff00
add edx, ebx
lea eax, [ebx + edx]
add eax, 0x100
mov ebx, ecx
or ebx, 0x25ff7405
sub esi, ebx
mov ebx, ecx
and ebx, 0xda008bfa
or esi, ebx
mov ebx, esi
xor ebx, 0x25ff7405
mov edi, esi
or edi, 0x25ff7405
add edi, ebx
add edi, ebx
not esi
sub edi, esi
or esi, 0x25ff7405
lea esi, [esi + esi*2]
add esi, edi
add esi, 0xb40117f8
mov ebx, esi
not ebx
movzx edi, bl
sub edi, ebx
or ebx, 0xffffff00
add ebx, edi
sub ebx, esi
or esi, 0xffffff00
add esi, ebx
mov edi, eax
not edi
mov ebx, edi
and ebx, 0x20e9783d
add ebx, edi
mov edx, eax
and edx, 0xdf1687c2
add edx, ebx
not esi
xor eax, 0x20e9783d
sub edx, eax
lea eax, [edx - 0x20e9783e]
mov edi, eax
and edi, esi
add edx, edx
add edx, 0xbe2d0f84
lea ebx, [edi + edi*2]
sub edx, ebx
lea ebx, [edx + esi*2]
xor eax, esi
movzx ecx, cl
not eax
add eax, ebx
add eax, edi
mov edi, dword [ebp - 0x10]
mov edx, edi
and edx, 0xffffff00
xor edi, 0xffffff00
add ecx, edx
add ecx, edi
add ecx, edx
add ecx, 1
or ecx, edi
mov edx, ecx
not edx
lea esi, [edx + edx]
sub esi, ecx
add esi, edx
lea ecx, [edx + edx*2]
sub ecx, esi
add ecx, eax
imul eax, ecx, 0x1258906d
add eax, 0x2d0c3340
mov ecx, eax
not ecx
lea edx, [ecx + ecx]
sub edx, eax
sub edx, ecx
sub edx, ecx
mov eax, edx
not eax
mov ecx, eax
and ecx, 0x3f6f37f4
add ecx, edx
mov edx, eax
and edx, 0xc090c80b
add edx, ecx
sub edx, eax
imul eax, edx, 0x8236069b
lea ecx, [eax + 0x20c13ac5]
and ecx, 0x46e16744
add eax, ecx
add eax, 0x20c13ac5
not ecx
lea edx, [eax + ecx]
lea esi, [ecx + eax + 0x46e16745]
mov ecx, esi
not ecx
mov eax, ecx
mov edi, ecx
mov dword [ebp - 0x50], ecx
and eax, 0x985d5df7
lea eax, [eax + eax*2]
lea ecx, [edx + edx]
add ecx, 0x8dc2ce8a
mov edx, ecx
sub edx, eax
or esi, 0x985d5df7
add esi, edx
or ecx, 0xcf454410
sub esi, ecx
mov dword [ebp - 0x48], esi
lea ecx, [esi + edi*2]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
movzx edi, byte [eax + ecx - 0x67a2a201]
mov dword [ebp - 0x10], edi
mov eax, edi
not eax
mov edx, eax
and edx, 0xd51ff21a
mov esi, edi
xor esi, 0x2ae00de5
add esi, edx
mov ecx, eax
or ecx, 0x2ae00de5
sub esi, ecx
mov ecx, edi
or ecx, 0xd51ff21a
add ecx, esi
not edx
add edx, edx
sub ecx, edx
mov esi, edi
and esi, 0xffffffe5
add esi, edi
mov edx, eax
and edx, 0x2ae00de5
add edx, esi
mov esi, edi
or esi, 0x2ae00de5
sub edx, esi
add ecx, 0x55c01bca
or edx, ecx
xor edx, 0x2ae00de5
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
mov esi, edx
xor esi, ecx
mov edi, ecx
and edi, edx
lea edi, [edi + edi*2]
mov ebx, esi
not ebx
add ebx, edi
lea esi, [esi + esi*2]
add esi, ebx
or edx, ecx
lea edx, [edx + edx*2]
sub esi, edx
and esi, ecx
mov edx, esi
not edx
mov edi, esi
and edi, 0x79aad90e
lea edi, [esi + edi*2]
and edx, 0x65526f1
lea edx, [edi + edx*2]
xor esi, 0x65526f1
add esi, esi
sub edx, esi
mov ebx, dword [ebp - 0x10]
mov esi, ebx
neg esi
lea edi, [edx + ecx]
add edi, 0xffffffff
or esi, edi
add edx, ecx
neg edx
lea edi, [ebx - 1]
and edi, edx
add edi, edi
sub edx, edi
sub edx, ebx
add esi, esi
sub edx, esi
and eax, ecx
mov ecx, 2
sub ecx, edx
and ecx, 0xe79609
mov esi, ecx
sub esi, edx
not ecx
lea edx, [esi + ecx]
add edx, 0xe7960c
not eax
mov ecx, edx
and ecx, eax
mov edi, edx
sub edi, ecx
sub edi, ecx
add edi, eax
mov esi, edx
or esi, eax
add esi, edi
xor eax, edx
not eax
add eax, esi
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xff1869f8
mov eax, ecx
not eax
and eax, 0xca9cf3ce
lea eax, [eax + edx*2]
add eax, 0xfe30d3f0
or ecx, 0xca9cf3ce
sub eax, ecx
add eax, 0x35630c31
mov ecx, eax
and ecx, 0xfffffffe
sub ecx, eax
mov edx, eax
or edx, 1
add edx, ecx
mov ecx, eax
or ecx, 0xfffffffe
add ecx, edx
and eax, 1
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
lea esi, [ecx + ecx]
lea edx, [esi + edx*2]
add edx, 4
or ecx, 0x35630c31
sub edx, ecx
and eax, 0x35630c31
add eax, edx
imul ecx, eax, 0x551c28e5
lea eax, [ecx + 0x7f3e9910]
xor eax, 0x879d7d18
lea eax, [eax + ecx*2]
add eax, 0xfe7d3220
add ecx, ecx
add ecx, 0xfe7d3220
or ecx, 0xf3afa30
sub eax, ecx
add eax, 0xf3afa31
mov ecx, eax
and ecx, 0x7f259b35
add ecx, ecx
sub ecx, eax
mov edx, eax
xor edx, 0x7f259b35
add edx, ecx
mov ecx, eax
or ecx, 0x80da64ca
add ecx, edx
not eax
or eax, 0x7f259b35
sub ecx, eax
imul edx, ecx, 0x204754ed
lea eax, [edx - 0x5356f014]
mov ecx, eax
and ecx, 0x175eee0a
add edx, edx
add edx, 0x59521fd8
sub edx, ecx
sub edx, ecx
not eax
or eax, 0x175eee0a
add eax, edx
lea edx, [eax + ecx]
lea esi, [ecx + eax]
add esi, 0x175eee0b
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x478eebef
add ecx, edx
add ecx, 0x175eee0b
xor esi, 0xb8711410
add esi, ecx
or eax, 0x478eebef
sub esi, eax
lea ebx, [esi + 0x302ffde5]
mov dword [ebp - 0x18], ebx
mov edx, esi
mov dword [ebp - 0x20], esi
not ebx
mov eax, ebx
and eax, 0xffffff00
sub eax, ebx
mov ecx, ebx
or ecx, 0xffffff00
add eax, ecx
lea esi, [eax + ecx]
add ecx, eax
add ecx, 0x100
not ecx
lea eax, [ecx + esi*2]
add eax, 0x200
add ecx, ecx
add ecx, eax
mov eax, 0x1ddcf28e
sub eax, ecx
mov esi, 0xfffffffe
sub esi, ecx
mov ecx, ebx
or ecx, 0xff
and esi, ecx
not ecx
add esi, ecx
add esi, eax
mov edi, 0x1ddcf28f
sub edi, eax
or edi, ecx
mov ecx, 0x1ddcf28f
sub ecx, esi
sub ecx, edi
lea eax, [edi + esi]
add eax, 0xe2230d70
and eax, 0x658187f2
add eax, eax
lea eax, [eax + ecx*2]
xor ecx, 0x1a7e780d
lea esi, [eax + ecx]
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, ebx
add eax, esi
add eax, 1
mov esi, ecx
not esi
mov edi, dword [ebp - 0x18]
and esi, edi
add esi, eax
lea eax, [edx + esi]
add eax, 0x302ffde5
xor ecx, edi
mov edx, edi
sub eax, ecx
mov ecx, eax
and ecx, 0xe58187f2
lea esi, [ecx + ecx*2]
lea edi, [eax + eax]
sub edi, esi
xor eax, 0x1a7e780d
add eax, edi
lea edi, [ecx + eax]
add edi, 1
mov ecx, edx
and ecx, 0xffffff00
mov eax, edx
xor eax, 0xffffff00
movzx esi, bl
add eax, esi
add eax, ecx
lea edx, [esi + eax]
add edx, 1
mov esi, edi
and esi, 0xed13ac85
lea eax, [edi + edi*2]
sub eax, esi
mov esi, edi
xor esi, 0x12ec537a
lea esi, [eax + esi*2]
or edi, 0x12ec537a
lea eax, [edi + edi*2]
sub esi, eax
or edx, ecx
add esi, edx
mov edx, dword [ebp - 0x18]
movzx eax, dl
lea edi, [ecx + eax*2]
and ebx, 0x7fffff00
mov eax, edx
sub edi, edx
xor eax, 0xff
mov ecx, eax
mov eax, dword [ebp - 0x20]
add eax, ecx
add eax, 0x302ffde5
lea eax, [eax + ebx*2]
lea ecx, [ecx + eax + 0x101]
mov eax, edi
not eax
mov edx, eax
and edx, ecx
or edi, ecx
add edx, edi
not edi
add edi, edx
sub edi, eax
mov eax, 0xed13ac86
sub eax, esi
and eax, edi
mov ecx, eax
sub ecx, esi
add ecx, edi
not eax
add eax, ecx
add eax, 0xed13ac87
lea ecx, [eax + eax*2]
not eax
lea eax, [ecx + eax*2]
neg eax
imul eax, eax, 0x330ccaef
add eax, 0xa3a0dca3
mov ecx, eax
xor ecx, 0x89fea53f
mov edx, eax
or eax, 0x76015ac0
add eax, ecx
and edx, 0x89fea53f
add eax, edx
imul eax, eax, 0x8fb1a40f
add eax, 0xfb905531
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x2b637147
sub eax, edx
or ecx, 0xd49c8eb8
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x56a8f550
mov ecx, eax
xor ecx, 0x2b637147
add ecx, edx
add ecx, 0x56a8f550
mov edx, eax
or edx, 0xd49c8eb8
sub ecx, edx
not eax
mov esi, eax
or esi, 0x2b637147
add esi, ecx
add eax, eax
or eax, 0xa9391d70
sub esi, eax
mov ebx, dword [ebp + 8]
mov cl, byte [ebx + esi - 0x2b637141]
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
mov eax, dword [ebp - 0x24]
mov byte [ebx + eax - 0x67a2a201], cl
mov edx, dword [ebp - 0x10]
mov byte [ebx + esi - 0x2b637141], dl
mov eax, edx
add al, 0xff
and al, cl
add al, cl
add al, dl
neg dl
not cl
or cl, dl
add cl, al
mov eax, dword [ebp + 0x10]
mov ch, byte [eax + edi]
mov al, ch
not al
mov edx, eax
mov byte [ebp - 0x10], al
mov al, ch
add al, ch
mov dh, dl
sub dh, al
add cl, 1
movzx eax, cl
movzx ebx, byte [ebx + eax + 8]
mov dl, bl
not dl
mov byte [ebp - 0x25], dl
add dl, dl
mov byte [ebp - 0x18], ch
add dh, ch
add dh, ch
mov byte [ebp - 0x26], dh
mov ah, bl
and ah, dh
mov byte [ebp - 0x44], ah
add ah, bl
add ah, dl
add dl, bl
add dl, 1
mov byte [ebp - 0x20], dl
mov al, dl
and al, 0x61
mov ecx, edx
and cl, 0x1e
add cl, cl
add cl, al
mov al, dl
not al
mov byte [ebp - 0x24], al
and al, 0x61
add al, al
add al, cl
mov ecx, edx
xor cl, 0x61
add cl, cl
sub al, cl
mov edx, ebx
add dl, bl
lea ecx, [ebx + ebx*2]
sub cl, dl
sub cl, bl
mov edx, ebx
mov dh, byte [ebp - 0x25]
or dl, dh
and dl, 0x9e
or bl, 0x61
add bl, dl
add bl, 1
mov dl, al
or dl, bl
mov bh, dl
sub bh, bl
add bh, dl
not al
or al, bl
add al, bh
add al, 1
mov dl, al
xor dl, 0x9e
mov ebx, eax
xor bl, 0x61
add bl, dl
mov dl, al
or dl, 0x61
sub bl, dl
not al
sub bl, al
or al, 0x61
add al, bl
mov dl, al
xor dl, byte [ebp - 0x10]
and dl, al
mov al, dl
and al, 0xe3
add dl, al
not al
add al, dl
add al, 0xe4
mov dl, al
and dl, 0x1d
mov ebx, edx
add bl, dl
mov bh, al
sub bh, bl
mov bl, al
or bl, 0x1d
add bl, bh
xor al, 0xe2
add al, bl
add al, dl
mov dl, dh
mov bh, byte [ebp - 0x18]
and dl, bh
add dl, dh
mov bl, dh
or bl, bh
not bl
add bl, dl
mov dl, dh
mov dh, byte [ebp - 0x26]
or dh, dl
or cl, dl
mov bh, byte [ebp - 0x10]
or dl, bh
sub bl, dl
sub ah, dh
add ah, byte [ebp - 0x44]
add ah, 1
mov edx, ebx
not dl
or dl, bl
and dl, ah
sub dl, ah
or ah, bl
add ah, dl
add al, 0x1e
mov edx, eax
and dl, 5
add dl, dl
sub dl, al
mov bl, al
xor bl, 0x85
add bl, dl
mov edx, eax
or dl, 0x7a
add dl, bl
not al
or al, 0x85
sub dl, al
add dl, ah
add dl, 0x7b
mov eax, edx
xor al, 0x7a
add dl, dl
add al, dl
not dl
and dl, 0xb
add dl, al
mov al, byte [ebp - 0x20]
and al, bh
and bh, byte [ebp - 0x24]
or bh, al
add bh, byte [ebp - 0x18]
add bh, al
mov eax, edx
add al, dl
add al, bh
sub al, dl
add al, 0x19
mov edx, eax
add dl, cl
neg cl
mov ah, al
or ah, cl
add ah, dl
mov edx, eax
xor dl, cl
add dl, ah
not al
sub dl, al
or al, cl
movzx eax, al
lea eax, [eax + eax*2]
add al, dl
add al, 2
mov ecx, eax
or cl, 0xe8
mov edx, eax
sub dl, cl
not cl
add cl, cl
sub dl, cl
mov ecx, eax
xor al, 0x17
add al, dl
not cl
or cl, 0x17
add cl, al
movzx eax, cl
imul eax, eax, 0xffffffed
add al, 0xc8
mov ecx, eax
and cl, 0x12
not al
sub cl, al
or al, 0xed
add al, cl
add al, 0xed
mov ecx, eax
and cl, 0x33
add cl, al
or al, 0xcc
sub cl, al
movzx eax, cl
imul eax, eax, 0xffffffe5
mov cl, 8
sub cl, al
add al, 0xf7
mov edx, eax
and dl, 0x83
add dl, al
and cl, 0x7c
add cl, dl
xor al, 0x7c
sub cl, al
add cl, 0x84
mov eax, dword [ebp + 0x14]
mov byte [eax + edi], cl
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
lea eax, [eax + ecx*2]
add eax, 0x985d5df7
lea ecx, [edi - 1]
lea edx, [edi + edi]
add edx, 0xfffffffe
sub edx, edi
sub edx, ecx
sub edx, ecx
lea ecx, [edx + edx]
add ecx, 0xfffffffe
neg edx
lea edi, [edx + edx]
xor edx, 0xd0b912a4
sub edi, edx
or ecx, 0x5e8ddab6
add ecx, edi
add ecx, 2
not ecx
mov edx, ecx
neg edx
and edx, 0xd0b912a4
mov edi, edx
sub edi, ecx
not edx
add edx, edi
imul ecx, edx, 0xf69c6d6d
lea edx, [ecx - 0x69b6cebf]
not edx
mov edi, edx
and edi, 0x1d61f911
add edi, ecx
add edi, 0x96493141
mov ecx, edx
and ecx, 0xe29e06ee
add ecx, edi
sub ecx, edx
add ecx, 0xf0567fa5
mov edx, ecx
and edx, 0x1d61f911
mov edi, ecx
xor edi, 0x1d61f911
or ecx, 0xe29e06ee
add ecx, edi
add ecx, edx
imul edx, ecx, 0xe48ba465
lea ecx, [edx + 0x291a7cb0]
mov edi, ecx
not edi
and edi, 0x53b6e11b
add edx, edi
add edx, 0x291a7cb0
and ecx, 0x53b6e11b
add ecx, edx
mov edx, ecx
not edx
mov edi, edx
and edi, 0x3cf4179c
sub ecx, edi
or edx, 0xc30be863
add ecx, edx
add ecx, 0x26314e1e
cmp ecx, dword [ebp + 0xc]
mov edx, 0xbc4d511c
mov edi, 0x322e094f
cmove edx, edi
mov edi, dword [ebp - 0x40]
mov dword [edi], edx
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
lea ecx, [esi - 0x2b637149]
mov edx, dword [ebp - 0x34]
mov dword [edx], ecx
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xdd5b84fc
jmp 0x10067c9b
mov edx, dword [0x10088c10]
mov eax, dword [0x100854e4]
mov ecx, dword [0x100854e8]
mov esi, ecx
not esi
or esi, ecx
and esi, eax
sub esi, eax
add esi, 0xa
cmp dword [0x10088c0c], esi
setl byte [ebp - 0x10]
lea ecx, [edx + edx]
mov esi, edx
not esi
add ecx, esi
add ecx, 0xde9a00ec
imul ecx, edx
mov edx, dword [0x100854ec]
mov edi, dword [0x100854f0]
mov esi, edx
and esi, edi
mov ebx, edx
or ebx, edi
sub ebx, esi
sub ebx, esi
xor edx, edi
not edx
add edx, ebx
lea eax, [esi + edx]
add eax, 1
and ecx, 1
cmp ecx, eax
sete cl
or cl, byte [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp cl, 1
jne 0x10069000
cmp eax, 0xed0d4077
jg 0x10069120
cmp eax, 0xca0f0033
jg 0x100691c0
cmp eax, 0x968f9527
je 0x100692d3
cmp eax, 0xbd5cc2ab
je 0x10069333
cmp eax, 0xc0e0fd58
jne 0x10067020
mov eax, dword [0x10088ee0]
mov esi, dword [0x10085514]
mov edx, dword [0x10085518]
mov ecx, esi
xor ecx, edx
not ecx
add ecx, esi
not edx
add ecx, edx
or edx, esi
add edx, edx
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088edc], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
mov eax, dword [0x1008551c]
mov edi, dword [0x10085520]
mov esi, eax
not esi
mov ebx, esi
and ebx, edi
xor eax, edi
not eax
add eax, ebx
or esi, edi
sub eax, esi
and edx, 1
cmp edx, eax
sete al
or al, cl
add al, 1
test al, 1
je 0x10067088
jmp 0x1006710f
cmp eax, 0x4fef17c4
jg 0x10069239
cmp eax, 0xed0d4078
je 0x1006935d
cmp eax, 0x1b737f45
je 0x100693b6
cmp eax, 0x4ea0471f
jne 0x10067020
mov ecx, dword [0x10088e40]
mov eax, dword [0x1008553c]
mov edx, dword [0x10085540]
mov esi, eax
or eax, edx
not edx
and esi, edx
add esi, esi
mov edi, eax
sub edi, esi
add edi, eax
lea eax, [edi + edx*2]
add eax, 0xc
cmp dword [0x10088e3c], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x10085544]
mov esi, dword [0x10085548]
mov edi, ecx
and edi, esi
sub edi, ecx
or ecx, esi
add ecx, edi
sub ecx, esi
cmp edx, ecx
setne cl
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x100671d7
jmp 0x1006726e
cmp eax, 0xca0f0034
je 0x10069403
cmp eax, 0xd1f99307
je 0x10069455
cmp eax, 0xdd5b84fc
jne 0x10067020
mov esi, dword [0x10089010]
cmp dword [0x1008900c], 0xa
setge ch
setl cl
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x100856cc]
mov edi, dword [0x100856d0]
mov ebx, esi
not ebx
mov eax, ebx
and eax, edi
or esi, edi
not esi
add esi, eax
sub esi, ebx
and edx, 1
cmp edx, esi
sete al
setne dl
and dl, cl
or cl, al
add cl, dl
or ch, al
add ch, cl
test ch, 1
je 0x10067127
jmp 0x100671a1
cmp eax, 0x4fef17c5
je 0x100694c9
cmp eax, 0x6a064462
jne 0x1006951d
mov esi, dword [0x10088f18]
mov eax, dword [0x10085604]
mov ecx, dword [0x10085608]
mov edx, eax
not edx
and edx, ecx
lea edi, [ecx + ecx]
sub edi, edx
and eax, ecx
not ecx
add ecx, edi
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x10088f14], eax
setl byte [ebp - 0x10]
setge byte [ebp - 0x18]
lea edx, [esi + 1]
imul edx, esi
mov esi, dword [0x1008560c]
mov eax, dword [0x10085610]
mov ebx, esi
xor ebx, eax
mov edi, eax
not edi
lea ecx, [ebx + edi*2]
or edi, esi
sub ecx, edi
mov ebx, esi
not ebx
or ebx, eax
add ebx, ecx
and esi, eax
not esi
add esi, esi
sub ebx, esi
and edx, 1
cmp edx, ebx
sete al
and al, byte [ebp - 0x18]
add al, byte [ebp - 0x10]
add al, 1
test al, 1
je 0x1006764a
jmp 0x1006768b
mov edx, dword [0x10088f44]
cmp dword [0x10088f48], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x10085594]
mov esi, dword [0x10085598]
mov edi, edx
xor edi, edx
not edi
and edi, esi
xor edi, edx
xor edx, esi
sub edi, edx
cmp ecx, edi
sete dl
mov ecx, eax
and cl, dl
mov ah, cl
add ah, al
add ah, dl
mov ch, al
or ch, dl
add ch, ah
xor al, dl
not al
add al, ch
not cl
add cl, al
test cl, 1
jne 0x10067433
jmp 0x1006749a
cmp dword [0x1008911c], 0xa
mov eax, dword [0x10089120]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1006774d
jmp 0x10067a61
mov eax, dword [0x10089048]
mov edx, dword [0x100855b4]
mov edi, dword [0x100855b8]
mov ecx, edx
and ecx, edi
lea esi, [ecx + ecx]
or edx, edi
sub esi, edx
sub esi, edx
not edx
add edx, edx
sub esi, edx
not ecx
lea ecx, [esi + ecx*2]
add ecx, 0xa
cmp dword [0x10089044], ecx
setl cl
lea edx, [eax + eax]
add edx, eax
mov ebx, 0xa9f88a3f
sub ebx, edx
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp al, 1
je 0x100674bb
jmp 0x10067566
mov eax, dword [0x10088f20]
mov ecx, dword [0x100855dc]
mov edx, dword [0x100855e0]
lea esi, [ecx + edx]
mov edi, ecx
xor edi, edx
sub esi, edi
and ecx, edx
not ecx
lea ecx, [esi + ecx*2]
add ecx, 0xc
cmp dword [0x10088f1c], ecx
setl cl
setge dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
sete al
and al, dl
add al, cl
test al, 1
jne 0x10067587
jmp 0x1006760c
mov eax, dword [0x100890c0]
mov ecx, dword [0x1008567c]
mov edx, dword [0x10085680]
mov esi, edx
not esi
and esi, ecx
not ecx
mov edi, ecx
and edi, edx
sub esi, edi
add esi, edx
add ecx, esi
add ecx, 0xb
cmp dword [0x100890bc], ecx
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
cmp al, 1
je 0x10067c9b
jmp 0x1006862d
mov eax, dword [0x10085564]
mov ecx, dword [0x10085568]
mov edx, eax
mov esi, eax
or esi, ecx
not eax
or eax, ecx
not ecx
and edx, ecx
lea edx, [edx + edx*2]
add esi, esi
sub edx, esi
mov esi, dword [0x100890a0]
add ecx, ecx
sub edx, ecx
add eax, edx
add eax, 9
cmp dword [0x1008909c], eax
setge al
lea ecx, [esi - 1]
imul ecx, esi
mov edx, dword [0x1008556c]
mov esi, dword [0x10085570]
mov edi, edx
and edi, esi
not edx
add edi, edx
or edx, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
setne dl
and al, dl
add al, cl
add al, dl
test al, 1
jne 0x10067330
jmp 0x100673e6
mov edx, dword [0x10089080]
cmp dword [0x1008907c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10085634]
mov esi, dword [0x10085638]
mov edi, edx
and edi, esi
mov ebx, edx
or ebx, esi
not ebx
add ebx, ebx
lea edi, [ebx + edi*2]
xor edx, esi
not edx
add edx, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100676ad
jmp 0x10067724
cmp eax, 0x56185696
jne 0x10067020
mov eax, dword [0x100856a4]
mov ecx, dword [0x100856a8]
lea edx, [eax + ecx]
mov esi, eax
or esi, ecx
sub edx, esi
not esi
add esi, edx
xor eax, ecx
add eax, esi
add eax, 0xb
cmp dword [0x10088f84], eax
mov esi, dword [0x10088f88]
setge ch
setl cl
lea edx, [esi + 1]
imul edx, esi
mov eax, dword [0x100856ac]
mov edi, dword [0x100856b0]
mov ebx, eax
or eax, edi
not edi
and ebx, edi
add ebx, ebx
mov esi, eax
sub esi, ebx
add esi, eax
lea eax, [esi + edi*2]
add eax, 2
and edx, 1
cmp edx, eax
sete al
setne dl
and dl, cl
or cl, al
add cl, dl
or ch, al
add ch, cl
test ch, 1
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x2c]
jne 0x1006961e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [esi]
mov dword [eax], ecx
mov esi, dword [0x10088bd8]
mov eax, dword [0x100856b4]
mov ecx, dword [0x100856b8]
mov edx, eax
and edx, ecx
sub edx, eax
or eax, ecx
add eax, edx
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088bd4], eax
setge ch
setl cl
lea edx, [esi - 1]
imul edx, esi
mov eax, dword [0x100856bc]
mov edi, dword [0x100856c0]
mov ebx, edi
not ebx
and ebx, eax
mov esi, eax
xor esi, edi
sub ebx, esi
mov esi, dword [ebp - 0x58]
or edi, eax
add edi, ebx
mov ebx, dword [ebp - 0x2c]
sub edi, eax
and edx, 1
cmp edx, edi
mov edi, dword [ebp - 0x54]
sete al
or al, cl
add al, cl
add al, ch
test al, 1
je 0x10069632
mov eax, dword [ebp - 0x30]
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 0x100695a3
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret