406356:	cc                   	int3
406357:	cc                   	int3
406358:	cc                   	int3
406359:	cc                   	int3
40635a:	cc                   	int3
40635b:	cc                   	int3
40635c:	cc                   	int3
40635d:	cc                   	int3
40635e:	cc                   	int3
40635f:	cc                   	int3
406360:	8b ff                	mov    %edi,%edi
406362:	55                   	push   %ebp
406363:	8b ec                	mov    %esp,%ebp
406365:	8b 45 08             	mov    0x8(%ebp),%eax
406368:	33 d2                	xor    %edx,%edx
40636a:	53                   	push   %ebx
40636b:	56                   	push   %esi
40636c:	57                   	push   %edi
40636d:	8b 48 3c             	mov    0x3c(%eax),%ecx
406370:	03 c8                	add    %eax,%ecx
406372:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
406376:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40637a:	83 c0 18             	add    $0x18,%eax
40637d:	03 c1                	add    %ecx,%eax
40637f:	85 db                	test   %ebx,%ebx
406381:	74 1b                	je     0x40639e
406383:	8b 7d 0c             	mov    0xc(%ebp),%edi
406386:	8b 70 0c             	mov    0xc(%eax),%esi
406389:	3b fe                	cmp    %esi,%edi
40638b:	72 09                	jb     0x406396
40638d:	8b 48 08             	mov    0x8(%eax),%ecx
406390:	03 ce                	add    %esi,%ecx
406392:	3b f9                	cmp    %ecx,%edi
406394:	72 0a                	jb     0x4063a0
406396:	42                   	inc    %edx
406397:	83 c0 28             	add    $0x28,%eax
40639a:	3b d3                	cmp    %ebx,%edx
40639c:	72 e8                	jb     0x406386
40639e:	33 c0                	xor    %eax,%eax
4063a0:	5f                   	pop    %edi
4063a1:	5e                   	pop    %esi
4063a2:	5b                   	pop    %ebx
4063a3:	5d                   	pop    %ebp
4063a4:	c3                   	ret
4063a5:	cc                   	int3
4063a6:	cc                   	int3
4063a7:	cc                   	int3
4063a8:	cc                   	int3
4063a9:	cc                   	int3
4063aa:	cc                   	int3
4063ab:	cc                   	int3
4063ac:	cc                   	int3
4063ad:	cc                   	int3
4063ae:	cc                   	int3
4063af:	cc                   	int3
4063b0:	8b ff                	mov    %edi,%edi
4063b2:	55                   	push   %ebp
4063b3:	8b ec                	mov    %esp,%ebp
4063b5:	6a fe                	push   $0xfffffffe
4063b7:	68 58 ce 40 00       	push   $0x40ce58
4063bc:	68 c0 65 40 00       	push   $0x4065c0
4063c1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4063c7:	50                   	push   %eax
4063c8:	83 ec 08             	sub    $0x8,%esp
4063cb:	53                   	push   %ebx
4063cc:	56                   	push   %esi
4063cd:	57                   	push   %edi
4063ce:	a1 04 e0 40 00       	mov    0x40e004,%eax
4063d3:	31 45 f8             	xor    %eax,-0x8(%ebp)
4063d6:	33 c5                	xor    %ebp,%eax
4063d8:	50                   	push   %eax
4063d9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4063dc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4063e2:	89 65 e8             	mov    %esp,-0x18(%ebp)
4063e5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4063ec:	68 00 00 40 00       	push   $0x400000
4063f1:	e8 7a 00 00 00       	call   0x406470
4063f6:	83 c4 04             	add    $0x4,%esp
4063f9:	85 c0                	test   %eax,%eax
4063fb:	74 54                	je     0x406451
4063fd:	8b 45 08             	mov    0x8(%ebp),%eax
406400:	2d 00 00 40 00       	sub    $0x400000,%eax
406405:	50                   	push   %eax
406406:	68 00 00 40 00       	push   $0x400000
40640b:	e8 50 ff ff ff       	call   0x406360
406410:	83 c4 08             	add    $0x8,%esp
406413:	85 c0                	test   %eax,%eax
406415:	74 3a                	je     0x406451
406417:	8b 40 24             	mov    0x24(%eax),%eax
40641a:	c1 e8 1f             	shr    $0x1f,%eax
40641d:	f7 d0                	not    %eax
40641f:	83 e0 01             	and    $0x1,%eax
406422:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406429:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40642c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406433:	59                   	pop    %ecx
406434:	5f                   	pop    %edi
406435:	5e                   	pop    %esi
406436:	5b                   	pop    %ebx
406437:	8b e5                	mov    %ebp,%esp
406439:	5d                   	pop    %ebp
40643a:	c3                   	ret
40643b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40643e:	8b 00                	mov    (%eax),%eax
406440:	33 c9                	xor    %ecx,%ecx
406442:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
406448:	0f 94 c1             	sete   %cl
40644b:	8b c1                	mov    %ecx,%eax
40644d:	c3                   	ret
40644e:	8b 65 e8             	mov    -0x18(%ebp),%esp
406451:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406458:	33 c0                	xor    %eax,%eax
40645a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40645d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406464:	59                   	pop    %ecx
406465:	5f                   	pop    %edi
406466:	5e                   	pop    %esi
406467:	5b                   	pop    %ebx
406468:	8b e5                	mov    %ebp,%esp
40646a:	5d                   	pop    %ebp
40646b:	c3                   	ret
40646c:	cc                   	int3
40646d:	cc                   	int3
40646e:	cc                   	int3
40646f:	cc                   	int3
406470:	8b ff                	mov    %edi,%edi
406472:	55                   	push   %ebp
406473:	8b ec                	mov    %esp,%ebp
406475:	8b 4d 08             	mov    0x8(%ebp),%ecx
406478:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40647d:	66 39 01             	cmp    %ax,(%ecx)
406480:	75 1f                	jne    0x4064a1
406482:	8b 41 3c             	mov    0x3c(%ecx),%eax
406485:	03 c1                	add    %ecx,%eax
406487:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40648d:	75 12                	jne    0x4064a1
40648f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
406494:	66 39 48 18          	cmp    %cx,0x18(%eax)
406498:	75 07                	jne    0x4064a1
40649a:	b8 01 00 00 00       	mov    $0x1,%eax
40649f:	5d                   	pop    %ebp
4064a0:	c3                   	ret
4064a1:	33 c0                	xor    %eax,%eax
4064a3:	5d                   	pop    %ebp
4064a4:	c3                   	ret
4064a5:	8b ff                	mov    %edi,%edi
4064a7:	55                   	push   %ebp
4064a8:	8b ec                	mov    %esp,%ebp
4064aa:	83 ec 14             	sub    $0x14,%esp
4064ad:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4064b1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4064b5:	a1 04 e0 40 00       	mov    0x40e004,%eax
4064ba:	56                   	push   %esi
4064bb:	57                   	push   %edi
4064bc:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
4064c1:	be 00 00 ff ff       	mov    $0xffff0000,%esi
4064c6:	3b c7                	cmp    %edi,%eax
4064c8:	74 04                	je     0x4064ce
4064ca:	85 c6                	test   %eax,%esi
4064cc:	75 64                	jne    0x406532
4064ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4064d1:	50                   	push   %eax
4064d2:	ff 15 bc f0 40 00    	call   *0x40f0bc
4064d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4064db:	33 45 f4             	xor    -0xc(%ebp),%eax
4064de:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064e1:	ff 15 98 f0 40 00    	call   *0x40f098
4064e7:	31 45 fc             	xor    %eax,-0x4(%ebp)
4064ea:	ff 15 94 f0 40 00    	call   *0x40f094
4064f0:	31 45 fc             	xor    %eax,-0x4(%ebp)
4064f3:	ff 15 b8 f0 40 00    	call   *0x40f0b8
4064f9:	33 45 fc             	xor    -0x4(%ebp),%eax
4064fc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4064ff:	33 c1                	xor    %ecx,%eax
406501:	89 45 fc             	mov    %eax,-0x4(%ebp)
406504:	8d 45 ec             	lea    -0x14(%ebp),%eax
406507:	50                   	push   %eax
406508:	ff 15 a0 f0 40 00    	call   *0x40f0a0
40650e:	8b 45 f0             	mov    -0x10(%ebp),%eax
406511:	33 45 ec             	xor    -0x14(%ebp),%eax
406514:	33 45 fc             	xor    -0x4(%ebp),%eax
406517:	8b c8                	mov    %eax,%ecx
406519:	3b c7                	cmp    %edi,%eax
40651b:	74 08                	je     0x406525
40651d:	85 35 04 e0 40 00    	test   %esi,0x40e004
406523:	75 07                	jne    0x40652c
406525:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
40652a:	8b c8                	mov    %eax,%ecx
40652c:	89 0d 04 e0 40 00    	mov    %ecx,0x40e004
406532:	f7 d0                	not    %eax
406534:	5f                   	pop    %edi
406535:	a3 08 e0 40 00       	mov    %eax,0x40e008
40653a:	5e                   	pop    %esi
40653b:	c9                   	leave
40653c:	c3                   	ret
40653d:	68 00 00 03 00       	push   $0x30000
406542:	68 00 00 01 00       	push   $0x10000
406547:	ff 15 04 f1 40 00    	call   *0x40f104
40654d:	59                   	pop    %ecx
40654e:	59                   	pop    %ecx
40654f:	c3                   	ret
406550:	ff 25 dc f0 40 00    	jmp    *0x40f0dc
406556:	cc                   	int3
406557:	cc                   	int3
406558:	68 c0 65 40 00       	push   $0x4065c0
40655d:	64 ff 35 00 00 00 00 	push   %fs:0x0
406564:	8b 44 24 10          	mov    0x10(%esp),%eax
406568:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40656c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
406570:	2b e0                	sub    %eax,%esp
406572:	53                   	push   %ebx
406573:	56                   	push   %esi
406574:	57                   	push   %edi
406575:	a1 04 e0 40 00       	mov    0x40e004,%eax
40657a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40657d:	33 c5                	xor    %ebp,%eax
40657f:	50                   	push   %eax
406580:	89 65 e8             	mov    %esp,-0x18(%ebp)
406583:	ff 75 f8             	push   -0x8(%ebp)
406586:	8b 45 fc             	mov    -0x4(%ebp),%eax
406589:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406590:	89 45 f8             	mov    %eax,-0x8(%ebp)
406593:	8d 45 f0             	lea    -0x10(%ebp),%eax
406596:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40659c:	c3                   	ret
40659d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4065a0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4065a7:	59                   	pop    %ecx
4065a8:	5f                   	pop    %edi
4065a9:	5f                   	pop    %edi
4065aa:	5e                   	pop    %esi
4065ab:	5b                   	pop    %ebx
4065ac:	8b e5                	mov    %ebp,%esp
4065ae:	5d                   	pop    %ebp
4065af:	51                   	push   %ecx
4065b0:	c3                   	ret
4065b1:	cc                   	int3
4065b2:	cc                   	int3
4065b3:	cc                   	int3
4065b4:	cc                   	int3
4065b5:	cc                   	int3
4065b6:	cc                   	int3
4065b7:	cc                   	int3
4065b8:	cc                   	int3
4065b9:	cc                   	int3
4065ba:	cc                   	int3
4065bb:	cc                   	int3
4065bc:	cc                   	int3
4065bd:	cc                   	int3
4065be:	cc                   	int3
4065bf:	cc                   	int3
4065c0:	8b ff                	mov    %edi,%edi
4065c2:	55                   	push   %ebp
4065c3:	8b ec                	mov    %esp,%ebp
4065c5:	ff 75 14             	push   0x14(%ebp)
4065c8:	ff 75 10             	push   0x10(%ebp)
4065cb:	ff 75 0c             	push   0xc(%ebp)
4065ce:	ff 75 08             	push   0x8(%ebp)
4065d1:	68 20 60 40 00       	push   $0x406020
4065d6:	68 04 e0 40 00       	push   $0x40e004
4065db:	e8 13 00 00 00       	call   0x4065f3
4065e0:	83 c4 18             	add    $0x18,%esp
4065e3:	5d                   	pop    %ebp
4065e4:	c3                   	ret
4065e5:	cc                   	int3
4065e6:	cc                   	int3
4065e7:	cc                   	int3
4065e8:	cc                   	int3
4065e9:	cc                   	int3
4065ea:	cc                   	int3
4065eb:	cc                   	int3
4065ec:	cc                   	int3
4065ed:	cc                   	int3
4065ee:	cc                   	int3
4065ef:	cc                   	int3
4065f0:	c2 00 00             	ret    $0x0
4065f3:	ff 25 00 f1 40 00    	jmp    *0x40f100
4065f9:	b8 6c 00 41 00       	mov    $0x41006c,%eax
4065fe:	e9 00 00 00 00       	jmp    0x406603
406603:	51                   	push   %ecx
406604:	52                   	push   %edx
406605:	50                   	push   %eax
406606:	68 14 cf 40 00       	push   $0x40cf14
40660b:	e8 50 f4 ff ff       	call   0x405a60
406610:	5a                   	pop    %edx
406611:	59                   	pop    %ecx
406612:	ff e0                	jmp    *%eax
406614:	b8 04 00 41 00       	mov    $0x410004,%eax
406619:	e9 00 00 00 00       	jmp    0x40661e
40661e:	51                   	push   %ecx
40661f:	52                   	push   %edx
406620:	50                   	push   %eax
406621:	68 34 cf 40 00       	push   $0x40cf34
406626:	e8 35 f4 ff ff       	call   0x405a60
40662b:	5a                   	pop    %edx
40662c:	59                   	pop    %ecx
40662d:	ff e0                	jmp    *%eax
40662f:	b8 64 00 41 00       	mov    $0x410064,%eax
406634:	e9 ca ff ff ff       	jmp    0x406603
406639:	b8 14 00 41 00       	mov    $0x410014,%eax
40663e:	e9 00 00 00 00       	jmp    0x406643
406643:	51                   	push   %ecx
406644:	52                   	push   %edx
406645:	50                   	push   %eax
406646:	68 54 cf 40 00       	push   $0x40cf54
40664b:	e8 10 f4 ff ff       	call   0x405a60
406650:	5a                   	pop    %edx
406651:	59                   	pop    %ecx
406652:	ff e0                	jmp    *%eax
406654:	b8 3c 00 41 00       	mov    $0x41003c,%eax
406659:	e9 00 00 00 00       	jmp    0x40665e
40665e:	51                   	push   %ecx
40665f:	52                   	push   %edx
406660:	50                   	push   %eax
406661:	68 74 cf 40 00       	push   $0x40cf74
406666:	e8 f5 f3 ff ff       	call   0x405a60
40666b:	5a                   	pop    %edx
40666c:	59                   	pop    %ecx
40666d:	ff e0                	jmp    *%eax
40666f:	b8 54 00 41 00       	mov    $0x410054,%eax
406674:	e9 8a ff ff ff       	jmp    0x406603
406679:	b8 5c 00 41 00       	mov    $0x41005c,%eax
40667e:	e9 80 ff ff ff       	jmp    0x406603
406683:	b8 60 00 41 00       	mov    $0x410060,%eax
406688:	e9 76 ff ff ff       	jmp    0x406603
40668d:	b8 10 00 41 00       	mov    $0x410010,%eax
406692:	e9 ac ff ff ff       	jmp    0x406643
406697:	b8 20 00 41 00       	mov    $0x410020,%eax
40669c:	e9 00 00 00 00       	jmp    0x4066a1
4066a1:	51                   	push   %ecx
4066a2:	52                   	push   %edx
4066a3:	50                   	push   %eax
4066a4:	68 94 cf 40 00       	push   $0x40cf94
4066a9:	e8 b2 f3 ff ff       	call   0x405a60
4066ae:	5a                   	pop    %edx
4066af:	59                   	pop    %ecx
4066b0:	ff e0                	jmp    *%eax
4066b2:	b8 38 00 41 00       	mov    $0x410038,%eax
4066b7:	e9 a2 ff ff ff       	jmp    0x40665e
4066bc:	b8 2c 00 41 00       	mov    $0x41002c,%eax
4066c1:	e9 00 00 00 00       	jmp    0x4066c6
4066c6:	51                   	push   %ecx
4066c7:	52                   	push   %edx
4066c8:	50                   	push   %eax
4066c9:	68 b4 cf 40 00       	push   $0x40cfb4
4066ce:	e8 8d f3 ff ff       	call   0x405a60
4066d3:	5a                   	pop    %edx
4066d4:	59                   	pop    %ecx
4066d5:	ff e0                	jmp    *%eax
4066d7:	b8 1c 00 41 00       	mov    $0x41001c,%eax