ad6f2f:	cc                   	int3
ad6f30:	cc                   	int3
ad6f31:	8b ff                	mov    %edi,%edi
ad6f33:	55                   	push   %ebp
ad6f34:	8b ec                	mov    %esp,%ebp
ad6f36:	5d                   	pop    %ebp
ad6f37:	e9 0d fe ff ff       	jmp    0xad6d49
ad6f3c:	cc                   	int3
ad6f3d:	cc                   	int3
ad6f3e:	8b ff                	mov    %edi,%edi
ad6f40:	55                   	push   %ebp
ad6f41:	8b ec                	mov    %esp,%ebp
ad6f43:	5d                   	pop    %ebp
ad6f44:	e9 d0 fe ff ff       	jmp    0xad6e19
ad6f49:	cc                   	int3
ad6f4a:	cc                   	int3
ad6f4b:	8b ff                	mov    %edi,%edi
ad6f4d:	55                   	push   %ebp
ad6f4e:	8b ec                	mov    %esp,%ebp
ad6f50:	ff 75 0c             	push   0xc(%ebp)
ad6f53:	ff 75 08             	push   0x8(%ebp)
ad6f56:	e8 f7 d0 92 ff       	call   0x404052
ad6f5b:	f7 d8                	neg    %eax
ad6f5d:	59                   	pop    %ecx
ad6f5e:	59                   	pop    %ecx
ad6f5f:	1b c0                	sbb    %eax,%eax
ad6f61:	5d                   	pop    %ebp
ad6f62:	c3                   	ret
ad6f63:	cc                   	int3
ad6f64:	cc                   	int3
ad6f65:	cc                   	int3
ad6f66:	cc                   	int3
ad6f67:	cc                   	int3
ad6f68:	cc                   	int3
ad6f69:	8b ff                	mov    %edi,%edi
ad6f6b:	55                   	push   %ebp
ad6f6c:	8b ec                	mov    %esp,%ebp
ad6f6e:	51                   	push   %ecx
ad6f6f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ad6f73:	75 0e                	jne    0xad6f83
ad6f75:	ff 75 0c             	push   0xc(%ebp)
ad6f78:	6a 00                	push   $0x0
ad6f7a:	e8 2e d8 94 ff       	call   0x4247ad
ad6f7f:	59                   	pop    %ecx
ad6f80:	59                   	pop    %ecx
ad6f81:	eb 37                	jmp    0xad6fba
ad6f83:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ad6f87:	8d 45 fc             	lea    -0x4(%ebp),%eax
ad6f8a:	56                   	push   %esi
ad6f8b:	50                   	push   %eax
ad6f8c:	ff 75 08             	push   0x8(%ebp)
ad6f8f:	e8 a2 68 94 ff       	call   0x41d836
ad6f94:	59                   	pop    %ecx
ad6f95:	59                   	pop    %ecx
ad6f96:	85 c0                	test   %eax,%eax
ad6f98:	75 05                	jne    0xad6f9f
ad6f9a:	83 ce ff             	or     $0xffffffff,%esi
ad6f9d:	eb 0f                	jmp    0xad6fae
ad6f9f:	ff 75 0c             	push   0xc(%ebp)
ad6fa2:	ff 75 fc             	push   -0x4(%ebp)
ad6fa5:	e8 03 d8 94 ff       	call   0x4247ad
ad6faa:	59                   	pop    %ecx
ad6fab:	59                   	pop    %ecx
ad6fac:	8b f0                	mov    %eax,%esi
ad6fae:	ff 75 fc             	push   -0x4(%ebp)
ad6fb1:	e8 30 b2 95 ff       	call   0x4321e6
ad6fb6:	59                   	pop    %ecx
ad6fb7:	8b c6                	mov    %esi,%eax
ad6fb9:	5e                   	pop    %esi
ad6fba:	8b e5                	mov    %ebp,%esp
ad6fbc:	5d                   	pop    %ebp
ad6fbd:	c3                   	ret
ad6fbe:	cc                   	int3
ad6fbf:	cc                   	int3
ad6fc0:	cc                   	int3
ad6fc1:	cc                   	int3
ad6fc2:	cc                   	int3
ad6fc3:	cc                   	int3
ad6fc4:	cc                   	int3
ad6fc5:	cc                   	int3
ad6fc6:	cc                   	int3
ad6fc7:	cc                   	int3
ad6fc8:	cc                   	int3
ad6fc9:	cc                   	int3
ad6fca:	cc                   	int3
ad6fcb:	cc                   	int3
ad6fcc:	cc                   	int3
ad6fcd:	cc                   	int3
ad6fce:	cc                   	int3
ad6fcf:	cc                   	int3
ad6fd0:	cc                   	int3
ad6fd1:	cc                   	int3
ad6fd2:	cc                   	int3
ad6fd3:	8b ff                	mov    %edi,%edi
ad6fd5:	55                   	push   %ebp
ad6fd6:	8b ec                	mov    %esp,%ebp
ad6fd8:	6a 00                	push   $0x0
ad6fda:	ff 75 0c             	push   0xc(%ebp)
ad6fdd:	ff 75 08             	push   0x8(%ebp)
ad6fe0:	e8 4a cf 93 ff       	call   0x413f2f
ad6fe5:	83 c4 0c             	add    $0xc,%esp
ad6fe8:	5d                   	pop    %ebp
ad6fe9:	c3                   	ret
ad6fea:	cc                   	int3
ad6feb:	cc                   	int3
ad6fec:	cc                   	int3
ad6fed:	cc                   	int3
ad6fee:	cc                   	int3
ad6fef:	8b ff                	mov    %edi,%edi
ad6ff1:	55                   	push   %ebp
ad6ff2:	8b ec                	mov    %esp,%ebp
ad6ff4:	83 ec 10             	sub    $0x10,%esp
ad6ff7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
ad6ffa:	56                   	push   %esi
ad6ffb:	57                   	push   %edi
ad6ffc:	ff 75 10             	push   0x10(%ebp)
ad6fff:	33 f6                	xor    %esi,%esi
ad7001:	e8 86 aa 92 ff       	call   0x401a8c
ad7006:	8b 4d 08             	mov    0x8(%ebp),%ecx
ad7009:	85 c9                	test   %ecx,%ecx
ad700b:	75 12                	jne    0xad701f
ad700d:	e8 5d 78 96 ff       	call   0x43e86f
ad7012:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ad7018:	e8 db 82 94 ff       	call   0x41f2f8
ad701d:	eb 4e                	jmp    0xad706d
ad701f:	8b 7d f8             	mov    -0x8(%ebp),%edi
ad7022:	39 77 08             	cmp    %esi,0x8(%edi)
ad7025:	75 0f                	jne    0xad7036
ad7027:	ff 75 0c             	push   0xc(%ebp)
ad702a:	51                   	push   %ecx
ad702b:	e8 e1 83 93 ff       	call   0x40f411
ad7030:	59                   	pop    %ecx
ad7031:	59                   	pop    %ecx
ad7032:	8b f0                	mov    %eax,%esi
ad7034:	eb 37                	jmp    0xad706d
ad7036:	53                   	push   %ebx
ad7037:	8a 19                	mov    (%ecx),%bl
ad7039:	0f b6 d3             	movzbl %bl,%edx
ad703c:	f6 44 3a 19 04       	testb  $0x4,0x19(%edx,%edi,1)
ad7041:	74 1d                	je     0xad7060
ad7043:	41                   	inc    %ecx
ad7044:	8a 19                	mov    (%ecx),%bl
ad7046:	84 db                	test   %bl,%bl
ad7048:	74 12                	je     0xad705c
ad704a:	c1 e2 08             	shl    $0x8,%edx
ad704d:	0f b6 c3             	movzbl %bl,%eax
ad7050:	0b d0                	or     %eax,%edx
ad7052:	39 55 0c             	cmp    %edx,0xc(%ebp)
ad7055:	75 10                	jne    0xad7067
ad7057:	8d 71 ff             	lea    -0x1(%ecx),%esi
ad705a:	eb 0b                	jmp    0xad7067
ad705c:	85 f6                	test   %esi,%esi
ad705e:	eb 03                	jmp    0xad7063
ad7060:	39 55 0c             	cmp    %edx,0xc(%ebp)
ad7063:	75 02                	jne    0xad7067
ad7065:	8b f1                	mov    %ecx,%esi
ad7067:	41                   	inc    %ecx
ad7068:	84 db                	test   %bl,%bl
ad706a:	75 cb                	jne    0xad7037
ad706c:	5b                   	pop    %ebx
ad706d:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
ad7071:	74 0a                	je     0xad707d
ad7073:	8b 4d f0             	mov    -0x10(%ebp),%ecx
ad7076:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
ad707d:	5f                   	pop    %edi
ad707e:	8b c6                	mov    %esi,%eax
ad7080:	5e                   	pop    %esi
ad7081:	8b e5                	mov    %ebp,%esp
ad7083:	5d                   	pop    %ebp
ad7084:	c3                   	ret
ad7085:	cc                   	int3
ad7086:	cc                   	int3
ad7087:	cc                   	int3
ad7088:	cc                   	int3
ad7089:	cc                   	int3
ad708a:	cc                   	int3
ad708b:	cc                   	int3
ad708c:	cc                   	int3
ad708d:	cc                   	int3
ad708e:	cc                   	int3
ad708f:	cc                   	int3
ad7090:	cc                   	int3
ad7091:	cc                   	int3
ad7092:	cc                   	int3
ad7093:	cc                   	int3
ad7094:	cc                   	int3
ad7095:	cc                   	int3
ad7096:	cc                   	int3
ad7097:	cc                   	int3
ad7098:	cc                   	int3
ad7099:	cc                   	int3
ad709a:	cc                   	int3
ad709b:	cc                   	int3
ad709c:	cc                   	int3
ad709d:	cc                   	int3
ad709e:	cc                   	int3
ad709f:	cc                   	int3
ad70a0:	cc                   	int3
ad70a1:	cc                   	int3
ad70a2:	cc                   	int3
ad70a3:	cc                   	int3
ad70a4:	cc                   	int3
ad70a5:	cc                   	int3
ad70a6:	cc                   	int3
ad70a7:	cc                   	int3
ad70a8:	cc                   	int3
ad70a9:	cc                   	int3
ad70aa:	8b ff                	mov    %edi,%edi
ad70ac:	55                   	push   %ebp
ad70ad:	8b ec                	mov    %esp,%ebp
ad70af:	8b 45 0c             	mov    0xc(%ebp),%eax
ad70b2:	85 c0                	test   %eax,%eax
ad70b4:	74 33                	je     0xad70e9
ad70b6:	80 38 00             	cmpb   $0x0,(%eax)
ad70b9:	74 2e                	je     0xad70e9
ad70bb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ad70bf:	74 11                	je     0xad70d2
ad70c1:	ff 75 10             	push   0x10(%ebp)
ad70c4:	50                   	push   %eax
ad70c5:	ff 75 08             	push   0x8(%ebp)
ad70c8:	e8 e4 01 00 00       	call   0xad72b1
ad70cd:	83 c4 0c             	add    $0xc,%esp
ad70d0:	5d                   	pop    %ebp
ad70d1:	c3                   	ret
ad70d2:	ff 75 1c             	push   0x1c(%ebp)
ad70d5:	ff 75 18             	push   0x18(%ebp)
ad70d8:	ff 75 14             	push   0x14(%ebp)
ad70db:	ff 75 10             	push   0x10(%ebp)
ad70de:	50                   	push   %eax
ad70df:	e8 a7 00 00 00       	call   0xad718b
ad70e4:	83 c4 14             	add    $0x14,%esp
ad70e7:	5d                   	pop    %ebp
ad70e8:	c3                   	ret
ad70e9:	8b 45 10             	mov    0x10(%ebp),%eax
ad70ec:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
ad70f1:	3b c1                	cmp    %ecx,%eax
ad70f3:	72 02                	jb     0xad70f7
ad70f5:	8b c1                	mov    %ecx,%eax
ad70f7:	50                   	push   %eax
ad70f8:	ff 75 08             	push   0x8(%ebp)
ad70fb:	e8 75 40 95 ff       	call   0x42b175
ad7100:	59                   	pop    %ecx
ad7101:	59                   	pop    %ecx
ad7102:	5d                   	pop    %ebp
ad7103:	c3                   	ret
ad7104:	cc                   	int3
ad7105:	cc                   	int3
ad7106:	cc                   	int3
ad7107:	cc                   	int3
ad7108:	cc                   	int3
ad7109:	cc                   	int3
ad710a:	cc                   	int3
ad710b:	cc                   	int3
ad710c:	cc                   	int3
ad710d:	cc                   	int3
ad710e:	cc                   	int3
ad710f:	cc                   	int3
ad7110:	cc                   	int3
ad7111:	cc                   	int3
ad7112:	cc                   	int3
ad7113:	cc                   	int3
ad7114:	cc                   	int3
ad7115:	cc                   	int3
ad7116:	cc                   	int3
ad7117:	cc                   	int3
ad7118:	cc                   	int3
ad7119:	cc                   	int3
ad711a:	8b ff                	mov    %edi,%edi
ad711c:	55                   	push   %ebp
ad711d:	8b ec                	mov    %esp,%ebp
ad711f:	8b 45 0c             	mov    0xc(%ebp),%eax
ad7122:	85 c0                	test   %eax,%eax
ad7124:	74 34                	je     0xad715a
ad7126:	66 83 38 00          	cmpw   $0x0,(%eax)
ad712a:	74 2e                	je     0xad715a
ad712c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
ad7130:	74 11                	je     0xad7143
ad7132:	ff 75 10             	push   0x10(%ebp)
ad7135:	50                   	push   %eax
ad7136:	ff 75 08             	push   0x8(%ebp)
ad7139:	e8 e9 01 00 00       	call   0xad7327
ad713e:	83 c4 0c             	add    $0xc,%esp
ad7141:	5d                   	pop    %ebp
ad7142:	c3                   	ret
ad7143:	ff 75 1c             	push   0x1c(%ebp)
ad7146:	ff 75 18             	push   0x18(%ebp)
ad7149:	ff 75 14             	push   0x14(%ebp)
ad714c:	ff 75 10             	push   0x10(%ebp)
ad714f:	50                   	push   %eax
ad7150:	e8 c9 00 00 00       	call   0xad721e
ad7155:	83 c4 14             	add    $0x14,%esp
ad7158:	5d                   	pop    %ebp
ad7159:	c3                   	ret
ad715a:	8b 45 10             	mov    0x10(%ebp),%eax
ad715d:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
ad7162:	3b c1                	cmp    %ecx,%eax
ad7164:	72 02                	jb     0xad7168
ad7166:	8b c1                	mov    %ecx,%eax
ad7168:	50                   	push   %eax
ad7169:	ff 75 08             	push   0x8(%ebp)
ad716c:	e8 9d ce 95 ff       	call   0x43400e
ad7171:	59                   	pop    %ecx
ad7172:	59                   	pop    %ecx
ad7173:	5d                   	pop    %ebp
ad7174:	c3                   	ret
ad7175:	cc                   	int3
ad7176:	cc                   	int3
ad7177:	cc                   	int3
ad7178:	cc                   	int3
ad7179:	cc                   	int3
ad717a:	cc                   	int3
ad717b:	cc                   	int3
ad717c:	cc                   	int3
ad717d:	cc                   	int3
ad717e:	cc                   	int3
ad717f:	cc                   	int3
ad7180:	cc                   	int3
ad7181:	cc                   	int3
ad7182:	cc                   	int3
ad7183:	cc                   	int3
ad7184:	cc                   	int3
ad7185:	cc                   	int3
ad7186:	cc                   	int3
ad7187:	cc                   	int3
ad7188:	cc                   	int3
ad7189:	cc                   	int3
ad718a:	cc                   	int3
ad718b:	8b ff                	mov    %edi,%edi
ad718d:	55                   	push   %ebp
ad718e:	8b ec                	mov    %esp,%ebp
ad7190:	57                   	push   %edi
ad7191:	33 ff                	xor    %edi,%edi
ad7193:	57                   	push   %edi
ad7194:	57                   	push   %edi
ad7195:	57                   	push   %edi
ad7196:	ff 75 08             	push   0x8(%ebp)
ad7199:	ff 15 74 38 d8 00    	call   *0xd83874
ad719f:	85 c0                	test   %eax,%eax
ad71a1:	75 11                	jne    0xad71b4
ad71a3:	ff 15 d4 36 d8 00    	call   *0xd836d4
ad71a9:	50                   	push   %eax
ad71aa:	e8 26 87 93 ff       	call   0x40f8d5
ad71af:	59                   	pop    %ecx
ad71b0:	33 c0                	xor    %eax,%eax
ad71b2:	eb 4a                	jmp    0xad71fe
ad71b4:	53                   	push   %ebx
ad71b5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
ad71b8:	56                   	push   %esi
ad71b9:	3b d8                	cmp    %eax,%ebx
ad71bb:	77 02                	ja     0xad71bf