415f2b:	75 0b                	jne    0x415f38
415f2d:	e8 d5 1d ff ff       	call   0x407d07
415f32:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415f38:	e8 ca 1d ff ff       	call   0x407d07
415f3d:	56                   	push   %esi
415f3e:	8b 38                	mov    (%eax),%edi
415f40:	e8 df 38 ff ff       	call   0x409824
415f45:	59                   	pop    %ecx
415f46:	8b c7                	mov    %edi,%eax
415f48:	eb 51                	jmp    0x415f9b
415f4a:	3b c6                	cmp    %esi,%eax
415f4c:	7f b5                	jg     0x415f03
415f4e:	7c 04                	jl     0x415f54
415f50:	3b de                	cmp    %esi,%ebx
415f52:	73 af                	jae    0x415f03
415f54:	56                   	push   %esi
415f55:	ff 75 10             	push   0x10(%ebp)
415f58:	ff 75 0c             	push   0xc(%ebp)
415f5b:	57                   	push   %edi
415f5c:	e8 b0 83 ff ff       	call   0x40e311
415f61:	23 c2                	and    %edx,%eax
415f63:	83 c4 10             	add    $0x10,%esp
415f66:	83 f8 ff             	cmp    $0xffffffff,%eax
415f69:	74 af                	je     0x415f1a
415f6b:	57                   	push   %edi
415f6c:	e8 c4 66 ff ff       	call   0x40c635
415f71:	59                   	pop    %ecx
415f72:	50                   	push   %eax
415f73:	ff 15 dc b0 41 00    	call   *0x41b0dc
415f79:	85 c0                	test   %eax,%eax
415f7b:	75 86                	jne    0x415f03
415f7d:	e8 85 1d ff ff       	call   0x407d07
415f82:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415f88:	e8 67 1d ff ff       	call   0x407cf4
415f8d:	8b f0                	mov    %eax,%esi
415f8f:	ff 15 48 b0 41 00    	call   *0x41b048
415f95:	89 06                	mov    %eax,(%esi)
415f97:	eb 81                	jmp    0x415f1a
415f99:	33 c0                	xor    %eax,%eax
415f9b:	5b                   	pop    %ebx
415f9c:	5f                   	pop    %edi
415f9d:	5e                   	pop    %esi
415f9e:	8b e5                	mov    %ebp,%esp
415fa0:	5d                   	pop    %ebp
415fa1:	c3                   	ret
415fa2:	33 c0                	xor    %eax,%eax
415fa4:	50                   	push   %eax
415fa5:	50                   	push   %eax
415fa6:	6a 03                	push   $0x3
415fa8:	50                   	push   %eax
415fa9:	6a 03                	push   $0x3
415fab:	68 00 00 00 40       	push   $0x40000000
415fb0:	68 28 fe 41 00       	push   $0x41fe28
415fb5:	ff 15 0c b1 41 00    	call   *0x41b10c
415fbb:	a3 40 39 42 00       	mov    %eax,0x423940
415fc0:	c3                   	ret
415fc1:	a1 40 39 42 00       	mov    0x423940,%eax
415fc6:	83 f8 ff             	cmp    $0xffffffff,%eax
415fc9:	74 0c                	je     0x415fd7
415fcb:	83 f8 fe             	cmp    $0xfffffffe,%eax
415fce:	74 07                	je     0x415fd7
415fd0:	50                   	push   %eax
415fd1:	ff 15 8c b0 41 00    	call   *0x41b08c
415fd7:	c3                   	ret
415fd8:	8b ff                	mov    %edi,%edi
415fda:	55                   	push   %ebp
415fdb:	8b ec                	mov    %esp,%ebp
415fdd:	56                   	push   %esi
415fde:	8b 75 14             	mov    0x14(%ebp),%esi
415fe1:	85 f6                	test   %esi,%esi
415fe3:	7e 0d                	jle    0x415ff2
415fe5:	56                   	push   %esi
415fe6:	ff 75 10             	push   0x10(%ebp)
415fe9:	e8 dc 1d ff ff       	call   0x407dca
415fee:	59                   	pop    %ecx
415fef:	59                   	pop    %ecx
415ff0:	8b f0                	mov    %eax,%esi
415ff2:	8b 45 1c             	mov    0x1c(%ebp),%eax
415ff5:	85 c0                	test   %eax,%eax
415ff7:	7e 0b                	jle    0x416004
415ff9:	50                   	push   %eax
415ffa:	ff 75 18             	push   0x18(%ebp)
415ffd:	e8 c8 1d ff ff       	call   0x407dca
416002:	59                   	pop    %ecx
416003:	59                   	pop    %ecx
416004:	85 f6                	test   %esi,%esi
416006:	74 1e                	je     0x416026
416008:	85 c0                	test   %eax,%eax
41600a:	74 1a                	je     0x416026
41600c:	33 c9                	xor    %ecx,%ecx
41600e:	51                   	push   %ecx
41600f:	51                   	push   %ecx
416010:	51                   	push   %ecx
416011:	50                   	push   %eax
416012:	ff 75 18             	push   0x18(%ebp)
416015:	56                   	push   %esi
416016:	ff 75 10             	push   0x10(%ebp)
416019:	ff 75 0c             	push   0xc(%ebp)
41601c:	ff 75 08             	push   0x8(%ebp)
41601f:	e8 9c 5d ff ff       	call   0x40bdc0
416024:	eb 17                	jmp    0x41603d
416026:	2b f0                	sub    %eax,%esi
416028:	75 05                	jne    0x41602f
41602a:	6a 02                	push   $0x2
41602c:	58                   	pop    %eax
41602d:	eb 0e                	jmp    0x41603d
41602f:	33 c0                	xor    %eax,%eax
416031:	85 f6                	test   %esi,%esi
416033:	0f 99 c0             	setns  %al
416036:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
41603d:	5e                   	pop    %esi
41603e:	5d                   	pop    %ebp
41603f:	c3                   	ret
416040:	8b ff                	mov    %edi,%edi
416042:	55                   	push   %ebp
416043:	8b ec                	mov    %esp,%ebp
416045:	83 ec 2c             	sub    $0x2c,%esp
416048:	a1 0c 30 42 00       	mov    0x42300c,%eax
41604d:	33 c5                	xor    %ebp,%eax
41604f:	89 45 fc             	mov    %eax,-0x4(%ebp)
416052:	8b 45 08             	mov    0x8(%ebp),%eax
416055:	53                   	push   %ebx
416056:	56                   	push   %esi
416057:	8b 75 18             	mov    0x18(%ebp),%esi
41605a:	89 45 d8             	mov    %eax,-0x28(%ebp)
41605d:	8b 45 0c             	mov    0xc(%ebp),%eax
416060:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416063:	8b 45 1c             	mov    0x1c(%ebp),%eax
416066:	89 45 dc             	mov    %eax,-0x24(%ebp)
416069:	57                   	push   %edi
41606a:	8b 7d 14             	mov    0x14(%ebp),%edi
41606d:	89 7d e0             	mov    %edi,-0x20(%ebp)
416070:	85 f6                	test   %esi,%esi
416072:	7e 22                	jle    0x416096
416074:	56                   	push   %esi
416075:	57                   	push   %edi
416076:	e8 e6 f9 ff ff       	call   0x415a61
41607b:	59                   	pop    %ecx
41607c:	8b f0                	mov    %eax,%esi
41607e:	8b 45 dc             	mov    -0x24(%ebp),%eax
416081:	59                   	pop    %ecx
416082:	8b 5d 20             	mov    0x20(%ebp),%ebx
416085:	85 db                	test   %ebx,%ebx
416087:	7e 19                	jle    0x4160a2
416089:	53                   	push   %ebx
41608a:	50                   	push   %eax
41608b:	e8 d1 f9 ff ff       	call   0x415a61
416090:	59                   	pop    %ecx
416091:	59                   	pop    %ecx
416092:	8b d8                	mov    %eax,%ebx
416094:	eb 11                	jmp    0x4160a7
416096:	83 fe ff             	cmp    $0xffffffff,%esi
416099:	7d e7                	jge    0x416082
41609b:	33 c0                	xor    %eax,%eax
41609d:	e9 32 02 00 00       	jmp    0x4162d4
4160a2:	83 fb ff             	cmp    $0xffffffff,%ebx
4160a5:	7c f4                	jl     0x41609b
4160a7:	8b 45 24             	mov    0x24(%ebp),%eax
4160aa:	85 c0                	test   %eax,%eax
4160ac:	75 0b                	jne    0x4160b9
4160ae:	8b 45 d8             	mov    -0x28(%ebp),%eax
4160b1:	8b 00                	mov    (%eax),%eax
4160b3:	8b 40 08             	mov    0x8(%eax),%eax
4160b6:	89 45 24             	mov    %eax,0x24(%ebp)
4160b9:	85 f6                	test   %esi,%esi
4160bb:	74 08                	je     0x4160c5
4160bd:	85 db                	test   %ebx,%ebx
4160bf:	0f 85 9d 00 00 00    	jne    0x416162
4160c5:	3b f3                	cmp    %ebx,%esi
4160c7:	75 08                	jne    0x4160d1
4160c9:	6a 02                	push   $0x2
4160cb:	58                   	pop    %eax
4160cc:	e9 03 02 00 00       	jmp    0x4162d4
4160d1:	83 fb 01             	cmp    $0x1,%ebx
4160d4:	7e 08                	jle    0x4160de
4160d6:	33 c0                	xor    %eax,%eax
4160d8:	40                   	inc    %eax
4160d9:	e9 f6 01 00 00       	jmp    0x4162d4
4160de:	83 fe 01             	cmp    $0x1,%esi
4160e1:	7e 04                	jle    0x4160e7
4160e3:	6a 03                	push   $0x3
4160e5:	eb e4                	jmp    0x4160cb
4160e7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4160ea:	51                   	push   %ecx
4160eb:	50                   	push   %eax
4160ec:	ff 15 80 b1 41 00    	call   *0x41b180
4160f2:	85 c0                	test   %eax,%eax
4160f4:	74 a5                	je     0x41609b
4160f6:	85 f6                	test   %esi,%esi
4160f8:	7e 2f                	jle    0x416129
4160fa:	6a 02                	push   $0x2
4160fc:	58                   	pop    %eax
4160fd:	39 45 e8             	cmp    %eax,-0x18(%ebp)
416100:	72 e1                	jb     0x4160e3
416102:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
416106:	8d 4d ee             	lea    -0x12(%ebp),%ecx
416109:	74 d8                	je     0x4160e3
41610b:	8a 51 01             	mov    0x1(%ecx),%dl
41610e:	84 d2                	test   %dl,%dl
416110:	74 d1                	je     0x4160e3
416112:	8a 1f                	mov    (%edi),%bl
416114:	3a 19                	cmp    (%ecx),%bl
416116:	72 08                	jb     0x416120
416118:	3a da                	cmp    %dl,%bl
41611a:	0f 86 b4 01 00 00    	jbe    0x4162d4
416120:	03 c8                	add    %eax,%ecx
416122:	80 39 00             	cmpb   $0x0,(%ecx)
416125:	75 e4                	jne    0x41610b
416127:	eb ba                	jmp    0x4160e3
416129:	85 db                	test   %ebx,%ebx
41612b:	7e 35                	jle    0x416162
41612d:	6a 02                	push   $0x2
41612f:	58                   	pop    %eax
416130:	39 45 e8             	cmp    %eax,-0x18(%ebp)
416133:	72 a1                	jb     0x4160d6
416135:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
416139:	8d 4d ee             	lea    -0x12(%ebp),%ecx
41613c:	74 98                	je     0x4160d6
41613e:	8b 75 dc             	mov    -0x24(%ebp),%esi
416141:	8a 51 01             	mov    0x1(%ecx),%dl
416144:	84 d2                	test   %dl,%dl
416146:	74 8e                	je     0x4160d6
416148:	8a 1e                	mov    (%esi),%bl
41614a:	3a 19                	cmp    (%ecx),%bl
41614c:	72 08                	jb     0x416156
41614e:	3a da                	cmp    %dl,%bl
416150:	0f 86 7e 01 00 00    	jbe    0x4162d4
416156:	03 c8                	add    %eax,%ecx
416158:	80 39 00             	cmpb   $0x0,(%ecx)
41615b:	75 e4                	jne    0x416141
41615d:	e9 74 ff ff ff       	jmp    0x4160d6
416162:	33 ff                	xor    %edi,%edi
416164:	57                   	push   %edi
416165:	57                   	push   %edi
416166:	56                   	push   %esi
416167:	ff 75 e0             	push   -0x20(%ebp)
41616a:	6a 09                	push   $0x9
41616c:	ff 75 24             	push   0x24(%ebp)
41616f:	ff 15 2c b1 41 00    	call   *0x41b12c
416175:	89 45 d8             	mov    %eax,-0x28(%ebp)
416178:	85 c0                	test   %eax,%eax
41617a:	0f 84 1b ff ff ff    	je     0x41609b
416180:	8d 14 00             	lea    (%eax,%eax,1),%edx
416183:	8d 4a 08             	lea    0x8(%edx),%ecx
416186:	3b d1                	cmp    %ecx,%edx
416188:	1b c0                	sbb    %eax,%eax
41618a:	85 c1                	test   %eax,%ecx
41618c:	74 59                	je     0x4161e7
41618e:	8d 4a 08             	lea    0x8(%edx),%ecx
416191:	3b d1                	cmp    %ecx,%edx
416193:	1b c0                	sbb    %eax,%eax
416195:	23 c1                	and    %ecx,%eax
416197:	8d 4a 08             	lea    0x8(%edx),%ecx
41619a:	3d 00 04 00 00       	cmp    $0x400,%eax
41619f:	77 20                	ja     0x4161c1
4161a1:	3b d1                	cmp    %ecx,%edx
4161a3:	1b c0                	sbb    %eax,%eax
4161a5:	23 c1                	and    %ecx,%eax
4161a7:	e8 24 22 00 00       	call   0x4183d0
4161ac:	8b c4                	mov    %esp,%eax
4161ae:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4161b1:	85 c0                	test   %eax,%eax
4161b3:	0f 84 0f 01 00 00    	je     0x4162c8
4161b9:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
4161bf:	eb 1e                	jmp    0x4161df
4161c1:	3b d1                	cmp    %ecx,%edx
4161c3:	1b c0                	sbb    %eax,%eax
4161c5:	23 c1                	and    %ecx,%eax
4161c7:	50                   	push   %eax
4161c8:	e8 91 36 ff ff       	call   0x40985e
4161cd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4161d0:	59                   	pop    %ecx
4161d1:	85 c0                	test   %eax,%eax
4161d3:	0f 84 ef 00 00 00    	je     0x4162c8
4161d9:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
4161df:	83 c0 08             	add    $0x8,%eax
4161e2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4161e5:	eb 05                	jmp    0x4161ec
4161e7:	8b c7                	mov    %edi,%eax
4161e9:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4161ec:	85 c0                	test   %eax,%eax
4161ee:	0f 84 d4 00 00 00    	je     0x4162c8
4161f4:	ff 75 d8             	push   -0x28(%ebp)
4161f7:	50                   	push   %eax
4161f8:	56                   	push   %esi
4161f9:	ff 75 e0             	push   -0x20(%ebp)
4161fc:	8b 75 24             	mov    0x24(%ebp),%esi
4161ff:	6a 01                	push   $0x1
416201:	56                   	push   %esi
416202:	ff 15 2c b1 41 00    	call   *0x41b12c
416208:	85 c0                	test   %eax,%eax
41620a:	0f 84 b8 00 00 00    	je     0x4162c8
416210:	57                   	push   %edi
416211:	57                   	push   %edi
416212:	53                   	push   %ebx
416213:	ff 75 dc             	push   -0x24(%ebp)
416216:	6a 09                	push   $0x9
416218:	56                   	push   %esi
416219:	ff 15 2c b1 41 00    	call   *0x41b12c
41621f:	89 45 e0             	mov    %eax,-0x20(%ebp)
416222:	85 c0                	test   %eax,%eax
416224:	0f 84 9e 00 00 00    	je     0x4162c8
41622a:	8d 14 00             	lea    (%eax,%eax,1),%edx
41622d:	8d 4a 08             	lea    0x8(%edx),%ecx
416230:	3b d1                	cmp    %ecx,%edx
416232:	1b c0                	sbb    %eax,%eax
416234:	85 c1                	test   %eax,%ecx
416236:	74 4a                	je     0x416282
416238:	8d 4a 08             	lea    0x8(%edx),%ecx
41623b:	3b d1                	cmp    %ecx,%edx
41623d:	1b c0                	sbb    %eax,%eax
41623f:	23 c1                	and    %ecx,%eax
416241:	8d 4a 08             	lea    0x8(%edx),%ecx
416244:	3d 00 04 00 00       	cmp    $0x400,%eax
416249:	77 19                	ja     0x416264
41624b:	3b d1                	cmp    %ecx,%edx
41624d:	1b c0                	sbb    %eax,%eax
41624f:	23 c1                	and    %ecx,%eax
416251:	e8 7a 21 00 00       	call   0x4183d0
416256:	8b f4                	mov    %esp,%esi
416258:	85 f6                	test   %esi,%esi
41625a:	74 60                	je     0x4162bc
41625c:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
416262:	eb 19                	jmp    0x41627d
416264:	3b d1                	cmp    %ecx,%edx
416266:	1b c0                	sbb    %eax,%eax
416268:	23 c1                	and    %ecx,%eax
41626a:	50                   	push   %eax
41626b:	e8 ee 35 ff ff       	call   0x40985e
416270:	8b f0                	mov    %eax,%esi
416272:	59                   	pop    %ecx
416273:	85 f6                	test   %esi,%esi
416275:	74 45                	je     0x4162bc
416277:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
41627d:	83 c6 08             	add    $0x8,%esi
416280:	eb 02                	jmp    0x416284
416282:	8b f7                	mov    %edi,%esi
416284:	85 f6                	test   %esi,%esi
416286:	74 34                	je     0x4162bc
416288:	ff 75 e0             	push   -0x20(%ebp)
41628b:	56                   	push   %esi
41628c:	53                   	push   %ebx
41628d:	ff 75 dc             	push   -0x24(%ebp)
416290:	6a 01                	push   $0x1
416292:	ff 75 24             	push   0x24(%ebp)
416295:	ff 15 2c b1 41 00    	call   *0x41b12c
41629b:	85 c0                	test   %eax,%eax
41629d:	74 1d                	je     0x4162bc
41629f:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4162a2:	57                   	push   %edi