Function at 0x100588d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [0x10079f14]
lea ecx, [eax + eax]
mov edx, eax
not edx
add ecx, edx
add ecx, 0x683019a8
cmp dword [0x10079f18], 0xa
setl dl
imul ecx, eax
test cl, 1
sete al
or al, dl
mov edi, dword [ebp + 8]
add al, 1
test al, 1
jne 0x10058a96
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x54], esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [eax], edi
mov dword [ebp - 0x64], eax
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x5c], esi
mov dword [esi], eax
lea eax, [edi + 4]
mov dword [edx], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [ebp - 0x60], ecx
mov dword [ecx], eax
mov esi, dword [0x100765ec]
mov eax, dword [0x100765f0]
mov edx, esi
not edx
mov edi, eax
not edi
mov ecx, edx
or ecx, esi
and ecx, edi
sub ecx, edi
or edi, edx
add edi, ecx
not edi
lea ecx, [edi + edi]
sub ecx, edi
mov edi, ecx
and edi, 0x51e9fea4
add edi, ecx
not ecx
or ecx, 0xae16015b
add ecx, edi
sub ecx, esi
sub edx, esi
sub edx, esi
add edx, esi
add edx, esi
mov esi, edx
and esi, eax
mov edi, edx
not edi
and edi, eax
add edi, edi
mov ebx, edx
xor ebx, eax
sub eax, edi
add eax, ebx
add eax, ebx
sub eax, edx
or eax, esi
mov edx, ecx
not edx
mov esi, edx
and esi, 0xe38fa052
add esi, ecx
xor ecx, 0x1c705fad
add ecx, esi
or edx, 0xe38fa052
sub ecx, edx
sub ecx, eax
mov eax, 0x849e80c1
sub eax, ecx
mov edx, eax
xor edx, 0x7b617f3f
lea eax, [edx + eax*2]
add ecx, ecx
add ecx, 0xf6c2fe7c
or ecx, 0xf6c2fe7e
add eax, ecx
add eax, 1
not eax
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x54]
sete byte [eax]
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
mov dword [eax], 0x52e9a664
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x4c], esp
push eax
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x14], esp
mov edx, dword [0x1007a208]
mov eax, dword [0x10076624]
mov ecx, dword [0x10076628]
mov esi, ecx
not esi
and esi, eax
sub esi, eax
mov edi, eax
or edi, ecx
add edi, esi
xor eax, ecx
not eax
add eax, edi
add eax, 0xb
cmp dword [0x1007a204], eax
setl byte [ebp - 0x10]
lea ecx, [edx + 1]
imul ecx, edx
mov eax, dword [0x1007662c]
mov esi, dword [0x10076630]
mov edi, esi
not edi
mov ebx, eax
and ebx, edi
add ebx, ebx
mov edx, eax
xor edx, esi
add edx, edx
sub ebx, edx
or esi, eax
add esi, ebx
or edi, eax
sub esi, edi
mov edi, dword [ebp + 8]
not eax
add eax, esi
and ecx, 1
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
sete al
or al, byte [ebp - 0x10]
mov dword [ecx], 0x9046e9f8
add al, 1
test al, 1
je 0x1005a900
push eax
push eax
mov dword [ebp - 0x14], esp
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
mov dword [esi], edi
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [edx], esi
lea edx, [edi + 4]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [0x100765ec]
mov dword [ebp - 0x10], ecx
mov edx, dword [0x100765f0]
mov esi, ecx
not esi
mov ebx, edx
not ebx
mov eax, esi
and eax, edx
and ecx, ebx
sub eax, ecx
mov ecx, esi
xor ecx, ebx
sub eax, ecx
mov edi, esi
or edi, ebx
mov dword [ebp - 0x1c], ebx
add edi, eax
not ecx
add ecx, ecx
sub edi, ecx
mov eax, dword [ebp - 0x10]
or eax, ebx
lea eax, [edi + eax*2]
mov ecx, eax
not ecx
lea edi, [eax + ecx*2]
lea ebx, [eax + ecx*2]
add ebx, 0xae16015c
mov eax, ebx
xor eax, 0x51e9fea5
add eax, edi
add eax, 0xae16015c
mov ecx, ebx
or ecx, 0x51e9fea5
sub eax, ecx
not ebx
sub eax, ebx
or ebx, 0x51e9fea5
add ebx, eax
lea ecx, [esi + esi]
mov eax, dword [ebp - 0x10]
lea eax, [ecx + eax*2]
xor eax, 0xfffffffe
mov edi, esi
or edi, eax
add edi, esi
sub ecx, esi
xor esi, eax
add esi, edi
mov edi, dword [ebp - 0x10]
or edi, eax
not eax
add eax, esi
lea esi, [eax + edi*2]
lea eax, [eax + edi*2]
add eax, 3
add esi, esi
add esi, 6
sub eax, esi
lea esi, [eax + eax]
sub esi, ebx
sub esi, eax
lea eax, [esi - 0x51e9fea5]
add esi, esi
add esi, 0x5c2c02b6
sub esi, eax
not eax
lea eax, [esi + eax*2]
mov dword [ebp - 0x10], eax
mov edi, ecx
and edi, edx
mov esi, ecx
not esi
and esi, edx
or esi, edi
mov ebx, ecx
mov eax, dword [ebp - 0x1c]
or ebx, eax
add esi, ebx
add esi, 1
xor ecx, edx
sub edx, edi
add edx, ecx
add edx, eax
add edx, edi
add edx, 1
mov ecx, esi
xor ecx, edx
mov edi, esi
or edi, edx
add edi, ecx
not ecx
add ecx, edi
mov edi, edx
not edi
add ecx, edi
or edi, esi
sub ecx, edi
and esi, edx
lea edx, [ecx + esi]
add edx, 1
add edx, dword [ebp - 0x10]
add esi, ecx
lea eax, [esi + esi]
add eax, 2
sub edx, eax
lea eax, [edx - 0x1c705fac]
mov ecx, eax
not ecx
and ecx, 0xe38fa052
add ecx, edx
add ecx, 0xe38fa054
or eax, 0x1c705fad
add eax, ecx
imul eax, eax, 0x4702ac0f
lea ecx, [eax + 0x733d2f41]
mov edx, ecx
and edx, 0x33b2c8b0
add eax, edx
add eax, 0x733d2f41
mov edx, ecx
xor edx, 0x33b2c8b0
add edx, eax
or ecx, 0x33b2c8b0
sub edx, ecx
imul eax, edx, 0x4a02c2ef
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
sete byte [eax]
push eax
mov eax, esp
mov dword [eax], 0x52e9a664
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x1007687c]
mov edx, dword [0x10076880]
mov esi, ecx
not esi
mov edi, esi
and edi, edx
or ecx, edx
not ecx
add ecx, edi
mov edi, dword [ebp + 8]
sub ecx, esi
add ecx, 0x9046e9f8
mov dword [eax], ecx
jmp 0x1005890f
mov eax, dword [0x10076664]
mov ecx, dword [0x10076668]
mov edx, ecx
not edx
and edx, eax
lea edx, [edx + ecx*2]
mov esi, eax
or esi, ecx
add esi, esi
sub esi, edx
not eax
or eax, ecx
add eax, esi
add eax, 0xb
cmp dword [0x1007a1fc], eax
mov edx, dword [0x1007a200]
setl byte [ebp - 0x10]
lea ecx, [edx + 1]
imul ecx, edx
mov eax, dword [0x1007666c]
mov edx, dword [0x10076670]
mov edi, edx
not edi
mov ebx, eax
and ebx, edi
lea ebx, [edx + ebx*2]
mov esi, eax
xor esi, edx
sub ebx, esi
or edx, eax
not edx
add edx, ebx
or edi, eax
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
or al, byte [ebp - 0x10]
je 0x10058c70
jmp 0x1005a8c0
mov eax, dword [0x1007677c]
mov edx, dword [0x10076780]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
xor eax, edx
not eax
add eax, edi
add eax, ecx
add eax, 0xb
cmp dword [0x1007a218], eax
mov esi, dword [0x1007a214]
setge al
setl ah
lea edx, [esi - 1]
imul edx, esi
mov esi, dword [0x10076784]
mov edi, dword [0x10076788]
mov ebx, esi
not ebx
mov ecx, ebx
and ecx, edi
or esi, edi
not esi
add esi, ecx
sub esi, ebx
and edx, 1
cmp edx, esi
sete cl
mov dl, ah
and dl, cl
and al, cl
add al, dl
add al, cl
or ah, cl
add ah, al
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0xa6dcb571
test ah, 1
jne 0x1005a8c0
mov eax, dword [0x100768b4]
mov edx, dword [0x100768b8]
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, 0xa6dcb571
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10058cf0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100766d4]
mov edx, dword [0x100766d8]
mov esi, ecx
not esi
mov edi, esi
or edi, edx
sub edi, esi
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x52e9a665
cmp eax, ecx
mov ecx, 0x64dbfb4d
mov eax, 0xb026616a
cmovl ecx, eax
mov dword [ebp - 0x10], ecx
mov edi, dword [0x1007a0b0]
cmp dword [0x1007a0ac], 0xa
setge al
setl cl
lea esi, [edi + edi]
add esi, edi
add esi, 1
imul esi, edi
mov edx, dword [0x100766e4]
mov ebx, dword [0x100766e8]
mov edi, edx
or edi, ebx
not edi
add edi, edx
not ebx
or ebx, edx
sub edi, ebx
and esi, 1
cmp esi, edi
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [edx], esi
sete dl
mov ah, cl
and ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x52e9a664
mov eax, 0x64dbfb4d
mov ecx, 0xb026616a
cmovl eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10058da0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov edx, dword [0x1007a268]
cmp dword [0x1007a264], 0xa
setge cl
setl al
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
and bl, al
and cl, dl
or cl, bl
mov ah, al
or ah, dl
add cl, ah
not ah
add ah, cl
and al, dl
not al
add al, ah
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0x810ac3b
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x10076884]
mov ecx, eax
not ecx
or ecx, eax
not ecx
and ecx, dword [0x10076888]
add ecx, 0x810ac3b
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
jmp 0x10058e60
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0xe8d0207a
mov eax, 0x18a4280a
mov ecx, 0xf65d6a77
cmovl eax, ecx
mov ecx, dword [0x100766b4]
mov esi, dword [0x100766b8]
mov edi, ecx
xor edi, esi
mov ebx, ecx
or ebx, esi
add ebx, ebx
mov edx, edi
sub edx, ebx
add edx, edi
and ecx, esi
not ecx
add ecx, ecx
sub edx, ecx
add edx, 8
cmp dword [0x1007a0b8], edx
mov edi, dword [0x1007a0b4]
setl cl
setge dl
lea esi, [edi + edi]
mov ebx, edi
not ebx
add esi, ebx
add esi, 0xb4d24e80
imul esi, edi
mov edi, dword [0x100766c0]
mov ebx, edi
not ebx
or ebx, edi
mov edi, dword [0x100766bc]
and ebx, edi
sub ebx, edi
and esi, 1
cmp esi, ebx
mov esi, dword [ebp - 0x14]
mov dword [esi], eax
sete al
and al, dl
add al, cl
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1007688c]
mov edx, dword [0x10076890]
mov esi, ecx
or ecx, edx
not edx
and esi, edx
not ecx
add ecx, esi
sub ecx, edx
add ecx, 0xe8d0207a
cmp eax, ecx
mov eax, 0x18a4280a
mov ecx, 0xf65d6a77
cmovl eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10058ee0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x52e9a664
mov ecx, 0xa9518a89
mov eax, 0x60b0f75f
cmove ecx, eax
mov esi, dword [0x1007a250]
cmp dword [0x1007a24c], 0xa
setl al
mov edx, 0x686cadd3
sub edx, esi
imul edx, esi
mov esi, dword [0x1007670c]
mov edi, dword [0x10076710]
mov ebx, esi
xor ebx, edi
add ebx, esi
not esi
or esi, edi
not edi
add edi, ebx
lea esi, [edi + esi*2]
add esi, 3
and edx, 1
cmp edx, esi
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
sete cl
setne dl
and dl, al
add dl, cl
mov ah, al
or ah, cl
add ah, dl
mov edx, eax
xor dl, cl
not dl
add dl, ah
and al, cl
not al
add al, dl
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1007689c]
mov edx, dword [0x100768a0]
mov esi, ecx
not esi
mov edi, esi
and edi, edx
add edi, edi
xor ecx, edx
sub edx, edi
add edx, ecx
lea ecx, [esi + edx]
add ecx, 0x52e9a665
cmp eax, ecx
mov eax, 0xa9518a89
mov ecx, 0x60b0f75f
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10058fb0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10076724]
mov edx, dword [0x10076728]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0xe8d0207b
cmp eax, ecx
mov eax, 0xa9518a89
mov ecx, 0x3fc80e13
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [0x1007672c]
mov ecx, dword [0x10076730]
mov edx, eax
and edx, ecx
not ecx
add edx, ecx
or ecx, eax
mov esi, dword [0x1007a298]
sub edx, ecx
add edx, 0xa
cmp dword [0x1007a294], edx
lea eax, [esi + esi]
mov ecx, esi
not ecx
lea ecx, [ecx + eax + 0x3ea6089c]
setl al
imul ecx, esi
test cl, 1
sete cl
mov edx, eax
and dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
xor al, cl
not al
add al, ah
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0xe8d0207a
mov eax, 0xa9518a89
mov ecx, 0x3fc80e13
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10059080
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10076750]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x95b908ba
cmp eax, ecx
mov eax, 0xa9518a89
mov ecx, 0xf5d9da48
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov edx, dword [0x1007a0a8]
cmp dword [0x1007a0a4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1007675c]
mov esi, dword [0x10076760]
mov edi, edx
not edi
and edi, esi
not esi
or esi, edx
lea edx, [edi + esi]
add edx, 1
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
xor ah, dl
add ah, al
mov ch, al
or ch, dl
add ch, ah
or cl, al
add cl, ch
and al, dl
not al
add al, cl
test al, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100768ac]
mov edx, dword [0x100768b0]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x95b908ba
cmp eax, ecx
mov eax, 0xa9518a89
mov ecx, 0xf5d9da48
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x10059140
mov eax, dword [0x1007679c]
mov ecx, dword [0x100767a0]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
add eax, edx
add eax, 0xfd775bfe
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [0x100767a4]
mov edx, dword [0x100767a8]
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
mov ecx, dword [0x1007a09c]
add eax, 0xa
cmp dword [0x1007a0a0], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x1005a8c0
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xfd775bfd
jmp 0x10059210
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
mov eax, 0xe8d0207a
mov ecx, 0x95b908b9
cmovne eax, ecx
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edi, dword [ebp - 0x5c]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [0x100767c4]
mov edx, dword [0x100767c8]
mov ecx, eax
not ecx
mov esi, ecx
xor esi, eax
and esi, edx
xor esi, eax
or eax, edx
sub eax, esi
add eax, ecx
or ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov edx, dword [0x1007a1a8]
cmp dword [0x1007a1a4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100767dc]
mov esi, dword [0x100767e0]
mov edi, esi
not edi
and edi, edx
sub edi, edx
mov ebx, edx
or ebx, esi
add ebx, edi
xor edx, esi
sub ebx, edx
and ecx, 1
cmp ecx, ebx
setne ah
sete dl
mov ecx, eax
and cl, dl
mov ch, al
and ch, ah
add ch, cl
mov dh, al
xor dh, dl
add dh, ch
or dl, al
add dl, dh
or al, ah
add al, dl
not cl
add cl, al
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xfd775bfd
test cl, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
mov eax, 0xe8d0207a
mov ecx, 0x95b908b9
cmovne eax, ecx
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
mov esi, dword [ebp - 0x2c]
mov dword [esi], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [edx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xfd775bfd
jmp 0x10059280
mov eax, dword [ebp - 0x34]
mov edi, dword [eax]
mov eax, edi
and eax, 0xe7c5b398
lea ecx, [eax + edi]
not eax
add ecx, eax
add ecx, 0xe7c5b399
mov eax, ecx
not eax
mov edx, eax
and edx, 0xe7c5b398
mov esi, ecx
sub esi, edx
xor ecx, 0xe7c5b398
add ecx, esi
and eax, 0x183a4c67
lea esi, [ecx + eax]
lea edx, [eax + ecx]
add edx, 1
mov eax, edx
and eax, 0xb49f5cc8
add eax, esi
add eax, 1
mov ecx, edx
xor ecx, 0x4b60a337
add ecx, eax
mov eax, edx
xor eax, 0x349f5cc8
lea ecx, [ecx + eax*2]
or edx, 0xb49f5cc8
sub ecx, edx
add ecx, 0x4b60a338
mov eax, ecx
not eax
mov edx, eax
and edx, 1
sub ecx, edx
or eax, 0xfffffffe
add ecx, eax
add ecx, 3
mov edx, ecx
not edx
mov eax, edx
and eax, 0x4b60a337
add eax, eax
sub ecx, eax
mov eax, edx
and eax, 0x349f5cc8
add eax, eax
sub ecx, eax
lea eax, [ecx + edx*2]
mov dword [ebp - 0x24], eax
lea esi, [ecx + edx*2]
add esi, 0xb49f5cc9
mov edx, edi
mov dword [ebp - 0x10], edi
mov ecx, edi
not ecx
mov ebx, edi
and ebx, 1
mov dword [ebp - 0x18], ebx
mov eax, edi
xor eax, 0xfffffffe
lea edi, [ecx + ebx]
sub edi, eax
mov eax, edx
and eax, 0xfffffffe
lea eax, [eax + ebx*2]
mov ebx, edx
or ebx, 0xfffffffe
sub eax, ebx
mov ebx, ecx
or ebx, 0xfffffffe
lea edx, [eax + ebx]
add eax, ebx
add eax, 0xffffffff
mov ebx, edx
neg ebx
and ebx, edi
lea edx, [ebx + edx*2]
add edx, 0xfffffffe
mov ebx, edi
or ebx, eax
lea ebx, [ebx + ebx*2]
sub ebx, edx
not edi
or edi, eax
add edi, ebx
mov eax, esi
and eax, 0xf95134b
mov edx, dword [ebp - 0x24]
lea eax, [edx + eax*2]
add eax, 0xb49f5cc9
mov edx, esi
xor edx, 0x706aecb4
sub eax, edx
mov edx, esi
not edx
and edx, 0x8f95134b
add edx, eax
or esi, 0x8f95134b
sub edx, esi
lea eax, [edi + edx]
lea esi, [edx + edi]
add esi, 0xe0d5d969
mov edx, esi
or edx, 0x706aecb4
add eax, edx
add eax, 0xe0d5d969
not esi
or esi, 0x706aecb4
add esi, eax
mov ebx, dword [ebp - 0x10]
mov eax, ebx
xor eax, 1
or eax, dword [ebp - 0x18]
sub esi, eax
mov eax, ebx
and eax, 0xd72f14cc
mov edx, ebx
and edx, 0x28d0eb33
sub eax, edx
mov edi, ecx
and edi, 0xd72f14cc
add edi, eax
mov edx, ebx
or edx, 0x28d0eb33
add edx, edi
mov eax, ecx
or eax, 0xd72f14cc
sub edx, eax
mov eax, ecx
and eax, 0x28d0eb33
mov edi, eax
or edi, edx
add edi, edi
not edx
or edx, eax
add edx, edi
not eax
add edx, eax
add edx, 2
lea eax, [esi + 0x1f2a2699]
mov edi, eax
and edi, 0xae3e060d
add esi, edi
add esi, 0x1f2a2699
not eax
and eax, 0xae3e060d
lea edi, [esi + eax]
add esi, eax
add esi, 0xa383f3e6
xor edx, 0xd72f14cc
mov eax, edx
neg eax
lea ebx, [edx - 1]
or ebx, eax
and ebx, esi
lea eax, [ebx + edi]
add eax, 0xa383f3e6
sub eax, edx
sub eax, esi
mov edx, eax
not edx
and edx, 0xae3e060d
lea edx, [edx + eax*2]
or eax, 0xae3e060d
sub edx, eax
mov edi, dword [ebp - 0x10]
lea esi, [edi + ecx*2]
add esi, 1
and esi, 0x725a50c0
mov eax, edi
and eax, 0x8da5af3f
add eax, edi
and ecx, 0x8da5af3f
add ecx, eax
or edi, 0x8da5af3f
sub ecx, edi
mov eax, esi
or eax, ecx
mov edi, esi
not edi
sub eax, edi
or edi, ecx
add edi, eax
lea eax, [edx - 0x51c1f9f3]
and ecx, esi
sub edi, ecx
mov ecx, edi
xor ecx, 0x8da5af3f
xor edi, 0x725a50c0
and edi, 0x7ffffffe
lea esi, [ecx + edi*2]
or ecx, 0xfffffffe
sub esi, ecx
lea ecx, [edx + edx]
add ecx, 0x5c7c0c1a
sub eax, ecx
add eax, esi
imul eax, eax, 0x212bdaed
lea ecx, [eax + 0x212bdaed]
not ecx
lea edx, [ecx + ecx]
lea eax, [edx + eax*2]
add eax, 0x4257b5da
mov edx, ecx
sub edx, eax
neg eax
add eax, ecx
add eax, 0x9168c309
lea ecx, [edx + edx]
add ecx, 0x22d18612
sub eax, ecx
imul eax, eax, 0x2aad6d1b
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x1d262bf2
lea eax, [eax + edx*2]
mov edx, ecx
and edx, 0x62d9d40d
lea eax, [eax + edx*2]
add ecx, ecx
sub eax, ecx
lea edx, [eax + 0x62d9d40e]
mov ecx, edx
not ecx
mov esi, ecx
and esi, 0xffffff00
mov edi, ecx
or edi, 0xffffff00
add esi, edi
not edi
add edi, esi
xor edx, 0xff
add edx, edi
add edx, 1
not edx
lea esi, [edx + edx]
shl edx, 2
sub esi, edx
add ecx, ecx
add eax, ecx
add eax, 0x62d9d40f
not eax
or eax, 0xffffff00
mov edi, eax
not edi
mov ebx, edi
sub ebx, eax
sub ebx, eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
add ebx, eax
sub edi, ebx
lea eax, [esi + edi]
lea ecx, [esi + edi]
add ecx, 1
add eax, eax
add eax, 2
sub ecx, eax
lea eax, [ecx - 1]
movzx esi, al
sub esi, ecx
neg ecx
xor ecx, 0xffffff00
add ecx, esi
or eax, 0xff
sub eax, ecx
lea esi, [eax - 0x32f9f268]
mov ecx, esi
xor ecx, 0xcd060e97
lea eax, [ecx + eax*2]
add eax, 0x9a0c1b30
mov dword [ebp - 0x20], eax
not esi
add esi, esi
or esi, 0x9a0c1d2e
mov dword [ebp - 0x24], esi
lea ecx, [eax + esi]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + ecx + 0x65f3e2dc]
lea edx, [ecx + edx - 0x23b567f5]
mov esi, edx
not esi
mov edi, esi
and edi, 0x5c4a980b
add edi, edi
mov ebx, edx
sub ebx, edi
xor edx, 0xdc4a980b
add edx, ebx
add edx, esi
imul edx, edx, 0xa310cbcf
add edx, 0xa310cbcf
mov esi, edx
not esi
mov edi, esi
and edi, 0xeafaaf8e
mov ebx, edx
sub ebx, edi
xor edx, 0xeafaaf8e
add edx, ebx
and esi, 0x15055071
lea edi, [edx + esi]
add edx, esi
add edx, 0xfd5313e2
mov esi, edx
and esi, 0x15055071
add esi, edi
add esi, 0xfd5313e2
mov edi, edx
xor edi, 0xeafaaf8e
add edi, esi
mov esi, edx
xor esi, 0x15055071
lea esi, [edi + esi*2]
or edx, 0x15055071
sub esi, edx
imul edx, esi, 0xf7085b2f
add edx, 0xb5e61041
mov esi, edx
not esi
mov edi, esi
and edi, 0x4059a14f
add edi, edi
sub edx, edi
mov edi, esi
and edi, 0x3fa65eb0
add edi, edi
sub edx, edi
lea edx, [edx + esi*2]
add edx, 0x3fa65eb1
mov esi, edx
xor esi, 0xffffff00
movzx edi, dl
sub esi, edi
mov ebx, edx
or ebx, 0xffffff00
add ebx, esi
add ebx, 0x100
mov eax, ebx
and eax, edx
mov edi, edx
not edi
mov esi, ebx
and esi, edi
lea eax, [eax + esi*2]
add eax, edx
mov esi, ebx
xor esi, edx
sub eax, esi
or edx, ebx
not edx
add edx, eax
or edi, ebx
sub edx, edi
lea eax, [edx + edx*2]
mov esi, edx
sub esi, eax
add esi, edx
mov edx, 0x8f4219ef
sub edx, esi
mov eax, edx
and eax, 0xb9887aa2
add eax, edx
mov esi, edx
not esi
mov edi, esi
and edi, 0x4677855d
add edi, eax
and esi, 0xb9887aa2
add esi, edi
and edx, 0x4677855d
lea eax, [esi + edx]
add esi, edx
add esi, 0x4677855e
mov edx, esi
and edx, 0x70bde611
add eax, edx
add eax, 0x4677855e
mov dword [ebp - 0x44], eax
not esi
and esi, 0x70bde611
mov dword [ebp - 0x40], esi
add eax, esi
mov ebx, dword [ebp + 8]
mov dl, byte [ebx + eax - 0x46778555]
mov esi, dword [ebp - 0x30]
mov edi, dword [esi]
mov esi, dword [ebp - 0x10]
mov byte [ebx + esi + 0x65f3e2dc], dl
mov byte [ebx + eax - 0x46778555], cl
mov esi, ebx
sub cl, dl
mov dh, cl
add cl, 0x7e
mov eax, ecx
add al, cl
add al, cl
add dh, dh
sub dh, al
mov ah, dl
not ah
mov ch, dl
add ch, ah
add ch, ah
add ch, 0xa1
and ch, 0x14
or ah, dl
mov al, dl
and al, 0xeb
or al, ch
and ah, 0x6b
xor al, 0x6b
add al, ah
add al, al
add al, 0x2a
mov dl, 0x85
sub dl, dh
add dh, 0x7a
mov ah, dh
add ah, dh
xor dh, al
add dh, ah
or dl, al
add dl, dl
add dl, dh
add dl, 2
mov eax, edx
not al
add dl, dl
mov ecx, eax
add cl, al
add cl, dl
sub al, cl
mov ecx, eax
add cl, 0xff
mov edx, ecx
and dl, 0xd
add dl, cl
neg al
and al, 0xd
add al, dl
add al, 0xfe
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xd
add dl, dl
add dl, al
mov eax, ecx
and al, 0x72
add al, al
add al, dl
add cl, cl
sub al, cl
movzx eax, al
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
add al, 0x71
mov ecx, eax
and cl, 0x46
add cl, al
or al, 0xb9
sub cl, al
movzx eax, cl
imul eax, eax, 0xffffffa3
add al, 0x4f
mov ecx, eax
not cl
mov edx, eax
and dl, 0x92
add dl, al
and cl, 0x6d
add cl, dl
xor al, 0x92
add al, cl
add al, 0x7d
movzx eax, al
mov bl, byte [ebx + eax + 8]
mov ecx, ebx
not cl
mov eax, ecx
and al, 0x25
mov ah, bl
and ah, 0xda
or ah, al
mov al, ah
add al, ah
sub al, ah
mov esi, dword [ebp + 0x10]
mov dh, byte [esi + edi]
mov byte [ebp - 0x10], dh
mov ah, dh
not ah
mov byte [ebp - 0x18], ah
or ah, dh
and ah, 0x25
mov ch, dh
and ch, 0xda
or ah, ch
sub ah, dh
mov dh, ah
or ah, ch
not ch
and dh, ch
add dh, ah
not ah
add ah, dh
sub ah, ch
xor ah, al
mov al, bl
add al, 0x21
mov ch, ah
not ch
and ch, al
add ch, al
add ch, ah
not al
or al, ah
add al, ch
add al, 1
mov ah, al
not ah
mov ch, ah
and ch, 0x21
add ch, al
xor al, 0xde
add al, ch
or ah, 0x21
sub al, ah
mov byte [ebp - 0x28], al
mov ch, cl
and ch, 0x23
mov bh, cl
or bh, 0x23
add bh, ch
mov ch, bl
or ch, 0x23
add bh, ch
add ch, bl
add ch, cl
and cl, 0x97
and bl, 0x68
or bl, cl
mov ah, byte [ebp - 0x18]
mov cl, ah
add cl, ah
sub cl, ah
mov dh, cl
and dh, 0x97
add dh, cl
mov al, cl
xor al, 0x97
add al, dh
not cl
add cl, cl
or cl, 0x2e
add cl, al
mov dl, byte [ebp - 0x10]
mov al, dl
and al, 0x68
mov dh, dl
and dh, 0x97
sub al, dh
mov dh, ah
and dh, 0x68
sub al, dh
mov dh, dl
or dh, 0x68
add dh, al
add dh, ah
mov al, ah
or al, 0x68
sub dh, al
add cl, 0x6b
or dh, cl
xor dh, bl
mov al, dh
not al
mov dl, al
add dl, al
sub dl, dh
sub dl, al
add dl, dh
neg dl
mov al, dl
add al, dl
sub dl, al
mov al, byte [ebp - 0x28]
add al, 0xdf
mov cl, al
and cl, dl
add al, cl
sub al, dl
not cl
add cl, al
mov dh, byte [ebp - 0x10]
mov al, dh
xor al, 0xe6
add al, ah
mov dl, dh
xor dl, 0x19
add dl, dl
add dl, al
mov al, ah
or al, 0xe6
sub dl, al
add bh, 0xde
add ch, 0xde
or ch, bh
xor ch, 0x23
and ch, ah
mov al, ah
and dh, 0xe6
and al, 0xe6
mov ah, dh
sub ah, al
not dh
add dh, ah
add dl, 1
add dh, 0xe7
mov eax, edx
not al
mov ah, al
and ah, dh
or dh, dl
add ah, ah
mov dl, dh
sub dl, ah
not dh
add dh, dh
sub dl, dh
add al, al
add al, dl
mov edx, eax
not dl
and dl, 0xe6
add dl, al
mov ah, al
xor ah, 0xe6
add ah, dl
or al, 0xe6
sub ah, al
mov edx, ecx
not dl
mov al, ah
neg al
mov dh, dl
and dh, al
add dh, ah
or dl, al
add dl, dl
add dl, dh
or al, cl
add al, dl
add al, 1
mov cl, al
add cl, al
sub al, cl
mov cl, ch
not cl
add cl, cl
add cl, ch
mov edx, eax
not dl
mov ah, al
or ah, dl
and ah, 0xd7
or al, 0x28
add al, ah
or dl, 0xd7
sub al, dl
add cl, cl
add cl, 2
add al, 0x29
mov edx, eax
add dl, cl
mov ah, al
or ah, cl
add ah, dl
not cl
or cl, al
add cl, ah
not al
add al, cl
add al, 0xd9
mov ecx, eax
add cl, al
sub al, cl
mov ecx, eax
add cl, al
not al
add al, cl
add al, 0xfe
not al
movzx eax, al
lea eax, [eax + eax*4]
neg eax
mov ecx, eax
and cl, 0x4d
add cl, al
mov edx, eax
xor dl, 0x4d
add dl, cl
or al, 0x4d
sub dl, al
movzx eax, dl
imul eax, eax, 0x33
add al, 0xa9
mov ecx, eax
add cl, al
mov edx, eax
not dl
and dl, 0x2f
add dl, cl
or al, 0x2f
sub dl, al
mov byte [ebp - 0x10], dl
mov eax, edi
not eax
mov ecx, eax
mov dword [ebp - 0x28], eax
and eax, 0xfffffffe
mov esi, edi
xor esi, 0xfffffffe
add esi, eax
mov eax, edi
mov edx, edi
xor edx, 1
mov ebx, edi
mov dword [ebp - 0x3c], edi
or edi, ecx
mov eax, ebx
and eax, 1
and edi, 1
lea ecx, [edi + eax]
add ecx, 0xffffffff
mov dword [ebp - 0x50], ecx
add edi, eax
add eax, edx
add esi, edx
mov dword [ebp - 0x18], esi
and edx, ebx
neg edx
mov ecx, edx
xor ecx, 0x8652f8cd
add edx, edx
or edx, 0xf35a0e64
lea esi, [ecx + edx]
add esi, 0xca5f19c
mov edx, esi
not edx
mov ebx, esi
and ebx, 0x79ad0733
mov ecx, edx
and ecx, 0x652f8cc
add ecx, ecx
sub ebx, ecx
xor esi, 0x8652f8cc
add esi, ebx
or edx, 0x8652f8cc
add edx, esi
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
sub ecx, ebx
sub ecx, ebx
not ecx
add ecx, edx
mov edx, ebx
or edx, 0xfffffffe
sub eax, edx
add eax, 0xfffffffe
neg edi
mov edx, dword [ebp - 0x50]
or edi, edx
and edi, eax
sub edi, eax
or eax, edx
add eax, edi
mov edx, eax
not edx
add eax, edx
mov esi, eax
not esi
mov edi, edx
and edi, esi
or edx, esi
sub esi, edi
add esi, edx
add esi, eax
add esi, edi
add esi, esi
sub ecx, esi
mov esi, dword [ebp - 0x28]
lea edx, [esi + esi]
sub edx, esi
mov eax, edx
xor eax, 0xfffffffe
add eax, edx
or edx, 0xfffffffe
sub eax, edx
or esi, 0xfffffffe
mov edi, dword [ebp - 0x18]
sub edi, esi
mov dh, byte [ebp - 0x10]
add dh, 0x2f
mov dl, dh
not dl
sub dh, dl
mov byte [ebp - 0x10], dh
mov dh, dl
or dh, 0x57
add dh, byte [ebp - 0x10]
or dl, 0xa8
add dl, dh
add dl, 0x29
mov esi, dword [ebp + 0x14]
mov byte [esi + ebx], dl
and edi, ebx
mov dword [ebp - 0x18], edi
mov edx, ebx
and edx, 0xfffffffe
or eax, edx
mov edx, eax
not edx
mov esi, edx
and esi, 0xbf4701a8
or edx, 0xbf4701a8
sub edx, esi
mov edi, eax
xor edi, 0xbf4701a8
add edi, edx
lea edx, [esi + edi]
add edx, 1
and eax, 0x40b8fe57
mov esi, edx
not esi
mov edi, esi
and edi, eax
or eax, edx
add edi, eax
not eax
add eax, edi
sub eax, esi
mov edx, eax
not edx
or edx, eax
and edx, 0x40b8fe57
xor eax, 0x40b8fe57
sub eax, edx
add ecx, 0x251c320c
mov edx, ecx
not edx
lea esi, [eax + 0x40b8fe57]
mov edi, edx
and edi, esi
add edi, edi
mov ebx, ecx
sub ebx, edi
lea eax, [ebx + eax*2]
add eax, 0x8171fcae
xor ecx, esi
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xdae3cdf4
mov edx, dword [ebp - 0x18]
mov ecx, edx
not ecx
add ecx, ecx
lea ecx, [ecx + edx*2]
sub ecx, edx
mov edx, eax
and edx, 0x3bee45b6
mov esi, eax
not esi
mov edi, esi
and edi, 0x3bee45b6
sub edx, edi
or eax, 0x3bee45b6
add eax, edx
add eax, esi
or esi, 0x3bee45b6
sub eax, esi
add eax, ecx
imul eax, eax, 0x77b7740f
mov ecx, 0x88488bf1
sub ecx, eax
mov edx, ecx
sub edx, eax
mov esi, ecx
xor esi, 0xeb047c95
sub edx, esi
or ecx, 0x14fb836a
sub edx, ecx
add eax, 0x77b7740e
or eax, 0x14fb836a
lea ecx, [edx + eax]
add eax, edx
add eax, 0x734d0886
lea edx, [ecx + ecx*2]
add edx, 0x59e71992
sub eax, edx
add eax, ecx
add eax, 0x734d0886
imul eax, eax, 0xb15cfaef
add eax, 0xdbd76a5a
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x1565d11b
add edx, edx
mov esi, eax
sub esi, edx
xor eax, 0x9565d11b
add eax, esi
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x2acba237
and eax, 0xdbd76a5a
lea ecx, [eax + edx]
add ecx, 0x2acba237
not eax
add eax, ecx
add eax, 0x242895a7
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + 0xc]
mov ecx, 0xe8d0207a
mov eax, 0x95b908b9
cmove ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [0x100767f4]
mov esi, eax
not esi
mov edx, dword [0x100767f8]
and esi, edx
add esi, eax
or eax, edx
sub esi, eax
add esi, 0xfd775bfd
cmp dword [0x1007a1c4], 0xa
setge dl
setl dh
mov eax, dword [0x1007a1c8]
lea edi, [eax + 1]
imul edi, eax
mov eax, dword [0x10076804]
mov ecx, dword [0x10076808]
mov ebx, eax
or ebx, ecx
mov dword [ebp - 0x28], ebx
mov ebx, eax
not eax
or eax, ecx
not ecx
and ebx, ecx
add ebx, ebx
sub ebx, dword [ebp - 0x28]
sub ebx, ecx
add eax, ebx
and edi, 1
cmp edi, eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx + 0x65f3e2d4]
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
lea ecx, [edi + ecx - 0x4677855d]
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x18]
mov dword [edi], ebx
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x10]
mov dword [edi], ebx
mov edi, dword [ebp - 0x2c]
mov dword [edi], ecx
mov edi, dword [ebp - 0x4c]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
sete al
setne cl
and cl, dh
or dh, al
add dh, cl
or dl, al
add dl, dh
add dl, 1
test dl, 1
jne 0x1005a8c0
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0x4b60a337
lea eax, [eax + ecx*2]
mov edx, ecx
not edx
mov dword [ebp - 0x10], edx
lea esi, [edx + edx]
mov dword [ebp - 0x24], esi
mov edx, esi
or edx, 0x96c1466e
lea ebx, [edx + eax]
add ebx, 2
mov edx, ebx
and edx, 1
mov eax, ebx
not eax
mov edi, eax
and edi, 1
sub edx, edi
or ebx, 1
add ebx, edx
add ebx, eax
or eax, 1
sub ebx, eax
mov edi, ecx
and edi, 0xfffffffe
mov eax, ecx
and eax, 1
mov dword [ebp - 0x20], eax
mov edx, ecx
xor edx, 0xfffffffe
mov dword [ebp - 0x44], edx
lea esi, [eax + edi*2]
sub esi, edx
mov eax, ecx
mov edx, ecx
mov dword [ebp - 0x18], ecx
or eax, 1
sub esi, eax
mov eax, dword [ebp - 0x10]
or eax, 1
xor edx, 1
lea ecx, [eax + edx]
add ecx, 1
lea eax, [edi + edx*2]
mov dword [ebp - 0x40], eax
not edi
add edi, esi
mov esi, edi
not esi
mov eax, ecx
and eax, esi
add eax, eax
mov edx, ecx
xor edx, edi
add edx, edx
sub eax, edx
or edi, ecx
lea eax, [eax + edi*2]
or esi, ecx
sub eax, esi
not ecx
add ecx, eax
add ebx, 0x250a497e
mov eax, ebx
not eax
and eax, ecx
add eax, eax
mov edx, ebx
sub edx, eax
lea eax, [edx + ecx*2]
xor ecx, ebx
add ecx, eax
sub ecx, ebx
mov eax, ecx
and eax, 0x706aecb4
add ecx, eax
not eax
add eax, ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
lea ecx, [edx + ecx*2]
mov edi, dword [ebp - 0x18]
mov edx, edi
or edx, 0xfffffffe
sub ecx, edx
add ecx, 1
mov edx, ecx
mov esi, dword [ebp - 0x20]
and edx, esi
or ecx, esi
add ecx, edx
not edx
add edx, ecx
sub eax, edx
mov edx, dword [ebp - 0x10]
mov ecx, edx
and ecx, 0x28d0eb33
and edx, 0xd72f14cc
sub ecx, edx
mov edx, dword [ebp - 0x24]
or edx, 0x51a1d666
add edx, ecx
mov ecx, edi
or ecx, 0x28d0eb33
add ecx, edx
add ecx, 0xae5e299b
mov edx, edi
and edx, 0xd72f14cc
mov esi, edi
and esi, 0x28d0eb33
sub edx, esi
mov esi, edi
or esi, 0xd72f14cc
lea ebx, [edx + esi]
add esi, edx
add esi, 0x28d0eb34
mov edi, esi
not edi
mov edx, ecx
and edx, edi
lea edx, [ebx + edx*2]
add edx, 0x28d0eb34
mov ebx, ecx
xor ebx, esi
sub edx, ebx
or esi, ecx
add edx, esi
not esi
add esi, edx
or edi, ecx
sub esi, edi
lea edx, [eax - 0x706aecb4]
mov ecx, edx
and ecx, 0x51c1f9f2
add eax, ecx
add eax, 0x8f95134c
mov ecx, edx
or ecx, 0x51c1f9f2
add ecx, eax
not edx
add edx, ecx
mov edi, dword [ebp - 0x10]
mov eax, edi
mov ecx, dword [ebp - 0x18]
or edi, ecx
xor esi, 0xd72f14cc
sub edx, esi
and eax, 0x725a50c0
and ecx, 0x8da5af3f
or ecx, eax
and edi, 0x8da5af3f
xor ecx, 0x8da5af3f
lea eax, [edi + ecx]
add eax, 0x725a50c1
mov ecx, eax
not ecx
add ecx, ecx
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, 0xfffffffe
mov esi, ecx
or esi, 0xfffffffe
add esi, eax
mov eax, ecx
or eax, 1
add eax, esi
not ecx
lea esi, [eax + ecx]
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
add ecx, esi
add ecx, 2
add ecx, eax
lea eax, [esi + esi]
add eax, 4
sub ecx, eax
add ecx, edx
imul eax, ecx, 0xded42513
lea ecx, [eax + eax]
add ecx, 0xebe69e1c
add eax, 0xebe69e1c
mov edx, eax
or edx, 0x9168c30a
sub edx, ecx
or eax, 0x6e973cf5
add eax, edx
imul eax, eax, 0xd55292e5
lea ecx, [eax + 0x20b6c4e6]
mov edx, ecx
not edx
and edx, 0x62d9d40d
lea eax, [edx + eax*2]
add eax, 0x416d89cc
or ecx, 0x62d9d40d
sub eax, ecx
add eax, 0x62d9d40e
mov ecx, eax
not ecx
lea edx, [ecx + ecx]
sub edx, ecx
mov ecx, edx
not ecx
or ecx, edx
and ecx, 0x7fffff00
or edx, 0x7fffff00
add ecx, edx
add ecx, 0x100
not ecx
lea edx, [ecx + ecx]
add ecx, ecx
add ecx, 0xffffffff
add edx, edx
add edx, 0xfffffffe
sub ecx, edx
mov edx, eax
and edx, 0xffffff00
mov esi, eax
or esi, 0xffffff00
add edx, esi
not esi
add esi, edx
xor eax, 0xffffff00
lea edx, [esi + eax]
add esi, eax
add esi, 1
not esi
lea eax, [esi + edx]
add eax, 1
add eax, esi
not eax
add eax, ecx
lea ecx, [eax + eax*2]
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xffffff00
sub edx, eax
xor eax, 0xff
add eax, edx
or ecx, 0xffffff00
sub eax, ecx
imul eax, eax, 0x4af44b63
add eax, 0x4d9a7ece
mov ecx, eax
and ecx, 0x733e6c07
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0x733e6c07
add edx, esi
xor eax, 0x8cc193f8
add eax, edx
add eax, ecx
imul eax, eax, 0xe40071b5
lea ecx, [eax + 0x28d1e9a8]
not ecx
mov edx, ecx
and edx, 0xcd060e97
add eax, edx
add eax, 0x28d1e9a8
mov edx, ecx
and edx, 0x32f9f168
add edx, eax
sub edx, ecx
mov ebx, dword [ebp + 8]
movzx ecx, byte [ebx + edx + 0x32f9f171]
mov edi, edx
mov dword [ebp - 0x40], edx
mov eax, ecx
mov edx, dword [ebp - 0x2c]
add eax, dword [edx]
imul eax, eax, 0xa310cbcf
lea edx, [eax + 0x15055072]
mov esi, edx
xor esi, 0xfd5313e1
add esi, eax
add esi, 0x15055072
xor edx, 0x2acec1e
lea edx, [esi + edx*2]
lea esi, [eax + eax]
add esi, 0x2a0aa0e4
or esi, 0x559d83c
sub edx, esi
add eax, edx
add eax, 0x15055072
mov edx, eax
xor edx, 0xeafaaf8e
lea edx, [edx + eax*2]
not eax
add eax, eax
or eax, 0xd5f55f1c
add eax, edx
imul eax, eax, 0xf7085b2f
add eax, 0x2db7150f
mov edx, eax
xor edx, 0xffffff00
and edx, eax
imul eax, edx, 0x95b92be7
mov edx, eax
not edx
mov esi, edx
and esi, 0xe14b6391
sub eax, esi
or edx, 0x1eb49c6e
add eax, edx
add eax, 0xc296c723
mov edx, eax
not edx
mov esi, edx
and esi, 0x37b78ba9
add esi, esi
sub eax, esi
mov esi, edx
and esi, 0x48487456
add esi, esi
sub eax, esi
lea esi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0x37b78ba9
mov edx, eax
not edx
and edx, 0xe14b6391
lea edx, [edx + esi*2]
add edx, 0x6f6f1752
or eax, 0xe14b6391
sub edx, eax
imul eax, edx, 0x50d6b7d7
lea edx, [eax + 0x5a4cba39]
mov esi, edx
and esi, 0xb9887aa2
add esi, eax
add esi, 0x5a4cba39
mov eax, edx
not eax
and eax, 0x4677855d
add eax, esi
xor edx, 0x4677855d
sub eax, edx
lea edx, [eax + 0x4677855d]
mov esi, edx
and esi, 0xf4219ee
lea eax, [eax + esi*2]
add eax, 0x4677855d
mov esi, edx
or esi, 0x70bde611
sub eax, esi
not edx
or edx, 0x70bde611
lea esi, [eax + edx]
add eax, edx
add eax, 0xe17bcc23
mov edx, eax
and edx, 0x4677855d
add esi, esi
add esi, 0xc2f79846
or esi, 0x8cef0aba
add esi, edx
not eax
or eax, 0x4677855d
lea edx, [esi + eax]
add eax, esi
add eax, 0x2c996fea
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov ah, byte [ebx + edx + 0x2c996ff2]
mov byte [ebx + edi + 0x32f9f171], ah
mov byte [ebx + edx + 0x2c996ff2], cl
neg cl
mov dl, ah
and dl, cl
add dl, ah
mov al, ah
not al
and cl, al
add cl, dl
mov dl, ah
and dl, 0xeb
mov dh, ah
xor dh, 0xeb
mov ebx, edx
add bl, dh
add ah, ah
or ah, 0xd6
sub bl, ah
add bl, dh
not dl
add dl, dl
sub bl, dl
and al, 0x14
add bl, 0xfe
mov edx, eax
not dl
or dl, al
and dl, bl
sub dl, bl
or bl, al
add bl, dl
mov eax, ebx
xor al, 0x6b
add al, bl
not bl
add bl, al
add bl, bl
add bl, cl
mov byte [ebp - 0x20], bl
mov edi, esi
not edi
mov ecx, edi
and ecx, 1
mov dword [ebp - 0x3c], ecx
mov eax, esi
xor eax, 1
mov dword [ebp - 0x18], eax
add ecx, esi
add ecx, eax
mov eax, esi
or eax, 1
mov dword [ebp - 0x28], eax
sub ecx, eax
and ecx, esi
mov ebx, esi
mov dword [ebp - 0x24], esi
mov edx, 0x8652f8cd
sub edx, ecx
mov ecx, edx
not ecx
and ecx, 0x79ad0733
lea esi, [ecx + edx*2]
or edx, 0x79ad0733
sub esi, edx
lea ecx, [esi + 0x79ad0733]
lea edx, [ebx - 1]
and edx, ecx
add edx, esi
add edx, 0x79ad0733
neg ebx
mov eax, ecx
not eax
mov esi, eax
and esi, ebx
sub edx, esi
mov esi, dword [ebp - 0x24]
add edx, esi
xor ecx, ebx
sub edx, ecx
not ecx
add ecx, ecx
sub edx, ecx
or eax, ebx
lea edx, [edx + eax*2]
mov ecx, esi
and ecx, 1
mov dword [ebp - 0x10], ecx
mov eax, edi
or eax, 1
lea ecx, [edi + ecx*2]
sub ecx, eax
or ecx, dword [ebp - 0x18]
mov ebx, ecx
not ebx
lea eax, [ebx + ebx]
sub ebx, eax
add ecx, ecx
sub ebx, ecx
mov ecx, edx
not ecx
mov eax, edx
and eax, 0x7e8158a1
mov esi, ecx
and esi, 0x17ea75e
add esi, esi
sub eax, esi
xor edx, 0x817ea75e
add edx, eax
or ecx, 0x817ea75e
add ecx, edx
add ebx, ebx
sub ecx, ebx
lea esi, [ecx + 4]
mov eax, esi
and eax, 0x7e8158a1
add eax, ecx
add eax, 4
not esi
and esi, 0x7e8158a1
add esi, eax
mov ecx, dword [ebp - 0x24]
or edi, ecx
and edi, 1
mov edx, dword [ebp - 0x3c]
lea eax, [edi + edx]
mov dword [ebp - 0x50], eax
lea eax, [edi + edx]
add eax, 0xffffffff
mov dword [ebp - 0x3c], eax
mov eax, ecx
mov edi, ecx
xor eax, 0xfffffffe
mov ecx, dword [ebp - 0x10]
add ecx, eax
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov al, 0xb
sub al, byte [ebp - 0x20]
mov ecx, eax
and cl, 1
add cl, al
mov edx, eax
not dl
mov ah, dl
and ah, 0xfe
sub cl, ah
mov ah, al
xor ah, 0xfe
sub cl, ah
xor al, 1
add al, al
sub cl, al
add dl, dl
or dl, 0xfc
add dl, cl
add dl, 0xfe
mov eax, edx
not al
mov ecx, edx
add cl, dl
and al, 0xf2
add al, cl
or dl, 0xf2
sub al, dl
add al, 0x61
mov ecx, eax
xor cl, 0xea
add cl, al
mov edx, eax
or dl, 0xea
sub cl, dl
not al
sub cl, al
or al, 0xea
add al, cl
add al, 0x16
mov ecx, eax
and cl, 0x92
add cl, al
not al
and al, 0x92
add al, cl
add al, 0xea
movzx eax, al
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + eax + 8]
mov eax, edx
neg al
add al, al
sub al, dl
mov ch, dl
add ch, dl
add ch, al
mov ah, dl
not ah
mov byte [ebp - 0x18], ah
mov al, dl
and al, 0x5a
add al, al
and ah, 0x25
add al, ah
mov bh, dl
xor bh, 0xda
add bh, al
add bh, 1
or bh, ah
mov eax, dword [ebp + 0x10]
mov dh, byte [eax + edi]
mov ah, dh
and ah, 0xda
mov bl, dh
xor bl, 0xda
add bl, ah
mov al, dh
xor al, 0x25
add al, bl
mov bl, dh
or bl, 0x25
sub al, bl
add al, ah
mov bl, dh
not bl
mov byte [ebp - 0x20], bl
add bl, bl
mov ah, bl
add ah, dh
add ah, 1
and ah, 0x25
add al, 0x26
or al, ah
xor al, bh
mov ah, ch
add ah, 0xff
and ah, 0x21
sub ah, ch
neg ch
or ch, 0xde
add ch, ah
add ch, 0x22
mov ah, ch
xor ah, al
add ah, al
mov bh, al
not bh
or bh, ch
add bh, ah
and ch, al
add ch, bh
add ch, 1
mov al, ch
and al, 0xde
add al, ch
mov ah, ch
xor ah, 0xde
add ah, al
or ch, 0xde
sub ah, ch
mov al, byte [ebp - 0x18]
and al, 0x97
mov ch, dl
and ch, 0x68
or ch, al
mov cl, ch
add cl, ch
sub cl, ch
mov ch, byte [ebp - 0x20]
or ch, dh
and ch, 0x97
mov bh, dh
and bh, 0x68
or ch, bh
sub ch, dh
mov al, ch
or ch, bh
not bh
and al, bh
add al, ch
not ch
add ch, al
sub ch, bh
xor ch, cl
add ch, ah
mov ah, byte [ebp - 0x20]
sub bl, ah
mov al, bl
and al, 0x19
add al, bl
mov cl, bl
xor cl, 0x19
add cl, al
not bl
add bl, bl
or bl, 0x32
add bl, cl
mov al, dh
and al, 0xe6
mov cl, dh
and cl, 0x19
sub al, cl
mov cl, ah
mov bh, ah
and cl, 0xe6
sub al, cl
or dh, 0xe6
add dh, al
mov eax, edx
and al, 0xdc
mov ah, byte [ebp - 0x18]
mov cl, ah
and ah, 0xdc
sub al, ah
xor dl, 0xdc
add dl, al
and cl, 0x23
mov eax, ecx
add al, cl
sub al, cl
add dl, cl
add dl, 0xdd
or dl, al
mov eax, edx
and al, 0x23
mov ah, dl
xor ah, 0x5c
add ah, ah
add ah, al
mov cl, dl
xor cl, 0x23
add cl, cl
add cl, ah
or dl, 0x23
sub cl, dl
mov al, bh
add dh, bh
add cl, 1
not cl
and cl, bh
or al, 0xe6
sub dh, al
add bl, 0xe9
or dh, bl
mov al, ch
add al, 0xdf
add ch, 0xe0
xor dh, 0xe6
not al
mov dl, dh
add dl, 0xff
mov ah, al
and ah, dl
add ah, ah
sub ah, ch
sub ah, dh
neg dh
mov ebx, eax
xor bl, dh
add bl, bl
sub ah, bl
or dh, al
add dh, ah
or dl, al
sub dh, dl
add dh, ch
mov dl, 1
sub dl, dh
mov eax, edx
and al, 0xd7
or dl, 0xd7
add dl, al
not cl
mov eax, ecx
add al, cl
add dl, 0x52
mov ah, al
not ah
mov ch, dl
and ch, ah
add ch, ch
add ch, dl
shl cl, 2
add cl, ch
mov ch, dl
xor ch, al
sub cl, ch
or al, dl
not al
add al, cl
or ah, dl
sub al, ah
add al, 0xb1
mov ecx, eax
and cl, 0xa8
add cl, al
mov edx, eax
not dl
mov ah, dl
and ah, 0x57
add ah, cl
and dl, 0xa8
add dl, ah
and al, 0x57
add al, dl
add al, 0x58
mov ecx, eax
and cl, 0x2f
add cl, al
not al
and al, 0x2f
add al, cl
add al, 0xa2
mov ecx, dword [ebp + 0x14]
mov edx, edi
mov byte [ecx + edi], al
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x10]
sub ebx, ecx
and ebx, edi
mov eax, edi
and eax, 0x7ffffffe
add eax, eax
sub eax, ecx
add eax, 1
mov ecx, dword [ebp - 0x50]
neg ecx
mov edx, dword [ebp - 0x3c]
or ecx, edx
and ecx, eax
sub ecx, eax
or eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
or edx, ecx
and edx, 0x40b8fe57
or eax, 0xbf4701a8
add eax, edx
add eax, 1
and ecx, 0xbf4701a8
mov edx, ecx
and edx, eax
mov edi, eax
sub edi, edx
or ecx, eax
add ecx, edi
not eax
add eax, ecx
add eax, edx
add eax, 1
mov ecx, eax
xor ecx, 0x40b8fe57
mov edx, eax
xor edx, 0xbf4701a8
lea ecx, [edx + ecx*2]
mov edx, eax
or edx, 0xbf4701a8
sub ecx, edx
and eax, 0x40b8fe57
add eax, ecx
add eax, 0xbf4701a9
sub esi, eax
not eax
add eax, eax
sub esi, eax
lea eax, [esi + 0x281980c9]
mov ecx, eax
not ecx
and ecx, 0xdae3cdf3
add ecx, esi
add ecx, 0x281980c9
or eax, 0x251c320c
add eax, ecx
add eax, 0xdae3cdf4
mov ecx, eax
and ecx, 0xc411ba49
not eax
and eax, 0x3bee45b6
sub ecx, eax
lea eax, [ecx + 0x77dc8b6c]
mov edx, eax
and edx, ebx
add ecx, edx
add ecx, 0x77dc8b6c
mov edx, ebx
not edx
add ecx, edx
or eax, edx
not eax
add eax, ecx
sub eax, ebx
imul eax, eax, 0x77b7740f
mov ecx, 0xe9a68daa
sub ecx, eax
and ecx, 0x14fb836a
sub ecx, eax
add eax, 0x16597255
or eax, 0xeb047c95
add eax, ecx
add eax, 0xd4ab0a40
not eax
imul eax, eax, 0xb15cfaef
add eax, 0x46c2cc0a
cmp eax, dword [ebp + 0xc]
mov ecx, 0xe8d0207a
mov edx, 0x95b908b9
cmove ecx, edx
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
add eax, 0x32f9f169
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xfd775bfd
jmp 0x100593a0
mov ecx, dword [0x1007683c]
mov edx, dword [0x10076840]
mov eax, ecx
not eax
or eax, ecx
and eax, edx
sub eax, edx
add eax, 0x9046e9f8
mov esi, dword [0x1007a270]
cmp dword [0x1007a26c], 0xa
setl cl
mov edx, esi
not edx
or edx, esi
add edx, esi
add edx, 0x3e299330
imul edx, esi
mov esi, dword [0x1007684c]
mov edi, dword [0x10076850]
mov ebx, esi
or ebx, edi
not edi
or edi, esi
add edi, ebx
not esi
add esi, edi
add esi, 2
and edx, 1
cmp edx, esi
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
sete al
or al, cl
add al, 1
test al, 1
jne 0x1005a8ed
nop
cmp dword [0x1007a1dc], 0xa
mov eax, dword [0x1007a1e0]
setl cl
setge dl
mov ebx, eax
not ebx
add ebx, eax
add ebx, eax
imul ebx, eax
test bl, 1
sete al
and al, dl
add al, cl
test al, 1
je 0x1005a8c0
jmp 0x1005a900
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x9046e9f8
jmp 0x1005a850
mov edi, dword [ebp - 0x14]
mov ecx, dword [0x1007a0c0]
cmp dword [0x1007a0bc], 0xa
setl al
mov esi, ecx
and esi, 0xfffffffe
add esi, ecx
mov edx, ecx
not edx
add edx, esi
sub edx, ecx
add edx, 0x2f63f61e
imul edx, ecx
test dl, 1
sete cl
or cl, al
mov eax, dword [edi]
add cl, 1
test cl, 1
jne 0x1005a903
cmp eax, 0xfd775bfc
jle 0x1005a9b0
cmp eax, 0x3fc80e12
jg 0x1005aa30
cmp eax, 0xfd775bfd
je 0x1005ab31
cmp eax, 0x810ac3b
je 0x1005ab73
cmp eax, 0x18a4280a
jne 0x10058c70
mov eax, dword [0x10079d84]
cmp dword [0x10079d88], 0xa
setl cl
setge dl
lea esi, [eax + eax]
mov edi, eax
not edi
lea ebx, [edi + esi]
add ebx, 0x88393880
imul ebx, eax
test bl, 1
sete al
and al, dl
add al, cl
add al, 1
test al, 1
je 0x10058da0
jmp 0x10058e37
cmp eax, 0xb0266169
jg 0x1005aaad
cmp eax, 0x9046e9f8
je 0x1005abf3
cmp eax, 0xa6dcb571
je 0x1005ac3d
cmp eax, 0xa9518a89
jne 0x10058c70
mov eax, dword [0x10079f78]
mov edx, dword [str.T0_]
mov ecx, dword [0x10076768]
mov esi, ecx
not esi
mov edi, edx
and edi, esi
xor ecx, edx
not ecx
add ecx, edi
or esi, edx
sub ecx, esi
add ecx, 0xa
cmp dword [0x10079f74], 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 0x10058cf0
jmp 0x10058d6e
cmp eax, 0x3fc80e13
je 0x1005aca4
cmp eax, 0x60b0f75f
je 0x1005ad08
cmp eax, 0x64dbfb4d
jne 0x10058c70
mov esi, dword [0x10079ea0]
cmp dword [0x10079e9c], 0xa
setge ah
setl al
lea edx, [esi - 1]
imul edx, esi
mov edi, dword [0x100766f4]
mov ebx, dword [0x100766f8]
mov ecx, edi
xor ecx, ebx
mov esi, edi
or esi, ebx
sub ecx, esi
not edi
sub ecx, edi
or edi, ebx
add edi, ecx
and edx, 1
cmp edx, edi
sete cl
mov edx, eax
and dl, cl
and ah, cl
add ah, dl
add ah, cl
or al, cl
add al, ah
add al, 1
test al, 1
je 0x10058fb0
jmp 0x10059031
cmp eax, 0xb026616a
je 0x1005ad6c
cmp eax, 0xf65d6a77
jne 0x1005ada4
mov edx, dword [0x10079e14]
cmp dword [0x10079e18], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x874cda02
imul ecx, edx
and ecx, 1
mov edx, dword [0x10076748]
mov esi, dword [0x10076744]
and esi, edx
mov edi, edx
sub edi, esi
not edx
add edx, edi
add edx, esi
add edx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
xor ah, dl
mov ch, al
or ch, dl
add ch, ah
not ah
add ah, ch
add ah, cl
or cl, al
add cl, ah
and al, dl
not al
add al, cl
test al, 1
jne 0x10059140
jmp 0x100591c6
mov edx, dword [0x10079e7c]
cmp dword [0x10079e80], 0xa
setge cl
setl al
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
and bl, al
and cl, dl
or cl, bl
mov ah, al
or ah, dl
add cl, ah
not ah
add ah, cl
and al, dl
not al
add al, ah
test al, 1
jne 0x1005a850
jmp 0x1005a8ed
mov esi, dword [0x10079c88]
mov eax, dword [0x1007669c]
mov ecx, dword [0x100766a0]
mov edx, eax
not edx
or edx, eax
and edx, ecx
sub edx, ecx
add edx, 0xa
cmp dword [0x10079c84], edx
setge byte [ebp - 0x10]
setl byte [ebp - 0x18]
lea edx, [esi - 1]
imul edx, esi
mov ecx, dword [0x100766a4]
mov edi, dword [0x100766a8]
mov ebx, ecx
not ebx
mov eax, ebx
and eax, edi
or ebx, edi
not edi
mov esi, ecx
and esi, edi
sub eax, esi
or edi, ecx
add edi, eax
sub edi, ebx
and edx, 1
cmp edx, edi
setne al
sete cl
mov ah, byte [ebp - 0x18]
or cl, ah
mov edx, ecx
not dl
add dl, cl
or al, ah
add al, dl
add al, byte [ebp - 0x10]
test al, 1
je 0x10058ee0
jmp 0x10058f71
mov eax, dword [0x10079f3c]
mov ecx, dword [0x10076674]
mov edx, dword [0x10076678]
mov edi, ecx
or edi, edx
sub edi, edx
sub edi, edx
add edi, edx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0xb
cmp dword [0x10079f40], 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 0x10058e60
jmp 0x10058eb0
mov ecx, dword [0x10079c80]
mov eax, dword [0x1007678c]
mov edx, dword [0x10076790]
mov esi, eax
or eax, edx
not edx
and esi, edx
not eax
add eax, esi
sub eax, edx
add eax, 0xa
cmp dword [0x10079c7c], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x10076794]
mov esi, dword [0x10076798]
mov edi, ecx
not edi
and edi, esi
add edi, edi
mov ebx, ecx
xor ebx, esi
sub esi, edi
add esi, ebx
sub esi, ecx
and edx, 1
cmp edx, esi
sete cl
or cl, al
cmp cl, 1
je 0x10059210
jmp 0x10059274
mov eax, dword [0x100767e4]
mov ecx, dword [0x100767e8]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
add esi, esi
mov edi, eax
xor edi, ecx
add edi, edi
sub esi, edi
or ecx, eax
add ecx, esi
or edx, eax
sub ecx, edx
mov edx, dword [0x10079f68]
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10079f64], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
xor ah, dl
add ah, dl
or cl, dl
add cl, ah
add cl, al
test cl, 1
je 0x100593a0
jmp 0x10059e7a
mov edx, dword [0x10079ec8]
cmp dword [0x10079ec4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100767bc]
mov esi, dword [0x100767c0]
mov edi, edx
xor edi, esi
mov ebx, edi
not ebx
lea edi, [edi + ebx*2]
not esi
add edi, esi
or esi, edx
add esi, esi
sub edi, esi
add edx, edi
add edx, 1
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
add al, 1
test al, 1
je 0x10059280
jmp 0x1005934d
mov eax, dword [0x10079ed0]
cmp dword [0x10079ecc], 0xa
setl cl
lea edx, [eax + eax]
mov esi, eax
not esi
add edx, esi
add edx, 0x80b3740
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10059080
jmp 0x10059115
cmp eax, 0xf5d9da48
jne 0x10058c70
mov ecx, dword [0x10079e4c]
mov eax, ecx
not eax
mov edx, dword [0x1007680c]
mov esi, dword [0x10076810]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edx, edi
add edx, 0xa
cmp dword [0x10079e50], edx
setge dl
mov esi, ecx
and esi, 0x7ffffffe
lea esi, [ecx + esi*2]
mov edi, ecx
xor edi, 1
sub esi, edi
and eax, 0xfffffffe
add eax, esi
mov esi, ecx
or esi, 0xfffffffe
sub eax, esi
add eax, 2
imul eax, ecx
test al, 1
sete cl
or cl, dl
add cl, al
add cl, 1
test cl, 1
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
jne 0x1005ae68
mov eax, dword [esi]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [0x1007681c]
mov ecx, dword [0x10076820]
not ecx
mov edx, eax
and edx, ecx
sub edx, ecx
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x1007a284], eax
mov eax, dword [0x1007a288]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1005ae79
mov eax, dword [esi]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x1005ae1b
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret