4080ca:	83 ec 50             	sub    $0x50,%esp
4080cd:	56                   	push   %esi
4080ce:	57                   	push   %edi
4080cf:	8b 3d 1c 26 43 00    	mov    0x43261c,%edi
4080d5:	8b f1                	mov    %ecx,%esi
4080d7:	85 ff                	test   %edi,%edi
4080d9:	74 0b                	je     0x4080e6
4080db:	56                   	push   %esi
4080dc:	8b cf                	mov    %edi,%ecx
4080de:	ff 15 18 34 43 00    	call   *0x433418
4080e4:	ff d7                	call   *%edi
4080e6:	6a 50                	push   $0x50
4080e8:	8d 45 b0             	lea    -0x50(%ebp),%eax
4080eb:	6a 00                	push   $0x0
4080ed:	50                   	push   %eax
4080ee:	e8 14 8a 00 00       	call   0x410b07
4080f3:	8b 4e 48             	mov    0x48(%esi),%ecx
4080f6:	33 c0                	xor    %eax,%eax
4080f8:	40                   	inc    %eax
4080f9:	c7 45 b0 09 04 00 c0 	movl   $0xc0000409,-0x50(%ebp)
408100:	83 c4 0c             	add    $0xc,%esp
408103:	89 45 c0             	mov    %eax,-0x40(%ebp)
408106:	89 45 b4             	mov    %eax,-0x4c(%ebp)
408109:	c7 45 c4 07 00 00 00 	movl   $0x7,-0x3c(%ebp)
408110:	85 c9                	test   %ecx,%ecx
408112:	75 09                	jne    0x40811d
408114:	50                   	push   %eax
408115:	8d 4d b0             	lea    -0x50(%ebp),%ecx
408118:	e8 fc fa ff ff       	call   0x407c19
40811d:	8b 46 04             	mov    0x4(%esi),%eax
408120:	89 45 c8             	mov    %eax,-0x38(%ebp)
408123:	8b 46 20             	mov    0x20(%esi),%eax
408126:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
40812d:	89 45 cc             	mov    %eax,-0x34(%ebp)
408130:	89 4d bc             	mov    %ecx,-0x44(%ebp)
408133:	6a 00                	push   $0x0
408135:	eb de                	jmp    0x408115
408137:	8b ff                	mov    %edi,%edi
408139:	55                   	push   %ebp
40813a:	8b ec                	mov    %esp,%ebp
40813c:	83 e4 f8             	and    $0xfffffff8,%esp
40813f:	b8 64 14 00 00       	mov    $0x1464,%eax
408144:	e8 87 89 00 00       	call   0x410ad0
408149:	a1 64 10 41 00       	mov    0x411064,%eax
40814e:	33 c4                	xor    %esp,%eax
408150:	89 84 24 60 14 00 00 	mov    %eax,0x1460(%esp)
408157:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40815b:	8b 45 08             	mov    0x8(%ebp),%eax
40815e:	53                   	push   %ebx
40815f:	8b 5d 10             	mov    0x10(%ebp),%ebx
408162:	56                   	push   %esi
408163:	89 5c 24 10          	mov    %ebx,0x10(%esp)
408167:	8b 5d 14             	mov    0x14(%ebp),%ebx
40816a:	57                   	push   %edi
40816b:	8b 7d 0c             	mov    0xc(%ebp),%edi
40816e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
408172:	75 0d                	jne    0x408181
408174:	83 3d f0 25 43 00 00 	cmpl   $0x0,0x4325f0
40817b:	74 04                	je     0x408181
40817d:	b3 01                	mov    $0x1,%bl
40817f:	eb 02                	jmp    0x408183
408181:	32 db                	xor    %bl,%bl
408183:	8d 74 24 18          	lea    0x18(%esp),%esi
408187:	56                   	push   %esi
408188:	51                   	push   %ecx
408189:	8d 74 24 70          	lea    0x70(%esp),%esi
40818d:	56                   	push   %esi
40818e:	51                   	push   %ecx
40818f:	8d b4 24 78 04 00 00 	lea    0x478(%esp),%esi
408196:	56                   	push   %esi
408197:	8b 75 18             	mov    0x18(%ebp),%esi
40819a:	51                   	push   %ecx
40819b:	6a 00                	push   $0x0
40819d:	ff 75 1c             	push   0x1c(%ebp)
4081a0:	56                   	push   %esi
4081a1:	ff 74 24 34          	push   0x34(%esp)
4081a5:	ff 74 24 3c          	push   0x3c(%esp)
4081a9:	57                   	push   %edi
4081aa:	50                   	push   %eax
4081ab:	e8 f6 fc ff ff       	call   0x407ea6
4081b0:	83 fe 03             	cmp    $0x3,%esi
4081b3:	74 4b                	je     0x408200
4081b5:	85 f6                	test   %esi,%esi
4081b7:	75 30                	jne    0x4081e9
4081b9:	84 db                	test   %bl,%bl
4081bb:	74 1d                	je     0x4081da
4081bd:	8b 35 f0 25 43 00    	mov    0x4325f0,%esi
4081c3:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
4081ca:	50                   	push   %eax
4081cb:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4081cf:	8b ce                	mov    %esi,%ecx
4081d1:	50                   	push   %eax
4081d2:	ff 15 18 34 43 00    	call   *0x433418
4081d8:	ff d6                	call   *%esi
4081da:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4081de:	e8 a9 fc ff ff       	call   0x407e8c
4081e3:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4081e7:	eb 1b                	jmp    0x408204
4081e9:	8b 8c 24 6c 14 00 00 	mov    0x146c(%esp),%ecx
4081f0:	5f                   	pop    %edi
4081f1:	5e                   	pop    %esi
4081f2:	5b                   	pop    %ebx
4081f3:	33 cc                	xor    %esp,%ecx
4081f5:	e8 36 82 00 00       	call   0x410430
4081fa:	8b e5                	mov    %ebp,%esp
4081fc:	5d                   	pop    %ebp
4081fd:	c2 20 00             	ret    $0x20
408200:	8d 4c 24 18          	lea    0x18(%esp),%ecx
408204:	e8 bc fe ff ff       	call   0x4080c5
408209:	cc                   	int3
40820a:	8b ff                	mov    %edi,%edi
40820c:	55                   	push   %ebp
40820d:	8b ec                	mov    %esp,%ebp
40820f:	83 e4 f8             	and    $0xfffffff8,%esp
408212:	51                   	push   %ecx
408213:	51                   	push   %ecx
408214:	ff 75 1c             	push   0x1c(%ebp)
408217:	ff 75 18             	push   0x18(%ebp)
40821a:	ff 75 14             	push   0x14(%ebp)
40821d:	ff 75 10             	push   0x10(%ebp)
408220:	ff 75 0c             	push   0xc(%ebp)
408223:	ff 75 08             	push   0x8(%ebp)
408226:	e8 0c ff ff ff       	call   0x408137
40822b:	8b e5                	mov    %ebp,%esp
40822d:	5d                   	pop    %ebp
40822e:	c2 18 00             	ret    $0x18
408231:	8b ff                	mov    %edi,%edi
408233:	55                   	push   %ebp
408234:	8b ec                	mov    %esp,%ebp
408236:	53                   	push   %ebx
408237:	56                   	push   %esi
408238:	57                   	push   %edi
408239:	ff 75 14             	push   0x14(%ebp)
40823c:	8b fa                	mov    %edx,%edi
40823e:	8b d9                	mov    %ecx,%ebx
408240:	51                   	push   %ecx
408241:	51                   	push   %ecx
408242:	68 a0 16 40 00       	push   $0x4016a0
408247:	e8 f7 f9 ff ff       	call   0x407c43
40824c:	8b f0                	mov    %eax,%esi
40824e:	85 f6                	test   %esi,%esi
408250:	7f 04                	jg     0x408256
408252:	8b ce                	mov    %esi,%ecx
408254:	eb 09                	jmp    0x40825f
408256:	0f b7 ce             	movzwl %si,%ecx
408259:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
40825f:	51                   	push   %ecx
408260:	51                   	push   %ecx
408261:	51                   	push   %ecx
408262:	6a 03                	push   $0x3
408264:	ff 75 14             	push   0x14(%ebp)
408267:	8b d7                	mov    %edi,%edx
408269:	8b cb                	mov    %ebx,%ecx
40826b:	6a 00                	push   $0x0
40826d:	6a 00                	push   $0x0
40826f:	68 a0 16 40 00       	push   $0x4016a0
408274:	e8 be fe ff ff       	call   0x408137
408279:	5f                   	pop    %edi
40827a:	8b c6                	mov    %esi,%eax
40827c:	5e                   	pop    %esi
40827d:	5b                   	pop    %ebx
40827e:	5d                   	pop    %ebp
40827f:	c2 14 00             	ret    $0x14
408282:	8b ff                	mov    %edi,%edi
408284:	55                   	push   %ebp
408285:	8b ec                	mov    %esp,%ebp
408287:	53                   	push   %ebx
408288:	56                   	push   %esi
408289:	57                   	push   %edi
40828a:	ff 75 14             	push   0x14(%ebp)
40828d:	8b fa                	mov    %edx,%edi
40828f:	8b d9                	mov    %ecx,%ebx
408291:	51                   	push   %ecx
408292:	51                   	push   %ecx
408293:	68 9c 16 40 00       	push   $0x40169c
408298:	e8 a6 f9 ff ff       	call   0x407c43
40829d:	8b f0                	mov    %eax,%esi
40829f:	85 f6                	test   %esi,%esi
4082a1:	7e 09                	jle    0x4082ac
4082a3:	0f b7 f6             	movzwl %si,%esi
4082a6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4082ac:	51                   	push   %ecx
4082ad:	51                   	push   %ecx
4082ae:	56                   	push   %esi
4082af:	6a 01                	push   $0x1
4082b1:	ff 75 14             	push   0x14(%ebp)
4082b4:	8b d7                	mov    %edi,%edx
4082b6:	8b cb                	mov    %ebx,%ecx
4082b8:	6a 00                	push   $0x0
4082ba:	6a 00                	push   $0x0
4082bc:	68 9c 16 40 00       	push   $0x40169c
4082c1:	e8 71 fe ff ff       	call   0x408137
4082c6:	5f                   	pop    %edi
4082c7:	8b c6                	mov    %esi,%eax
4082c9:	5e                   	pop    %esi
4082ca:	5b                   	pop    %ebx
4082cb:	5d                   	pop    %ebp
4082cc:	c2 14 00             	ret    $0x14
4082cf:	8b ff                	mov    %edi,%edi
4082d1:	55                   	push   %ebp
4082d2:	8b ec                	mov    %esp,%ebp
4082d4:	ff 75 0c             	push   0xc(%ebp)
4082d7:	6a 01                	push   $0x1
4082d9:	ff 75 04             	push   0x4(%ebp)
4082dc:	6a 00                	push   $0x0
4082de:	6a 00                	push   $0x0
4082e0:	68 9c 16 40 00       	push   $0x40169c
4082e5:	e8 20 ff ff ff       	call   0x40820a
4082ea:	5d                   	pop    %ebp
4082eb:	c2 08 00             	ret    $0x8
4082ee:	8b ff                	mov    %edi,%edi
4082f0:	55                   	push   %ebp
4082f1:	8b ec                	mov    %esp,%ebp
4082f3:	51                   	push   %ecx
4082f4:	51                   	push   %ecx
4082f5:	ff 75 04             	push   0x4(%ebp)
4082f8:	83 ec 0c             	sub    $0xc,%esp
4082fb:	e8 82 ff ff ff       	call   0x408282
408300:	59                   	pop    %ecx
408301:	5d                   	pop    %ebp
408302:	c2 04 00             	ret    $0x4
408305:	8b ff                	mov    %edi,%edi
408307:	55                   	push   %ebp
408308:	8b ec                	mov    %esp,%ebp
40830a:	ff 75 0c             	push   0xc(%ebp)
40830d:	ba b0 03 00 00       	mov    $0x3b0,%edx
408312:	6a 02                	push   $0x2
408314:	ff 75 04             	push   0x4(%ebp)
408317:	6a 00                	push   $0x0
408319:	6a 00                	push   $0x0
40831b:	68 e0 16 40 00       	push   $0x4016e0
408320:	e8 e5 fe ff ff       	call   0x40820a
408325:	8b 45 0c             	mov    0xc(%ebp),%eax
408328:	5d                   	pop    %ebp
408329:	c2 08 00             	ret    $0x8
40832c:	8b ff                	mov    %edi,%edi
40832e:	55                   	push   %ebp
40832f:	8b ec                	mov    %esp,%ebp
408331:	ff 75 0c             	push   0xc(%ebp)
408334:	ba 2e 01 00 00       	mov    $0x12e,%edx
408339:	6a 02                	push   $0x2
40833b:	ff 75 04             	push   0x4(%ebp)
40833e:	6a 00                	push   $0x0
408340:	6a 00                	push   $0x0
408342:	68 4c 17 40 00       	push   $0x40174c
408347:	e8 be fe ff ff       	call   0x40820a
40834c:	5d                   	pop    %ebp
40834d:	c2 08 00             	ret    $0x8
408350:	8b ff                	mov    %edi,%edi
408352:	55                   	push   %ebp
408353:	8b ec                	mov    %esp,%ebp
408355:	51                   	push   %ecx
408356:	ff 75 04             	push   0x4(%ebp)
408359:	83 ec 0c             	sub    $0xc,%esp
40835c:	e8 d0 fe ff ff       	call   0x408231
408361:	5d                   	pop    %ebp
408362:	c2 04 00             	ret    $0x4
408365:	8b ff                	mov    %edi,%edi
408367:	55                   	push   %ebp
408368:	8b ec                	mov    %esp,%ebp
40836a:	68 ff ff 00 80       	push   $0x8000ffff
40836f:	6a 03                	push   $0x3
408371:	ff 75 04             	push   0x4(%ebp)
408374:	ba 4c 0b 00 00       	mov    $0xb4c,%edx
408379:	6a 00                	push   $0x0
40837b:	6a 00                	push   $0x0
40837d:	68 a0 16 40 00       	push   $0x4016a0
408382:	e8 83 fe ff ff       	call   0x40820a
408387:	5d                   	pop    %ebp
408388:	c2 04 00             	ret    $0x4
40838b:	6a 07                	push   $0x7
40838d:	59                   	pop    %ecx
40838e:	cd 29                	int    $0x29
408390:	c3                   	ret
408391:	8b ff                	mov    %edi,%edi
408393:	55                   	push   %ebp
408394:	8b ec                	mov    %esp,%ebp
408396:	ff 75 08             	push   0x8(%ebp)
408399:	ff 15 74 31 43 00    	call   *0x433174
40839f:	85 c0                	test   %eax,%eax
4083a1:	74 04                	je     0x4083a7
4083a3:	5d                   	pop    %ebp
4083a4:	c2 04 00             	ret    $0x4
4083a7:	51                   	push   %ecx
4083a8:	8b 4d 04             	mov    0x4(%ebp),%ecx
4083ab:	ba 26 09 00 00       	mov    $0x926,%edx
4083b0:	e8 9b ff ff ff       	call   0x408350
4083b5:	cc                   	int3
4083b6:	8b ff                	mov    %edi,%edi
4083b8:	55                   	push   %ebp
4083b9:	8b ec                	mov    %esp,%ebp
4083bb:	ff 75 08             	push   0x8(%ebp)
4083be:	ff 15 d4 31 43 00    	call   *0x4331d4
4083c4:	85 c0                	test   %eax,%eax
4083c6:	74 04                	je     0x4083cc
4083c8:	5d                   	pop    %ebp
4083c9:	c2 04 00             	ret    $0x4
4083cc:	51                   	push   %ecx
4083cd:	8b 4d 04             	mov    0x4(%ebp),%ecx
4083d0:	ba 30 09 00 00       	mov    $0x930,%edx
4083d5:	e8 76 ff ff ff       	call   0x408350
4083da:	cc                   	int3
4083db:	8b ff                	mov    %edi,%edi
4083dd:	55                   	push   %ebp
4083de:	8b ec                	mov    %esp,%ebp
4083e0:	81 ec 14 02 00 00    	sub    $0x214,%esp
4083e6:	a1 64 10 41 00       	mov    0x411064,%eax
4083eb:	33 c5                	xor    %ebp,%eax
4083ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4083f0:	53                   	push   %ebx
4083f1:	56                   	push   %esi
4083f2:	57                   	push   %edi
4083f3:	8b 7d 10             	mov    0x10(%ebp),%edi
4083f6:	8b d9                	mov    %ecx,%ebx
4083f8:	8b c7                	mov    %edi,%eax
4083fa:	25 00 00 00 80       	and    $0x80000000,%eax
4083ff:	0b 45 14             	or     0x14(%ebp),%eax
408402:	0f 85 8d 00 00 00    	jne    0x408495
408408:	ff 75 08             	push   0x8(%ebp)
40840b:	be 04 01 00 00       	mov    $0x104,%esi
408410:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
408416:	8b d6                	mov    %esi,%edx
408418:	e8 42 b6 ff ff       	call   0x403a5f
40841d:	68 d8 16 40 00       	push   $0x4016d8
408422:	8b d6                	mov    %esi,%edx
408424:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40842a:	e8 0b b5 ff ff       	call   0x40393a
40842f:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
408435:	76 04                	jbe    0x40843b
408437:	8b c7                	mov    %edi,%eax
408439:	eb 03                	jmp    0x40843e
40843b:	33 c0                	xor    %eax,%eax
40843d:	40                   	inc    %eax
40843e:	68 03 00 1f 00       	push   $0x1f0003
408443:	33 f6                	xor    %esi,%esi
408445:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40844b:	56                   	push   %esi
40844c:	51                   	push   %ecx
40844d:	50                   	push   %eax
40844e:	57                   	push   %edi
40844f:	56                   	push   %esi
408450:	ff 15 fc 30 43 00    	call   *0x4330fc
408456:	85 c0                	test   %eax,%eax
408458:	74 0a                	je     0x408464
40845a:	50                   	push   %eax
40845b:	8b cb                	mov    %ebx,%ecx
40845d:	e8 2b 6e 00 00       	call   0x40f28d
408462:	eb 07                	jmp    0x40846b
408464:	e8 12 f8 ff ff       	call   0x407c7b
408469:	8b f0                	mov    %eax,%esi