407f8b:	ff 75 10             	push   0x10(%ebp)
407f8e:	e8 ea 77 03 00       	call   0x43f77d
407f93:	8b f0                	mov    %eax,%esi
407f95:	85 f6                	test   %esi,%esi
407f97:	0f 88 ce 00 00 00    	js     0x40806b
407f9d:	6a 08                	push   $0x8
407f9f:	59                   	pop    %ecx
407fa0:	8d 45 e4             	lea    -0x1c(%ebp),%eax
407fa3:	c6 00 00             	movb   $0x0,(%eax)
407fa6:	40                   	inc    %eax
407fa7:	83 e9 01             	sub    $0x1,%ecx
407faa:	75 f7                	jne    0x407fa3
407fac:	e9 8a 00 00 00       	jmp    0x40803b
407fb1:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
407fb5:	0f 84 41 ff ff ff    	je     0x407efc
407fbb:	33 db                	xor    %ebx,%ebx
407fbd:	43                   	inc    %ebx
407fbe:	e9 3b ff ff ff       	jmp    0x407efe
407fc3:	8d 45 fc             	lea    -0x4(%ebp),%eax
407fc6:	50                   	push   %eax
407fc7:	8d 47 08             	lea    0x8(%edi),%eax
407fca:	50                   	push   %eax
407fcb:	e8 10 81 01 00       	call   0x4200e0
407fd0:	8b f0                	mov    %eax,%esi
407fd2:	85 f6                	test   %esi,%esi
407fd4:	0f 88 b2 00 00 00    	js     0x40808c
407fda:	ff 75 fc             	push   -0x4(%ebp)
407fdd:	53                   	push   %ebx
407fde:	ff 75 10             	push   0x10(%ebp)
407fe1:	e8 fa 77 03 00       	call   0x43f7e0
407fe6:	8b f0                	mov    %eax,%esi
407fe8:	85 f6                	test   %esi,%esi
407fea:	0f 88 95 00 00 00    	js     0x408085
407ff0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
407ff4:	74 45                	je     0x40803b
407ff6:	ff 75 fc             	push   -0x4(%ebp)
407ff9:	e8 95 a7 ff ff       	call   0x402793
407ffe:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408002:	eb 37                	jmp    0x40803b
408004:	8d 45 ec             	lea    -0x14(%ebp),%eax
408007:	50                   	push   %eax
408008:	8d 47 08             	lea    0x8(%edi),%eax
40800b:	50                   	push   %eax
40800c:	e8 59 80 01 00       	call   0x42006a
408011:	8b f0                	mov    %eax,%esi
408013:	85 f6                	test   %esi,%esi
408015:	78 7c                	js     0x408093
408017:	ff 75 f0             	push   -0x10(%ebp)
40801a:	ff 75 ec             	push   -0x14(%ebp)
40801d:	53                   	push   %ebx
40801e:	ff 75 10             	push   0x10(%ebp)
408021:	e8 57 77 03 00       	call   0x43f77d
408026:	8b f0                	mov    %eax,%esi
408028:	85 f6                	test   %esi,%esi
40802a:	78 3f                	js     0x40806b
40802c:	6a 08                	push   $0x8
40802e:	59                   	pop    %ecx
40802f:	8d 45 ec             	lea    -0x14(%ebp),%eax
408032:	c6 00 00             	movb   $0x0,(%eax)
408035:	40                   	inc    %eax
408036:	83 e9 01             	sub    $0x1,%ecx
408039:	75 f7                	jne    0x408032
40803b:	ff 77 24             	push   0x24(%edi)
40803e:	53                   	push   %ebx
40803f:	ff 75 10             	push   0x10(%ebp)
408042:	e8 6b 77 03 00       	call   0x43f7b2
408047:	8b f0                	mov    %eax,%esi
408049:	85 f6                	test   %esi,%esi
40804b:	78 4d                	js     0x40809a
40804d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
408050:	8b 45 08             	mov    0x8(%ebp),%eax
408053:	41                   	inc    %ecx
408054:	8b 55 f4             	mov    -0xc(%ebp),%edx
408057:	83 c2 38             	add    $0x38,%edx
40805a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40805d:	89 55 f4             	mov    %edx,-0xc(%ebp)
408060:	3b 48 1c             	cmp    0x1c(%eax),%ecx
408063:	0f 82 77 fe ff ff    	jb     0x407ee0
408069:	eb 54                	jmp    0x4080bf
40806b:	68 28 d0 44 00       	push   $0x44d028
408070:	eb 42                	jmp    0x4080b4
408072:	68 54 d0 44 00       	push   $0x44d054
408077:	eb 3b                	jmp    0x4080b4
408079:	be 57 00 07 80       	mov    $0x80070057,%esi
40807e:	68 b0 d0 44 00       	push   $0x44d0b0
408083:	eb 2f                	jmp    0x4080b4
408085:	68 84 d0 44 00       	push   $0x44d084
40808a:	eb 28                	jmp    0x4080b4
40808c:	68 6c d0 44 00       	push   $0x44d06c
408091:	eb 21                	jmp    0x4080b4
408093:	68 10 d0 44 00       	push   $0x44d010
408098:	eb 1a                	jmp    0x4080b4
40809a:	68 cc d0 44 00       	push   $0x44d0cc
40809f:	eb 13                	jmp    0x4080b4
4080a1:	68 e8 cf 44 00       	push   $0x44cfe8
4080a6:	eb 0c                	jmp    0x4080b4
4080a8:	68 c8 cf 44 00       	push   $0x44cfc8
4080ad:	eb 05                	jmp    0x4080b4
4080af:	68 a8 cf 44 00       	push   $0x44cfa8
4080b4:	56                   	push   %esi
4080b5:	e8 75 80 03 00       	call   0x44012f
4080ba:	8b 45 08             	mov    0x8(%ebp),%eax
4080bd:	59                   	pop    %ecx
4080be:	59                   	pop    %ecx
4080bf:	5f                   	pop    %edi
4080c0:	50                   	push   %eax
4080c1:	ff 15 b8 b1 44 00    	call   *0x44b1b8
4080c7:	6a 08                	push   $0x8
4080c9:	5a                   	pop    %edx
4080ca:	8b ca                	mov    %edx,%ecx
4080cc:	8d 45 ec             	lea    -0x14(%ebp),%eax
4080cf:	c6 00 00             	movb   $0x0,(%eax)
4080d2:	40                   	inc    %eax
4080d3:	83 e9 01             	sub    $0x1,%ecx
4080d6:	75 f7                	jne    0x4080cf
4080d8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4080db:	c6 00 00             	movb   $0x0,(%eax)
4080de:	40                   	inc    %eax
4080df:	83 ea 01             	sub    $0x1,%edx
4080e2:	75 f7                	jne    0x4080db
4080e4:	ff 75 fc             	push   -0x4(%ebp)
4080e7:	e8 a7 a6 ff ff       	call   0x402793
4080ec:	8b c6                	mov    %esi,%eax
4080ee:	5e                   	pop    %esi
4080ef:	5b                   	pop    %ebx
4080f0:	8b e5                	mov    %ebp,%esp
4080f2:	5d                   	pop    %ebp
4080f3:	c2 10 00             	ret    $0x10
4080f6:	55                   	push   %ebp
4080f7:	8b ec                	mov    %esp,%ebp
4080f9:	83 ec 18             	sub    $0x18,%esp
4080fc:	57                   	push   %edi
4080fd:	6a 06                	push   $0x6
4080ff:	59                   	pop    %ecx
408100:	33 c0                	xor    %eax,%eax
408102:	8d 7d e8             	lea    -0x18(%ebp),%edi
408105:	f3 ab                	rep stos %eax,%es:(%edi)
408107:	8b 45 10             	mov    0x10(%ebp),%eax
40810a:	89 45 e8             	mov    %eax,-0x18(%ebp)
40810d:	33 c0                	xor    %eax,%eax
40810f:	39 45 14             	cmp    %eax,0x14(%ebp)
408112:	6a 01                	push   $0x1
408114:	0f 95 c0             	setne  %al
408117:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
40811e:	50                   	push   %eax
40811f:	6a 01                	push   $0x1
408121:	8d 45 e8             	lea    -0x18(%ebp),%eax
408124:	50                   	push   %eax
408125:	ff 75 0c             	push   0xc(%ebp)
408128:	ff 75 08             	push   0x8(%ebp)
40812b:	e8 2d eb ff ff       	call   0x406c5d
408130:	5f                   	pop    %edi
408131:	8b e5                	mov    %ebp,%esp
408133:	5d                   	pop    %ebp
408134:	c2 10 00             	ret    $0x10
408137:	55                   	push   %ebp
408138:	8b ec                	mov    %esp,%ebp
40813a:	6a 01                	push   $0x1
40813c:	6a 00                	push   $0x0
40813e:	6a 01                	push   $0x1
408140:	ff 75 10             	push   0x10(%ebp)
408143:	ff 75 0c             	push   0xc(%ebp)
408146:	ff 75 08             	push   0x8(%ebp)
408149:	e8 0f eb ff ff       	call   0x406c5d
40814e:	5d                   	pop    %ebp
40814f:	c2 0c 00             	ret    $0xc
408152:	55                   	push   %ebp
408153:	8b ec                	mov    %esp,%ebp
408155:	83 ec 18             	sub    $0x18,%esp
408158:	57                   	push   %edi
408159:	6a 06                	push   $0x6
40815b:	33 c0                	xor    %eax,%eax
40815d:	8d 7d e8             	lea    -0x18(%ebp),%edi
408160:	59                   	pop    %ecx
408161:	f3 ab                	rep stos %eax,%es:(%edi)
408163:	8b 45 10             	mov    0x10(%ebp),%eax
408166:	89 45 e8             	mov    %eax,-0x18(%ebp)
408169:	8b 45 14             	mov    0x14(%ebp),%eax
40816c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40816f:	33 c0                	xor    %eax,%eax
408171:	40                   	inc    %eax
408172:	50                   	push   %eax
408173:	89 45 f8             	mov    %eax,-0x8(%ebp)
408176:	33 c0                	xor    %eax,%eax
408178:	39 45 18             	cmp    %eax,0x18(%ebp)
40817b:	0f 95 c0             	setne  %al
40817e:	50                   	push   %eax
40817f:	6a 00                	push   $0x0
408181:	8d 45 e8             	lea    -0x18(%ebp),%eax
408184:	50                   	push   %eax
408185:	ff 75 0c             	push   0xc(%ebp)
408188:	ff 75 08             	push   0x8(%ebp)
40818b:	e8 cd ea ff ff       	call   0x406c5d
408190:	5f                   	pop    %edi
408191:	8b e5                	mov    %ebp,%esp
408193:	5d                   	pop    %ebp
408194:	c2 14 00             	ret    $0x14
408197:	55                   	push   %ebp
408198:	8b ec                	mov    %esp,%ebp
40819a:	83 ec 18             	sub    $0x18,%esp
40819d:	57                   	push   %edi
40819e:	6a 06                	push   $0x6
4081a0:	59                   	pop    %ecx
4081a1:	33 c0                	xor    %eax,%eax
4081a3:	8d 7d e8             	lea    -0x18(%ebp),%edi
4081a6:	f3 ab                	rep stos %eax,%es:(%edi)
4081a8:	8b 45 10             	mov    0x10(%ebp),%eax
4081ab:	89 45 e8             	mov    %eax,-0x18(%ebp)
4081ae:	33 c0                	xor    %eax,%eax
4081b0:	39 45 14             	cmp    %eax,0x14(%ebp)
4081b3:	6a 01                	push   $0x1
4081b5:	0f 95 c0             	setne  %al
4081b8:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4081bf:	50                   	push   %eax
4081c0:	6a 00                	push   $0x0
4081c2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4081c5:	50                   	push   %eax
4081c6:	ff 75 0c             	push   0xc(%ebp)
4081c9:	ff 75 08             	push   0x8(%ebp)
4081cc:	e8 8c ea ff ff       	call   0x406c5d
4081d1:	5f                   	pop    %edi
4081d2:	8b e5                	mov    %ebp,%esp
4081d4:	5d                   	pop    %ebp
4081d5:	c2 10 00             	ret    $0x10
4081d8:	55                   	push   %ebp
4081d9:	8b ec                	mov    %esp,%ebp
4081db:	83 ec 18             	sub    $0x18,%esp
4081de:	57                   	push   %edi
4081df:	6a 06                	push   $0x6
4081e1:	59                   	pop    %ecx
4081e2:	33 c0                	xor    %eax,%eax
4081e4:	8d 7d e8             	lea    -0x18(%ebp),%edi
4081e7:	f3 ab                	rep stos %eax,%es:(%edi)
4081e9:	8b 45 10             	mov    0x10(%ebp),%eax
4081ec:	89 45 e8             	mov    %eax,-0x18(%ebp)
4081ef:	8b 45 14             	mov    0x14(%ebp),%eax
4081f2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4081f5:	33 c0                	xor    %eax,%eax
4081f7:	39 45 18             	cmp    %eax,0x18(%ebp)
4081fa:	6a 01                	push   $0x1
4081fc:	0f 95 c0             	setne  %al
4081ff:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
408206:	50                   	push   %eax
408207:	6a 00                	push   $0x0
408209:	8d 45 e8             	lea    -0x18(%ebp),%eax
40820c:	50                   	push   %eax
40820d:	ff 75 0c             	push   0xc(%ebp)
408210:	ff 75 08             	push   0x8(%ebp)
408213:	e8 45 ea ff ff       	call   0x406c5d
408218:	5f                   	pop    %edi
408219:	8b e5                	mov    %ebp,%esp
40821b:	5d                   	pop    %ebp
40821c:	c2 14 00             	ret    $0x14
40821f:	55                   	push   %ebp
408220:	8b ec                	mov    %esp,%ebp
408222:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408226:	ff 75 10             	push   0x10(%ebp)
408229:	ff 75 0c             	push   0xc(%ebp)
40822c:	74 07                	je     0x408235
40822e:	e8 5e 9f ff ff       	call   0x402191
408233:	eb 05                	jmp    0x40823a
408235:	e8 a4 9c ff ff       	call   0x401ede
40823a:	5d                   	pop    %ebp
40823b:	c2 0c 00             	ret    $0xc
40823e:	55                   	push   %ebp
40823f:	8b ec                	mov    %esp,%ebp
408241:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408245:	ff 75 14             	push   0x14(%ebp)
408248:	ff 75 10             	push   0x10(%ebp)
40824b:	ff 75 0c             	push   0xc(%ebp)
40824e:	74 07                	je     0x408257
408250:	e8 b4 9c ff ff       	call   0x401f09
408255:	eb 05                	jmp    0x40825c
408257:	e8 96 9c ff ff       	call   0x401ef2
40825c:	5d                   	pop    %ebp
40825d:	c2 10 00             	ret    $0x10
408260:	55                   	push   %ebp
408261:	8b ec                	mov    %esp,%ebp
408263:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408267:	8d 45 14             	lea    0x14(%ebp),%eax
40826a:	50                   	push   %eax
40826b:	ff 75 10             	push   0x10(%ebp)
40826e:	ff 75 0c             	push   0xc(%ebp)
408271:	74 07                	je     0x40827a
408273:	e8 d3 9c ff ff       	call   0x401f4b
408278:	5d                   	pop    %ebp
408279:	c3                   	ret
40827a:	e8 b5 9c ff ff       	call   0x401f34
40827f:	5d                   	pop    %ebp
408280:	c3                   	ret
408281:	55                   	push   %ebp
408282:	8b ec                	mov    %esp,%ebp
408284:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408288:	ff 75 14             	push   0x14(%ebp)
40828b:	ff 75 10             	push   0x10(%ebp)
40828e:	ff 75 0c             	push   0xc(%ebp)
408291:	74 07                	je     0x40829a
408293:	e8 61 a0 ff ff       	call   0x4022f9
408298:	eb 05                	jmp    0x40829f
40829a:	e8 06 9f ff ff       	call   0x4021a5
40829f:	5d                   	pop    %ebp
4082a0:	c2 10 00             	ret    $0x10
4082a3:	55                   	push   %ebp
4082a4:	8b ec                	mov    %esp,%ebp
4082a6:	51                   	push   %ecx
4082a7:	53                   	push   %ebx
4082a8:	56                   	push   %esi
4082a9:	8b 75 08             	mov    0x8(%ebp),%esi
4082ac:	33 c0                	xor    %eax,%eax
4082ae:	33 db                	xor    %ebx,%ebx
4082b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4082b3:	39 46 1c             	cmp    %eax,0x1c(%esi)
4082b6:	0f 86 83 00 00 00    	jbe    0x40833f
4082bc:	33 c9                	xor    %ecx,%ecx
4082be:	89 4d 08             	mov    %ecx,0x8(%ebp)
4082c1:	57                   	push   %edi
4082c2:	8b 7e 20             	mov    0x20(%esi),%edi
4082c5:	03 f9                	add    %ecx,%edi
4082c7:	74 69                	je     0x408332
4082c9:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4082cd:	74 63                	je     0x408332
4082cf:	ff 37                	push   (%edi)
4082d1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4082d4:	ff 37                	push   (%edi)
4082d6:	68 44 cd 44 00       	push   $0x44cd44
4082db:	50                   	push   %eax
4082dc:	e8 3f 9c ff ff       	call   0x401f20
4082e1:	83 c4 10             	add    $0x10,%esp
4082e4:	85 c0                	test   %eax,%eax
4082e6:	78 44                	js     0x40832c
4082e8:	33 c0                	xor    %eax,%eax
4082ea:	39 47 20             	cmp    %eax,0x20(%edi)
4082ed:	74 04                	je     0x4082f3
4082ef:	6a 01                	push   $0x1
4082f1:	eb 01                	jmp    0x4082f4
4082f3:	50                   	push   %eax
4082f4:	50                   	push   %eax
4082f5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4082f8:	50                   	push   %eax
4082f9:	ff 75 fc             	push   -0x4(%ebp)
4082fc:	56                   	push   %esi
4082fd:	e8 7b d3 ff ff       	call   0x40567d
408302:	85 c0                	test   %eax,%eax
408304:	78 26                	js     0x40832c
408306:	ff 75 fc             	push   -0x4(%ebp)
408309:	68 9a 01 00 20       	push   $0x2000019a
40830e:	6a 03                	push   $0x3
408310:	e8 fa d1 ff ff       	call   0x40550f
408315:	8b 45 fc             	mov    -0x4(%ebp),%eax
408318:	83 c4 0c             	add    $0xc,%esp