4041e4:	74 15                	je     0x4041fb
4041e6:	ff 75 0c             	push   0xc(%ebp)
4041e9:	e8 36 fb ff ff       	call   0x403d24
4041ee:	2b f8                	sub    %eax,%edi
4041f0:	8b ce                	mov    %esi,%ecx
4041f2:	57                   	push   %edi
4041f3:	56                   	push   %esi
4041f4:	e8 43 ff ff ff       	call   0x40413c
4041f9:	eb 2e                	jmp    0x404229
4041fb:	6a 00                	push   $0x0
4041fd:	ff 75 0c             	push   0xc(%ebp)
404200:	e8 80 f8 ff ff       	call   0x403a85
404205:	84 c0                	test   %al,%al
404207:	74 1e                	je     0x404227
404209:	ff 75 0c             	push   0xc(%ebp)
40420c:	8b ce                	mov    %esi,%ecx
40420e:	57                   	push   %edi
40420f:	e8 10 fb ff ff       	call   0x403d24
404214:	50                   	push   %eax
404215:	e8 f0 00 00 00       	call   0x40430a
40421a:	83 c4 0c             	add    $0xc,%esp
40421d:	8b ce                	mov    %esi,%ecx
40421f:	ff 75 0c             	push   0xc(%ebp)
404222:	e8 ac f6 ff ff       	call   0x4038d3
404227:	8b c6                	mov    %esi,%eax
404229:	5f                   	pop    %edi
40422a:	5e                   	pop    %esi
40422b:	5d                   	pop    %ebp
40422c:	c2 08 00             	ret    $0x8
40422f:	8b 44 24 08          	mov    0x8(%esp),%eax
404233:	8a 08                	mov    (%eax),%cl
404235:	8b 44 24 04          	mov    0x4(%esp),%eax
404239:	88 08                	mov    %cl,(%eax)
40423b:	c3                   	ret
40423c:	8b 01                	mov    (%ecx),%eax
40423e:	85 c0                	test   %eax,%eax
404240:	75 03                	jne    0x404245
404242:	8d 41 04             	lea    0x4(%ecx),%eax
404245:	c3                   	ret
404246:	e9 e5 fa ff ff       	jmp    0x403d30
40424b:	8b 49 04             	mov    0x4(%ecx),%ecx
40424e:	85 c9                	test   %ecx,%ecx
404250:	75 06                	jne    0x404258
404252:	b8 34 73 42 00       	mov    $0x427334,%eax
404257:	c3                   	ret
404258:	83 c1 18             	add    $0x18,%ecx
40425b:	e9 dc ff ff ff       	jmp    0x40423c
404260:	8b 41 04             	mov    0x4(%ecx),%eax
404263:	c3                   	ret
404264:	8b 41 04             	mov    0x4(%ecx),%eax
404267:	c3                   	ret
404268:	8b 54 24 04          	mov    0x4(%esp),%edx
40426c:	8b c2                	mov    %edx,%eax
40426e:	ff 74 24 08          	push   0x8(%esp)
404272:	83 c8 04             	or     $0x4,%eax
404275:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
404279:	0f 44 d0             	cmove  %eax,%edx
40427c:	52                   	push   %edx
40427d:	e8 11 00 00 00       	call   0x404293
404282:	c2 08 00             	ret    $0x8
404285:	6a 00                	push   $0x0
404287:	ff 74 24 08          	push   0x8(%esp)
40428b:	e8 03 00 00 00       	call   0x404293
404290:	c2 04 00             	ret    $0x4
404293:	55                   	push   %ebp
404294:	8b ec                	mov    %esp,%ebp
404296:	8b 45 08             	mov    0x8(%ebp),%eax
404299:	83 ec 1c             	sub    $0x1c,%esp
40429c:	83 e0 17             	and    $0x17,%eax
40429f:	89 41 0c             	mov    %eax,0xc(%ecx)
4042a2:	8b 49 10             	mov    0x10(%ecx),%ecx
4042a5:	23 c8                	and    %eax,%ecx
4042a7:	74 51                	je     0x4042fa
4042a9:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4042ad:	75 51                	jne    0x404300
4042af:	33 d2                	xor    %edx,%edx
4042b1:	42                   	inc    %edx
4042b2:	f6 c1 04             	test   $0x4,%cl
4042b5:	74 21                	je     0x4042d8
4042b7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4042ba:	e8 28 05 00 00       	call   0x4047e7
4042bf:	50                   	push   %eax
4042c0:	68 38 74 42 00       	push   $0x427438
4042c5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4042c8:	e8 dd e9 ff ff       	call   0x402caa
4042cd:	68 c0 7b 43 00       	push   $0x437bc0
4042d2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4042d5:	50                   	push   %eax
4042d6:	eb 2c                	jmp    0x404304
4042d8:	f6 c1 02             	test   $0x2,%cl
4042db:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4042de:	74 0d                	je     0x4042ed
4042e0:	e8 02 05 00 00       	call   0x4047e7
4042e5:	50                   	push   %eax
4042e6:	68 50 74 42 00       	push   $0x427450
4042eb:	eb d8                	jmp    0x4042c5
4042ed:	e8 f5 04 00 00       	call   0x4047e7
4042f2:	50                   	push   %eax
4042f3:	68 68 74 42 00       	push   $0x427468
4042f8:	eb cb                	jmp    0x4042c5
4042fa:	8b e5                	mov    %ebp,%esp
4042fc:	5d                   	pop    %ebp
4042fd:	c2 08 00             	ret    $0x8
404300:	6a 00                	push   $0x0
404302:	6a 00                	push   $0x0
404304:	e8 0d 3d 00 00       	call   0x408016
404309:	cc                   	int3
40430a:	55                   	push   %ebp
40430b:	8b ec                	mov    %esp,%ebp
40430d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
404311:	75 05                	jne    0x404318
404313:	8b 45 08             	mov    0x8(%ebp),%eax
404316:	5d                   	pop    %ebp
404317:	c3                   	ret
404318:	5d                   	pop    %ebp
404319:	e9 42 41 00 00       	jmp    0x408460
40431e:	55                   	push   %ebp
40431f:	8b ec                	mov    %esp,%ebp
404321:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
404325:	75 05                	jne    0x40432c
404327:	8b 45 08             	mov    0x8(%ebp),%eax
40432a:	5d                   	pop    %ebp
40432b:	c3                   	ret
40432c:	5d                   	pop    %ebp
40432d:	e9 79 13 00 00       	jmp    0x4056ab
404332:	e9 05 00 00 00       	jmp    0x40433c
404337:	e9 12 00 00 00       	jmp    0x40434e
40433c:	8b 54 24 08          	mov    0x8(%esp),%edx
404340:	8b 4c 24 04          	mov    0x4(%esp),%ecx
404344:	6a 01                	push   $0x1
404346:	e8 a1 f4 ff ff       	call   0x4037ec
40434b:	c2 08 00             	ret    $0x8
40434e:	8b 54 24 08          	mov    0x8(%esp),%edx
404352:	8b 4c 24 04          	mov    0x4(%esp),%ecx
404356:	6a 18                	push   $0x18
404358:	e8 8f f4 ff ff       	call   0x4037ec
40435d:	c2 08 00             	ret    $0x8
404360:	8b 54 24 08          	mov    0x8(%esp),%edx
404364:	8b 4c 24 04          	mov    0x4(%esp),%ecx
404368:	6a 02                	push   $0x2
40436a:	e8 7d f4 ff ff       	call   0x4037ec
40436f:	c2 08 00             	ret    $0x8
404372:	51                   	push   %ecx
404373:	ff 74 24 0c          	push   0xc(%esp)
404377:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40437b:	e8 5d e8 ff ff       	call   0x402bdd
404380:	8b 44 24 04          	mov    0x4(%esp),%eax
404384:	c2 08 00             	ret    $0x8
404387:	8d 41 08             	lea    0x8(%ecx),%eax
40438a:	50                   	push   %eax
40438b:	ff 74 24 10          	push   0x10(%esp)
40438f:	ff 74 24 10          	push   0x10(%esp)
404393:	ff 74 24 10          	push   0x10(%esp)
404397:	e8 aa 18 00 00       	call   0x405c46
40439c:	83 c4 10             	add    $0x10,%esp
40439f:	c2 0c 00             	ret    $0xc
4043a2:	8d 41 08             	lea    0x8(%ecx),%eax
4043a5:	50                   	push   %eax
4043a6:	ff 74 24 0c          	push   0xc(%esp)
4043aa:	e8 73 18 00 00       	call   0x405c22
4043af:	66 85 44 24 0c       	test   %ax,0xc(%esp)
4043b4:	59                   	pop    %ecx
4043b5:	59                   	pop    %ecx
4043b6:	0f 95 c0             	setne  %al
4043b9:	c2 08 00             	ret    $0x8
4043bc:	e9 98 f4 ff ff       	jmp    0x403859
4043c1:	51                   	push   %ecx
4043c2:	55                   	push   %ebp
4043c3:	56                   	push   %esi
4043c4:	8b 74 24 14          	mov    0x14(%esp),%esi
4043c8:	33 ed                	xor    %ebp,%ebp
4043ca:	57                   	push   %edi
4043cb:	8b 7c 24 14          	mov    0x14(%esp),%edi
4043cf:	33 c0                	xor    %eax,%eax
4043d1:	2b f7                	sub    %edi,%esi
4043d3:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4043d7:	46                   	inc    %esi
4043d8:	d1 ee                	shr    $1,%esi
4043da:	3b 7c 24 18          	cmp    0x18(%esp),%edi
4043de:	0f 47 f0             	cmova  %eax,%esi
4043e1:	85 f6                	test   %esi,%esi
4043e3:	74 22                	je     0x404407
4043e5:	53                   	push   %ebx
4043e6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4043ea:	ff 74 24 20          	push   0x20(%esp)
4043ee:	0f b7 07             	movzwl (%edi),%eax
4043f1:	50                   	push   %eax
4043f2:	e8 62 f4 ff ff       	call   0x403859
4043f7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4043fb:	83 c7 02             	add    $0x2,%edi
4043fe:	88 03                	mov    %al,(%ebx)
404400:	43                   	inc    %ebx
404401:	45                   	inc    %ebp
404402:	3b ee                	cmp    %esi,%ebp
404404:	75 e4                	jne    0x4043ea
404406:	5b                   	pop    %ebx
404407:	8b c7                	mov    %edi,%eax
404409:	5f                   	pop    %edi
40440a:	5e                   	pop    %esi
40440b:	5d                   	pop    %ebp
40440c:	59                   	pop    %ecx
40440d:	c2 10 00             	ret    $0x10
404410:	56                   	push   %esi
404411:	8b 74 24 0c          	mov    0xc(%esp),%esi
404415:	57                   	push   %edi
404416:	8b f9                	mov    %ecx,%edi
404418:	eb 16                	jmp    0x404430
40441a:	0f b7 06             	movzwl (%esi),%eax
40441d:	8b cf                	mov    %edi,%ecx
40441f:	50                   	push   %eax
404420:	ff 74 24 10          	push   0x10(%esp)
404424:	e8 7c 03 00 00       	call   0x4047a5
404429:	84 c0                	test   %al,%al
40442b:	75 09                	jne    0x404436
40442d:	83 c6 02             	add    $0x2,%esi
404430:	3b 74 24 14          	cmp    0x14(%esp),%esi
404434:	75 e4                	jne    0x40441a
404436:	5f                   	pop    %edi
404437:	8b c6                	mov    %esi,%eax
404439:	5e                   	pop    %esi
40443a:	c2 0c 00             	ret    $0xc
40443d:	56                   	push   %esi
40443e:	8b 74 24 0c          	mov    0xc(%esp),%esi
404442:	57                   	push   %edi
404443:	8b f9                	mov    %ecx,%edi
404445:	eb 16                	jmp    0x40445d
404447:	0f b7 06             	movzwl (%esi),%eax
40444a:	8b cf                	mov    %edi,%ecx
40444c:	50                   	push   %eax
40444d:	ff 74 24 10          	push   0x10(%esp)
404451:	e8 4f 03 00 00       	call   0x4047a5
404456:	84 c0                	test   %al,%al
404458:	74 09                	je     0x404463
40445a:	83 c6 02             	add    $0x2,%esi
40445d:	3b 74 24 14          	cmp    0x14(%esp),%esi
404461:	75 e4                	jne    0x404447
404463:	5f                   	pop    %edi
404464:	8b c6                	mov    %esi,%eax
404466:	5e                   	pop    %esi
404467:	c2 0c 00             	ret    $0xc
40446a:	53                   	push   %ebx
40446b:	56                   	push   %esi
40446c:	8b 74 24 0c          	mov    0xc(%esp),%esi
404470:	33 db                	xor    %ebx,%ebx
404472:	57                   	push   %edi
404473:	8b 7c 24 14          	mov    0x14(%esp),%edi
404477:	33 c0                	xor    %eax,%eax
404479:	2b fe                	sub    %esi,%edi
40447b:	47                   	inc    %edi
40447c:	d1 ef                	shr    $1,%edi
40447e:	3b 74 24 14          	cmp    0x14(%esp),%esi
404482:	0f 47 f8             	cmova  %eax,%edi
404485:	85 ff                	test   %edi,%edi
404487:	74 1c                	je     0x4044a5
404489:	55                   	push   %ebp
40448a:	8d 69 08             	lea    0x8(%ecx),%ebp
40448d:	0f b7 06             	movzwl (%esi),%eax
404490:	55                   	push   %ebp
404491:	50                   	push   %eax
404492:	e8 ce 17 00 00       	call   0x405c65
404497:	66 89 06             	mov    %ax,(%esi)
40449a:	83 c6 02             	add    $0x2,%esi
40449d:	43                   	inc    %ebx
40449e:	59                   	pop    %ecx
40449f:	59                   	pop    %ecx
4044a0:	3b df                	cmp    %edi,%ebx
4044a2:	75 e9                	jne    0x40448d
4044a4:	5d                   	pop    %ebp
4044a5:	5f                   	pop    %edi
4044a6:	8b c6                	mov    %esi,%eax
4044a8:	5e                   	pop    %esi
4044a9:	5b                   	pop    %ebx
4044aa:	c2 08 00             	ret    $0x8
4044ad:	8d 41 08             	lea    0x8(%ecx),%eax
4044b0:	50                   	push   %eax
4044b1:	ff 74 24 08          	push   0x8(%esp)
4044b5:	e8 ab 17 00 00       	call   0x405c65
4044ba:	59                   	pop    %ecx
4044bb:	59                   	pop    %ecx
4044bc:	c2 04 00             	ret    $0x4
4044bf:	53                   	push   %ebx
4044c0:	56                   	push   %esi
4044c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
4044c5:	33 db                	xor    %ebx,%ebx
4044c7:	57                   	push   %edi
4044c8:	8b 7c 24 14          	mov    0x14(%esp),%edi
4044cc:	33 c0                	xor    %eax,%eax
4044ce:	2b fe                	sub    %esi,%edi
4044d0:	47                   	inc    %edi
4044d1:	d1 ef                	shr    $1,%edi
4044d3:	3b 74 24 14          	cmp    0x14(%esp),%esi
4044d7:	0f 47 f8             	cmova  %eax,%edi
4044da:	85 ff                	test   %edi,%edi
4044dc:	74 1c                	je     0x4044fa
4044de:	55                   	push   %ebp
4044df:	8d 69 08             	lea    0x8(%ecx),%ebp
4044e2:	0f b7 06             	movzwl (%esi),%eax
4044e5:	55                   	push   %ebp
4044e6:	50                   	push   %eax
4044e7:	e8 db 17 00 00       	call   0x405cc7
4044ec:	66 89 06             	mov    %ax,(%esi)
4044ef:	83 c6 02             	add    $0x2,%esi
4044f2:	43                   	inc    %ebx
4044f3:	59                   	pop    %ecx
4044f4:	59                   	pop    %ecx
4044f5:	3b df                	cmp    %edi,%ebx
4044f7:	75 e9                	jne    0x4044e2
4044f9:	5d                   	pop    %ebp
4044fa:	5f                   	pop    %edi
4044fb:	8b c6                	mov    %esi,%eax
4044fd:	5e                   	pop    %esi
4044fe:	5b                   	pop    %ebx
4044ff:	c2 08 00             	ret    $0x8
404502:	8d 41 08             	lea    0x8(%ecx),%eax
404505:	50                   	push   %eax
404506:	ff 74 24 08          	push   0x8(%esp)
40450a:	e8 b8 17 00 00       	call   0x405cc7
40450f:	59                   	pop    %ecx
404510:	59                   	pop    %ecx
404511:	c2 04 00             	ret    $0x4
404514:	51                   	push   %ecx
404515:	55                   	push   %ebp
404516:	56                   	push   %esi
404517:	8b 74 24 10          	mov    0x10(%esp),%esi
40451b:	33 c0                	xor    %eax,%eax
40451d:	57                   	push   %edi
40451e:	8b 7c 24 18          	mov    0x18(%esp),%edi
404522:	33 ed                	xor    %ebp,%ebp
404524:	2b fe                	sub    %esi,%edi
404526:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
40452a:	3b 74 24 18          	cmp    0x18(%esp),%esi
40452e:	0f 47 f8             	cmova  %eax,%edi
404531:	85 ff                	test   %edi,%edi
404533:	74 1f                	je     0x404554
404535:	53                   	push   %ebx
404536:	8b 5c 24 20          	mov    0x20(%esp),%ebx
40453a:	0f b6 06             	movzbl (%esi),%eax
40453d:	50                   	push   %eax
40453e:	e8 51 f3 ff ff       	call   0x403894
404543:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404547:	46                   	inc    %esi
404548:	45                   	inc    %ebp
404549:	66 89 03             	mov    %ax,(%ebx)
40454c:	8d 5b 02             	lea    0x2(%ebx),%ebx
40454f:	3b ef                	cmp    %edi,%ebp
404551:	75 e7                	jne    0x40453a
404553:	5b                   	pop    %ebx
404554:	5f                   	pop    %edi
404555:	8b c6                	mov    %esi,%eax
404557:	5e                   	pop    %esi