4052d4:	cc                   	int3
4052d5:	cc                   	int3
4052d6:	cc                   	int3
4052d7:	cc                   	int3
4052d8:	cc                   	int3
4052d9:	cc                   	int3
4052da:	cc                   	int3
4052db:	cc                   	int3
4052dc:	cc                   	int3
4052dd:	cc                   	int3
4052de:	cc                   	int3
4052df:	cc                   	int3
4052e0:	8b ff                	mov    %edi,%edi
4052e2:	55                   	push   %ebp
4052e3:	8b ec                	mov    %esp,%ebp
4052e5:	8b 45 08             	mov    0x8(%ebp),%eax
4052e8:	33 d2                	xor    %edx,%edx
4052ea:	53                   	push   %ebx
4052eb:	56                   	push   %esi
4052ec:	57                   	push   %edi
4052ed:	8b 48 3c             	mov    0x3c(%eax),%ecx
4052f0:	03 c8                	add    %eax,%ecx
4052f2:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4052f6:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
4052fa:	83 c0 18             	add    $0x18,%eax
4052fd:	03 c1                	add    %ecx,%eax
4052ff:	85 db                	test   %ebx,%ebx
405301:	74 1b                	je     0x40531e
405303:	8b 7d 0c             	mov    0xc(%ebp),%edi
405306:	8b 70 0c             	mov    0xc(%eax),%esi
405309:	3b fe                	cmp    %esi,%edi
40530b:	72 09                	jb     0x405316
40530d:	8b 48 08             	mov    0x8(%eax),%ecx
405310:	03 ce                	add    %esi,%ecx
405312:	3b f9                	cmp    %ecx,%edi
405314:	72 0a                	jb     0x405320
405316:	42                   	inc    %edx
405317:	83 c0 28             	add    $0x28,%eax
40531a:	3b d3                	cmp    %ebx,%edx
40531c:	72 e8                	jb     0x405306
40531e:	33 c0                	xor    %eax,%eax
405320:	5f                   	pop    %edi
405321:	5e                   	pop    %esi
405322:	5b                   	pop    %ebx
405323:	5d                   	pop    %ebp
405324:	c3                   	ret
405325:	cc                   	int3
405326:	cc                   	int3
405327:	cc                   	int3
405328:	cc                   	int3
405329:	cc                   	int3
40532a:	cc                   	int3
40532b:	cc                   	int3
40532c:	cc                   	int3
40532d:	cc                   	int3
40532e:	cc                   	int3
40532f:	cc                   	int3
405330:	8b ff                	mov    %edi,%edi
405332:	55                   	push   %ebp
405333:	8b ec                	mov    %esp,%ebp
405335:	6a fe                	push   $0xfffffffe
405337:	68 50 57 40 00       	push   $0x405750
40533c:	68 70 4f 40 00       	push   $0x404f70
405341:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405347:	50                   	push   %eax
405348:	83 ec 08             	sub    $0x8,%esp
40534b:	53                   	push   %ebx
40534c:	56                   	push   %esi
40534d:	57                   	push   %edi
40534e:	a1 54 60 40 00       	mov    0x406054,%eax
405353:	31 45 f8             	xor    %eax,-0x8(%ebp)
405356:	33 c5                	xor    %ebp,%eax
405358:	50                   	push   %eax
405359:	8d 45 f0             	lea    -0x10(%ebp),%eax
40535c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405362:	89 65 e8             	mov    %esp,-0x18(%ebp)
405365:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40536c:	68 00 00 40 00       	push   $0x400000
405371:	e8 7a 00 00 00       	call   0x4053f0
405376:	83 c4 04             	add    $0x4,%esp
405379:	85 c0                	test   %eax,%eax
40537b:	74 54                	je     0x4053d1
40537d:	8b 45 08             	mov    0x8(%ebp),%eax
405380:	2d 00 00 40 00       	sub    $0x400000,%eax
405385:	50                   	push   %eax
405386:	68 00 00 40 00       	push   $0x400000
40538b:	e8 50 ff ff ff       	call   0x4052e0
405390:	83 c4 08             	add    $0x8,%esp
405393:	85 c0                	test   %eax,%eax
405395:	74 3a                	je     0x4053d1
405397:	8b 40 24             	mov    0x24(%eax),%eax
40539a:	c1 e8 1f             	shr    $0x1f,%eax
40539d:	f7 d0                	not    %eax
40539f:	83 e0 01             	and    $0x1,%eax
4053a2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4053a9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053ac:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053b3:	59                   	pop    %ecx
4053b4:	5f                   	pop    %edi
4053b5:	5e                   	pop    %esi
4053b6:	5b                   	pop    %ebx
4053b7:	8b e5                	mov    %ebp,%esp
4053b9:	5d                   	pop    %ebp
4053ba:	c3                   	ret
4053bb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4053be:	8b 00                	mov    (%eax),%eax
4053c0:	33 c9                	xor    %ecx,%ecx
4053c2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
4053c8:	0f 94 c1             	sete   %cl
4053cb:	8b c1                	mov    %ecx,%eax
4053cd:	c3                   	ret
4053ce:	8b 65 e8             	mov    -0x18(%ebp),%esp
4053d1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4053d8:	33 c0                	xor    %eax,%eax
4053da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053e4:	59                   	pop    %ecx
4053e5:	5f                   	pop    %edi
4053e6:	5e                   	pop    %esi
4053e7:	5b                   	pop    %ebx
4053e8:	8b e5                	mov    %ebp,%esp
4053ea:	5d                   	pop    %ebp
4053eb:	c3                   	ret
4053ec:	cc                   	int3
4053ed:	cc                   	int3
4053ee:	cc                   	int3
4053ef:	cc                   	int3
4053f0:	8b ff                	mov    %edi,%edi
4053f2:	55                   	push   %ebp
4053f3:	8b ec                	mov    %esp,%ebp
4053f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4053f8:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4053fd:	66 39 01             	cmp    %ax,(%ecx)
405400:	75 1f                	jne    0x405421
405402:	8b 41 3c             	mov    0x3c(%ecx),%eax
405405:	03 c1                	add    %ecx,%eax
405407:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40540d:	75 12                	jne    0x405421
40540f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
405414:	66 39 48 18          	cmp    %cx,0x18(%eax)
405418:	75 07                	jne    0x405421
40541a:	b8 01 00 00 00       	mov    $0x1,%eax
40541f:	5d                   	pop    %ebp
405420:	c3                   	ret
405421:	33 c0                	xor    %eax,%eax
405423:	5d                   	pop    %ebp
405424:	c3                   	ret
405425:	8b ff                	mov    %edi,%edi
405427:	55                   	push   %ebp
405428:	8b ec                	mov    %esp,%ebp
40542a:	83 ec 14             	sub    $0x14,%esp
40542d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
405431:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
405435:	a1 54 60 40 00       	mov    0x406054,%eax
40543a:	56                   	push   %esi
40543b:	57                   	push   %edi
40543c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
405441:	be 00 00 ff ff       	mov    $0xffff0000,%esi
405446:	3b c7                	cmp    %edi,%eax
405448:	74 04                	je     0x40544e
40544a:	85 c6                	test   %eax,%esi
40544c:	75 64                	jne    0x4054b2
40544e:	8d 45 f4             	lea    -0xc(%ebp),%eax
405451:	50                   	push   %eax
405452:	ff 15 58 71 40 00    	call   *0x407158
405458:	8b 45 f8             	mov    -0x8(%ebp),%eax
40545b:	33 45 f4             	xor    -0xc(%ebp),%eax
40545e:	89 45 fc             	mov    %eax,-0x4(%ebp)
405461:	ff 15 c8 70 40 00    	call   *0x4070c8
405467:	31 45 fc             	xor    %eax,-0x4(%ebp)
40546a:	ff 15 c0 70 40 00    	call   *0x4070c0
405470:	31 45 fc             	xor    %eax,-0x4(%ebp)
405473:	ff 15 54 71 40 00    	call   *0x407154
405479:	33 45 fc             	xor    -0x4(%ebp),%eax
40547c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40547f:	33 c1                	xor    %ecx,%eax
405481:	89 45 fc             	mov    %eax,-0x4(%ebp)
405484:	8d 45 ec             	lea    -0x14(%ebp),%eax
405487:	50                   	push   %eax
405488:	ff 15 dc 70 40 00    	call   *0x4070dc
40548e:	8b 45 f0             	mov    -0x10(%ebp),%eax
405491:	33 45 ec             	xor    -0x14(%ebp),%eax
405494:	33 45 fc             	xor    -0x4(%ebp),%eax
405497:	8b c8                	mov    %eax,%ecx
405499:	3b c7                	cmp    %edi,%eax
40549b:	74 08                	je     0x4054a5
40549d:	85 35 54 60 40 00    	test   %esi,0x406054
4054a3:	75 07                	jne    0x4054ac
4054a5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
4054aa:	8b c8                	mov    %eax,%ecx
4054ac:	89 0d 54 60 40 00    	mov    %ecx,0x406054
4054b2:	f7 d0                	not    %eax
4054b4:	5f                   	pop    %edi
4054b5:	a3 58 60 40 00       	mov    %eax,0x406058
4054ba:	5e                   	pop    %esi
4054bb:	c9                   	leave
4054bc:	c3                   	ret
4054bd:	68 00 00 03 00       	push   $0x30000
4054c2:	68 00 00 01 00       	push   $0x10000
4054c7:	ff 15 bc 71 40 00    	call   *0x4071bc
4054cd:	59                   	pop    %ecx
4054ce:	59                   	pop    %ecx
4054cf:	c3                   	ret
4054d0:	ff 25 80 71 40 00    	jmp    *0x407180
4054d6:	cc                   	int3
4054d7:	cc                   	int3
4054d8:	68 70 4f 40 00       	push   $0x404f70
4054dd:	64 ff 35 00 00 00 00 	push   %fs:0x0
4054e4:	8b 44 24 10          	mov    0x10(%esp),%eax
4054e8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4054ec:	8d 6c 24 10          	lea    0x10(%esp),%ebp
4054f0:	2b e0                	sub    %eax,%esp
4054f2:	53                   	push   %ebx
4054f3:	56                   	push   %esi
4054f4:	57                   	push   %edi
4054f5:	a1 54 60 40 00       	mov    0x406054,%eax
4054fa:	31 45 fc             	xor    %eax,-0x4(%ebp)
4054fd:	33 c5                	xor    %ebp,%eax
4054ff:	50                   	push   %eax
405500:	89 65 e8             	mov    %esp,-0x18(%ebp)
405503:	ff 75 f8             	push   -0x8(%ebp)
405506:	8b 45 fc             	mov    -0x4(%ebp),%eax
405509:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405510:	89 45 f8             	mov    %eax,-0x8(%ebp)
405513:	8d 45 f0             	lea    -0x10(%ebp),%eax
405516:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40551c:	c3                   	ret
40551d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405520:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405527:	59                   	pop    %ecx
405528:	5f                   	pop    %edi
405529:	5f                   	pop    %edi
40552a:	5e                   	pop    %esi
40552b:	5b                   	pop    %ebx
40552c:	8b e5                	mov    %ebp,%esp
40552e:	5d                   	pop    %ebp
40552f:	51                   	push   %ecx
405530:	c3                   	ret
405531:	cc                   	int3
405532:	cc                   	int3
405533:	cc                   	int3
405534:	cc                   	int3
405535:	cc                   	int3
405536:	cc                   	int3
405537:	cc                   	int3
405538:	cc                   	int3
405539:	cc                   	int3
40553a:	cc                   	int3
40553b:	cc                   	int3
40553c:	cc                   	int3
40553d:	cc                   	int3
40553e:	cc                   	int3
40553f:	cc                   	int3
405540:	c2 00 00             	ret    $0x0
405543:	ff 25 90 71 40 00    	jmp    *0x407190
405549:	b8 00 80 40 00       	mov    $0x408000,%eax
40554e:	e9 00 00 00 00       	jmp    0x405553
405553:	51                   	push   %ecx
405554:	52                   	push   %edx
405555:	50                   	push   %eax
405556:	68 6c 57 40 00       	push   $0x40576c
40555b:	e8 59 f6 ff ff       	call   0x404bb9
405560:	5a                   	pop    %edx
405561:	59                   	pop    %ecx
405562:	ff e0                	jmp    *%eax
405564:	b8 08 80 40 00       	mov    $0x408008,%eax
405569:	e9 e5 ff ff ff       	jmp    0x405553
40556e:	b8 0c 80 40 00       	mov    $0x40800c,%eax
405573:	e9 db ff ff ff       	jmp    0x405553
405578:	b8 10 80 40 00       	mov    $0x408010,%eax
40557d:	e9 d1 ff ff ff       	jmp    0x405553
405582:	b8 14 80 40 00       	mov    $0x408014,%eax
405587:	e9 c7 ff ff ff       	jmp    0x405553
40558c:	b8 04 80 40 00       	mov    $0x408004,%eax
405591:	e9 bd ff ff ff       	jmp    0x405553
405596:	b8 28 80 40 00       	mov    $0x408028,%eax
40559b:	e9 00 00 00 00       	jmp    0x4055a0
4055a0:	51                   	push   %ecx
4055a1:	52                   	push   %edx
4055a2:	50                   	push   %eax
4055a3:	68 8c 57 40 00       	push   $0x40578c
4055a8:	e8 0c f6 ff ff       	call   0x404bb9
4055ad:	5a                   	pop    %edx
4055ae:	59                   	pop    %ecx
4055af:	ff e0                	jmp    *%eax
4055b1:	b8 20 80 40 00       	mov    $0x408020,%eax
4055b6:	e9 e5 ff ff ff       	jmp    0x4055a0
4055bb:	b8 24 80 40 00       	mov    $0x408024,%eax
4055c0:	e9 db ff ff ff       	jmp    0x4055a0
4055c5:	b8 1c 80 40 00       	mov    $0x40801c,%eax
4055ca:	e9 d1 ff ff ff       	jmp    0x4055a0
4055cf:	cc                   	int3
4055d0:	68 70 4f 40 00       	push   $0x404f70
4055d5:	64 ff 35 00 00 00 00 	push   %fs:0x0
4055dc:	8b 44 24 10          	mov    0x10(%esp),%eax
4055e0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4055e4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
4055e8:	2b e0                	sub    %eax,%esp
4055ea:	53                   	push   %ebx
4055eb:	56                   	push   %esi
4055ec:	57                   	push   %edi
4055ed:	a1 54 60 40 00       	mov    0x406054,%eax
4055f2:	31 45 fc             	xor    %eax,-0x4(%ebp)
4055f5:	33 c5                	xor    %ebp,%eax
4055f7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4055fa:	50                   	push   %eax
4055fb:	89 65 e8             	mov    %esp,-0x18(%ebp)
4055fe:	ff 75 f8             	push   -0x8(%ebp)
405601:	8b 45 fc             	mov    -0x4(%ebp),%eax
405604:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40560b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40560e:	8d 45 f0             	lea    -0x10(%ebp),%eax
405611:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405617:	c3                   	ret
405618:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40561b:	33 cd                	xor    %ebp,%ecx
40561d:	e8 7e f9 ff ff       	call   0x404fa0
405622:	e9 f6 fe ff ff       	jmp    0x40551d
405627:	cc                   	int3
405628:	cc                   	int3
405629:	cc                   	int3
40562a:	cc                   	int3
40562b:	cc                   	int3
40562c:	cc                   	int3
40562d:	cc                   	int3
40562e:	cc                   	int3
40562f:	cc                   	int3
405630:	51                   	push   %ecx
405631:	8d 4c 24 04          	lea    0x4(%esp),%ecx
405635:	2b c8                	sub    %eax,%ecx
405637:	1b c0                	sbb    %eax,%eax
405639:	f7 d0                	not    %eax
40563b:	23 c8                	and    %eax,%ecx
40563d:	8b c4                	mov    %esp,%eax
40563f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
405644:	3b c8                	cmp    %eax,%ecx
405646:	72 0a                	jb     0x405652
405648:	8b c1                	mov    %ecx,%eax
40564a:	59                   	pop    %ecx
40564b:	94                   	xchg   %eax,%esp
40564c:	8b 00                	mov    (%eax),%eax
40564e:	89 04 24             	mov    %eax,(%esp)
405651:	c3                   	ret
405652:	2d 00 10 00 00       	sub    $0x1000,%eax
405657:	85 00                	test   %eax,(%eax)
405659:	eb e9                	jmp    0x405644
40565b:	cc                   	int3
40565c:	cc                   	int3
40565d:	cc                   	int3
40565e:	cc                   	int3