4041c5:	2b c1                	sub    %ecx,%eax
4041c7:	83 f8 01             	cmp    $0x1,%eax
4041ca:	72 38                	jb     0x404204
4041cc:	8d 41 01             	lea    0x1(%ecx),%eax
4041cf:	83 fa 10             	cmp    $0x10,%edx
4041d2:	8d 75 d8             	lea    -0x28(%ebp),%esi
4041d5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4041d8:	0f 43 75 d8          	cmovae -0x28(%ebp),%esi
4041dc:	2b cf                	sub    %edi,%ecx
4041de:	03 f7                	add    %edi,%esi
4041e0:	41                   	inc    %ecx
4041e1:	51                   	push   %ecx
4041e2:	56                   	push   %esi
4041e3:	8d 46 01             	lea    0x1(%esi),%eax
4041e6:	50                   	push   %eax
4041e7:	e8 84 47 00 00       	call   0x408970
4041ec:	0f be 4d a8          	movsbl -0x58(%ebp),%ecx
4041f0:	83 c4 0c             	add    $0xc,%esp
4041f3:	0f b6 c1             	movzbl %cl,%eax
4041f6:	66 c1 e1 08          	shl    $0x8,%cx
4041fa:	66 0b c8             	or     %ax,%cx
4041fd:	88 0e                	mov    %cl,(%esi)
4041ff:	8b 75 bc             	mov    -0x44(%ebp),%esi
404202:	eb 17                	jmp    0x40421b
404204:	ff 75 a8             	push   -0x58(%ebp)
404207:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
40420b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40420e:	6a 01                	push   $0x1
404210:	57                   	push   %edi
404211:	ff 75 a4             	push   -0x5c(%ebp)
404214:	6a 01                	push   $0x1
404216:	e8 a5 0e 00 00       	call   0x4050c0
40421b:	80 7b 01 00          	cmpb   $0x0,0x1(%ebx)
40421f:	8d 43 01             	lea    0x1(%ebx),%eax
404222:	0f 4f d8             	cmovg  %eax,%ebx
404225:	8a 03                	mov    (%ebx),%al
404227:	3c 7f                	cmp    $0x7f,%al
404229:	0f 85 71 ff ff ff    	jne    0x4041a0
40422f:	8b 4d ac             	mov    -0x54(%ebp),%ecx
404232:	8b 45 e8             	mov    -0x18(%ebp),%eax
404235:	89 45 bc             	mov    %eax,-0x44(%ebp)
404238:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
40423c:	8b 79 20             	mov    0x20(%ecx),%edi
40423f:	7c 0e                	jl     0x40424f
404241:	7f 04                	jg     0x404247
404243:	85 ff                	test   %edi,%edi
404245:	74 08                	je     0x40424f
404247:	3b f8                	cmp    %eax,%edi
404249:	76 04                	jbe    0x40424f
40424b:	2b f8                	sub    %eax,%edi
40424d:	eb 02                	jmp    0x404251
40424f:	33 ff                	xor    %edi,%edi
404251:	8b 41 14             	mov    0x14(%ecx),%eax
404254:	8b 5d 08             	mov    0x8(%ebp),%ebx
404257:	25 c0 01 00 00       	and    $0x1c0,%eax
40425c:	83 f8 40             	cmp    $0x40,%eax
40425f:	0f 84 85 00 00 00    	je     0x4042ea
404265:	3d 00 01 00 00       	cmp    $0x100,%eax
40426a:	74 3f                	je     0x4042ab
40426c:	57                   	push   %edi
40426d:	ff 75 1c             	push   0x1c(%ebp)
404270:	8d 45 a0             	lea    -0x60(%ebp),%eax
404273:	ff 75 14             	push   0x14(%ebp)
404276:	ff 75 10             	push   0x10(%ebp)
404279:	50                   	push   %eax
40427a:	53                   	push   %ebx
40427b:	e8 b0 f7 ff ff       	call   0x403a30
404280:	33 ff                	xor    %edi,%edi
404282:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
404286:	56                   	push   %esi
404287:	8b 10                	mov    (%eax),%edx
404289:	8b 48 04             	mov    0x4(%eax),%ecx
40428c:	8d 45 d8             	lea    -0x28(%ebp),%eax
40428f:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
404293:	50                   	push   %eax
404294:	51                   	push   %ecx
404295:	52                   	push   %edx
404296:	8d 45 a0             	lea    -0x60(%ebp),%eax
404299:	89 55 10             	mov    %edx,0x10(%ebp)
40429c:	50                   	push   %eax
40429d:	53                   	push   %ebx
40429e:	89 4d 14             	mov    %ecx,0x14(%ebp)
4042a1:	e8 fa f7 ff ff       	call   0x403aa0
4042a6:	83 c4 30             	add    $0x30,%esp
4042a9:	eb 5f                	jmp    0x40430a
4042ab:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4042af:	8d 45 d8             	lea    -0x28(%ebp),%eax
4042b2:	56                   	push   %esi
4042b3:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4042b7:	50                   	push   %eax
4042b8:	ff 75 14             	push   0x14(%ebp)
4042bb:	8d 45 a0             	lea    -0x60(%ebp),%eax
4042be:	ff 75 10             	push   0x10(%ebp)
4042c1:	50                   	push   %eax
4042c2:	53                   	push   %ebx
4042c3:	e8 d8 f7 ff ff       	call   0x403aa0
4042c8:	57                   	push   %edi
4042c9:	ff 75 1c             	push   0x1c(%ebp)
4042cc:	8b 08                	mov    (%eax),%ecx
4042ce:	8b 40 04             	mov    0x4(%eax),%eax
4042d1:	50                   	push   %eax
4042d2:	89 45 14             	mov    %eax,0x14(%ebp)
4042d5:	8d 45 a0             	lea    -0x60(%ebp),%eax
4042d8:	51                   	push   %ecx
4042d9:	50                   	push   %eax
4042da:	53                   	push   %ebx
4042db:	89 4d 10             	mov    %ecx,0x10(%ebp)
4042de:	e8 4d f7 ff ff       	call   0x403a30
4042e3:	83 c4 30             	add    $0x30,%esp
4042e6:	33 ff                	xor    %edi,%edi
4042e8:	eb 20                	jmp    0x40430a
4042ea:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4042ee:	8d 45 d8             	lea    -0x28(%ebp),%eax
4042f1:	56                   	push   %esi
4042f2:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4042f6:	50                   	push   %eax
4042f7:	ff 75 14             	push   0x14(%ebp)
4042fa:	8d 45 a0             	lea    -0x60(%ebp),%eax
4042fd:	ff 75 10             	push   0x10(%ebp)
404300:	50                   	push   %eax
404301:	53                   	push   %ebx
404302:	e8 99 f7 ff ff       	call   0x403aa0
404307:	83 c4 18             	add    $0x18,%esp
40430a:	8b 10                	mov    (%eax),%edx
40430c:	8b 48 04             	mov    0x4(%eax),%ecx
40430f:	8d 45 d8             	lea    -0x28(%ebp),%eax
404312:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
404316:	89 55 10             	mov    %edx,0x10(%ebp)
404319:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40431d:	29 75 bc             	sub    %esi,-0x44(%ebp)
404320:	03 c6                	add    %esi,%eax
404322:	ff 75 bc             	push   -0x44(%ebp)
404325:	89 4d 14             	mov    %ecx,0x14(%ebp)
404328:	50                   	push   %eax
404329:	51                   	push   %ecx
40432a:	52                   	push   %edx
40432b:	8d 45 a0             	lea    -0x60(%ebp),%eax
40432e:	50                   	push   %eax
40432f:	53                   	push   %ebx
404330:	e8 6b f7 ff ff       	call   0x403aa0
404335:	8b 55 ac             	mov    -0x54(%ebp),%edx
404338:	8b 75 94             	mov    -0x6c(%ebp),%esi
40433b:	57                   	push   %edi
40433c:	8b 08                	mov    (%eax),%ecx
40433e:	8b 40 04             	mov    0x4(%eax),%eax
404341:	ff 75 1c             	push   0x1c(%ebp)
404344:	89 4d 10             	mov    %ecx,0x10(%ebp)
404347:	50                   	push   %eax
404348:	51                   	push   %ecx
404349:	56                   	push   %esi
40434a:	53                   	push   %ebx
40434b:	89 45 14             	mov    %eax,0x14(%ebp)
40434e:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
404355:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
40435c:	e8 cf f6 ff ff       	call   0x403a30
404361:	8b 55 d4             	mov    -0x2c(%ebp),%edx
404364:	83 c4 30             	add    $0x30,%esp
404367:	83 fa 10             	cmp    $0x10,%edx
40436a:	72 28                	jb     0x404394
40436c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40436f:	42                   	inc    %edx
404370:	8b c1                	mov    %ecx,%eax
404372:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
404378:	72 10                	jb     0x40438a
40437a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
40437d:	83 c2 23             	add    $0x23,%edx
404380:	2b c1                	sub    %ecx,%eax
404382:	83 c0 fc             	add    $0xfffffffc,%eax
404385:	83 f8 1f             	cmp    $0x1f,%eax
404388:	77 6f                	ja     0x4043f9
40438a:	52                   	push   %edx
40438b:	51                   	push   %ecx
40438c:	e8 bb 32 00 00       	call   0x40764c
404391:	83 c4 08             	add    $0x8,%esp
404394:	8b 55 ec             	mov    -0x14(%ebp),%edx
404397:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40439e:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
4043a5:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
4043a9:	83 fa 10             	cmp    $0x10,%edx
4043ac:	72 28                	jb     0x4043d6
4043ae:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4043b1:	42                   	inc    %edx
4043b2:	8b c1                	mov    %ecx,%eax
4043b4:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4043ba:	72 10                	jb     0x4043cc
4043bc:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4043bf:	83 c2 23             	add    $0x23,%edx
4043c2:	2b c1                	sub    %ecx,%eax
4043c4:	83 c0 fc             	add    $0xfffffffc,%eax
4043c7:	83 f8 1f             	cmp    $0x1f,%eax
4043ca:	77 2d                	ja     0x4043f9
4043cc:	52                   	push   %edx
4043cd:	51                   	push   %ecx
4043ce:	e8 79 32 00 00       	call   0x40764c
4043d3:	83 c4 08             	add    $0x8,%esp
4043d6:	8b c6                	mov    %esi,%eax
4043d8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4043db:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4043e2:	59                   	pop    %ecx
4043e3:	5f                   	pop    %edi
4043e4:	5e                   	pop    %esi
4043e5:	5b                   	pop    %ebx
4043e6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4043e9:	33 cd                	xor    %ebp,%ecx
4043eb:	e8 1c 30 00 00       	call   0x40740c
4043f0:	8b e5                	mov    %ebp,%esp
4043f2:	5d                   	pop    %ebp
4043f3:	c3                   	ret
4043f4:	e8 a7 03 00 00       	call   0x4047a0
4043f9:	e8 93 8c 00 00       	call   0x40d091
4043fe:	cc                   	int3
4043ff:	cc                   	int3
404400:	55                   	push   %ebp
404401:	8b ec                	mov    %esp,%ebp
404403:	8b 55 14             	mov    0x14(%ebp),%edx
404406:	56                   	push   %esi
404407:	8b 75 0c             	mov    0xc(%ebp),%esi
40440a:	c6 06 25             	movb   $0x25,(%esi)
40440d:	8d 46 01             	lea    0x1(%esi),%eax
404410:	f6 c2 20             	test   $0x20,%dl
404413:	74 04                	je     0x404419
404415:	c6 00 2b             	movb   $0x2b,(%eax)
404418:	40                   	inc    %eax
404419:	f6 c2 10             	test   $0x10,%dl
40441c:	74 04                	je     0x404422
40441e:	c6 00 23             	movb   $0x23,(%eax)
404421:	40                   	inc    %eax
404422:	8a 4d 10             	mov    0x10(%ebp),%cl
404425:	66 c7 00 2e 2a       	movw   $0x2a2e,(%eax)
40442a:	83 c0 02             	add    $0x2,%eax
40442d:	84 c9                	test   %cl,%cl
40442f:	74 03                	je     0x404434
404431:	88 08                	mov    %cl,(%eax)
404433:	40                   	inc    %eax
404434:	8b ca                	mov    %edx,%ecx
404436:	81 e1 00 30 00 00    	and    $0x3000,%ecx
40443c:	f6 c2 04             	test   $0x4,%dl
40443f:	74 38                	je     0x404479
404441:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
404447:	74 38                	je     0x404481
404449:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
40444f:	75 0d                	jne    0x40445e
404451:	b1 41                	mov    $0x41,%cl
404453:	88 08                	mov    %cl,(%eax)
404455:	c6 40 01 00          	movb   $0x0,0x1(%eax)
404459:	8b c6                	mov    %esi,%eax
40445b:	5e                   	pop    %esi
40445c:	5d                   	pop    %ebp
40445d:	c3                   	ret
40445e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
404464:	0f 95 c1             	setne  %cl
404467:	8d 0c 4d 45 00 00 00 	lea    0x45(,%ecx,2),%ecx
40446e:	88 08                	mov    %cl,(%eax)
404470:	c6 40 01 00          	movb   $0x0,0x1(%eax)
404474:	8b c6                	mov    %esi,%eax
404476:	5e                   	pop    %esi
404477:	5d                   	pop    %ebp
404478:	c3                   	ret
404479:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
40447f:	75 0d                	jne    0x40448e
404481:	b1 66                	mov    $0x66,%cl
404483:	88 08                	mov    %cl,(%eax)
404485:	c6 40 01 00          	movb   $0x0,0x1(%eax)
404489:	8b c6                	mov    %esi,%eax
40448b:	5e                   	pop    %esi
40448c:	5d                   	pop    %ebp
40448d:	c3                   	ret
40448e:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
404494:	75 0d                	jne    0x4044a3
404496:	b1 61                	mov    $0x61,%cl
404498:	88 08                	mov    %cl,(%eax)
40449a:	c6 40 01 00          	movb   $0x0,0x1(%eax)
40449e:	8b c6                	mov    %esi,%eax
4044a0:	5e                   	pop    %esi
4044a1:	5d                   	pop    %ebp
4044a2:	c3                   	ret
4044a3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4044a9:	0f 95 c1             	setne  %cl
4044ac:	8d 0c 4d 65 00 00 00 	lea    0x65(,%ecx,2),%ecx
4044b3:	88 08                	mov    %cl,(%eax)
4044b5:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4044b9:	8b c6                	mov    %esi,%eax
4044bb:	5e                   	pop    %esi
4044bc:	5d                   	pop    %ebp
4044bd:	c3                   	ret
4044be:	cc                   	int3
4044bf:	cc                   	int3
4044c0:	55                   	push   %ebp
4044c1:	8b ec                	mov    %esp,%ebp
4044c3:	6a ff                	push   $0xffffffff
4044c5:	68 80 2c 42 00       	push   $0x422c80
4044ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4044d0:	50                   	push   %eax
4044d1:	a1 14 30 43 00       	mov    0x433014,%eax
4044d6:	33 c5                	xor    %ebp,%eax
4044d8:	50                   	push   %eax
4044d9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4044dc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4044e2:	8b 09                	mov    (%ecx),%ecx
4044e4:	8b 01                	mov    (%ecx),%eax
4044e6:	8b 40 04             	mov    0x4(%eax),%eax
4044e9:	8b 4c 08 38          	mov    0x38(%eax,%ecx,1),%ecx
4044ed:	85 c9                	test   %ecx,%ecx
4044ef:	74 05                	je     0x4044f6
4044f1:	8b 01                	mov    (%ecx),%eax
4044f3:	ff 50 08             	call   *0x8(%eax)
4044f6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4044f9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404500:	59                   	pop    %ecx
404501:	8b e5                	mov    %ebp,%esp
404503:	5d                   	pop    %ebp
404504:	c3                   	ret
404505:	cc                   	int3
404506:	cc                   	int3
404507:	cc                   	int3
404508:	cc                   	int3
404509:	cc                   	int3
40450a:	cc                   	int3
40450b:	cc                   	int3
40450c:	cc                   	int3
40450d:	cc                   	int3
40450e:	cc                   	int3
40450f:	cc                   	int3
404510:	55                   	push   %ebp
404511:	8b ec                	mov    %esp,%ebp
404513:	6a ff                	push   $0xffffffff
404515:	68 a0 2c 42 00       	push   $0x422ca0
40451a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404520:	50                   	push   %eax
404521:	51                   	push   %ecx
404522:	53                   	push   %ebx
404523:	56                   	push   %esi
404524:	57                   	push   %edi
404525:	a1 14 30 43 00       	mov    0x433014,%eax
40452a:	33 c5                	xor    %ebp,%eax
40452c:	50                   	push   %eax
40452d:	8d 45 f4             	lea    -0xc(%ebp),%eax
404530:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404536:	89 65 f0             	mov    %esp,-0x10(%ebp)
404539:	8b f1                	mov    %ecx,%esi
40453b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
404542:	8b 06                	mov    (%esi),%eax
404544:	8b 40 04             	mov    0x4(%eax),%eax
404547:	83 7c 30 0c 00       	cmpl   $0x0,0xc(%eax,%esi,1)
40454c:	75 2b                	jne    0x404579
40454e:	f6 44 30 14 02       	testb  $0x2,0x14(%eax,%esi,1)
404553:	74 24                	je     0x404579
404555:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
404559:	8b 01                	mov    (%ecx),%eax
40455b:	ff 50 34             	call   *0x34(%eax)