40567d:	81 c1 00 10 00 00    	add    $0x1000,%ecx
405683:	6a 04                	push   $0x4
405685:	68 00 10 00 00       	push   $0x1000
40568a:	51                   	push   %ecx
40568b:	50                   	push   %eax
40568c:	56                   	push   %esi
40568d:	ff 15 a4 34 47 00    	call   *0x4734a4
405693:	3b c3                	cmp    %ebx,%eax
405695:	0f 84 cf 01 00 00    	je     0x40586a
40569b:	8d 4c 24 50          	lea    0x50(%esp),%ecx
40569f:	51                   	push   %ecx
4056a0:	68 04 01 00 00       	push   $0x104
4056a5:	68 00 10 00 00       	push   $0x1000
4056aa:	50                   	push   %eax
4056ab:	56                   	push   %esi
4056ac:	ff 15 a0 34 47 00    	call   *0x4734a0
4056b2:	85 c0                	test   %eax,%eax
4056b4:	0f 84 b0 01 00 00    	je     0x40586a
4056ba:	8d 54 24 18          	lea    0x18(%esp),%edx
4056be:	52                   	push   %edx
4056bf:	e8 4c d4 ff ff       	call   0x402b10
4056c4:	83 c4 04             	add    $0x4,%esp
4056c7:	8d 44 24 5c          	lea    0x5c(%esp),%eax
4056cb:	50                   	push   %eax
4056cc:	c7 44 24 60 07 00 01 	movl   $0x10007,0x60(%esp)
4056d3:	00
4056d4:	ff 15 48 34 47 00    	call   *0x473448
4056da:	50                   	push   %eax
4056db:	ff 15 90 34 47 00    	call   *0x473490
4056e1:	8b 44 24 24          	mov    0x24(%esp),%eax
4056e5:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4056e9:	8b e8                	mov    %eax,%ebp
4056eb:	89 ac 24 20 01 00 00 	mov    %ebp,0x120(%esp)
4056f2:	81 f9 8c 00 00 00    	cmp    $0x8c,%ecx
4056f8:	72 0a                	jb     0x405704
4056fa:	8d 68 c8             	lea    -0x38(%eax),%ebp
4056fd:	89 ac 24 20 01 00 00 	mov    %ebp,0x120(%esp)
405704:	8b 94 24 34 03 00 00 	mov    0x334(%esp),%edx
40570b:	3b d3                	cmp    %ebx,%edx
40570d:	74 71                	je     0x405780
40570f:	3b fb                	cmp    %ebx,%edi
405711:	74 11                	je     0x405724
405713:	8b ac 24 38 03 00 00 	mov    0x338(%esp),%ebp
40571a:	2b c5                	sub    %ebp,%eax
40571c:	8d b8 00 10 00 00    	lea    0x1000(%eax),%edi
405722:	eb 25                	jmp    0x405749
405724:	8b 8c 24 38 03 00 00 	mov    0x338(%esp),%ecx
40572b:	83 c1 0f             	add    $0xf,%ecx
40572e:	83 e1 f0             	and    $0xfffffff0,%ecx
405731:	2b e9                	sub    %ecx,%ebp
405733:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
405737:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40573b:	89 ac 24 20 01 00 00 	mov    %ebp,0x120(%esp)
405742:	8b ac 24 38 03 00 00 	mov    0x338(%esp),%ebp
405749:	8d 44 24 0c          	lea    0xc(%esp),%eax
40574d:	50                   	push   %eax
40574e:	55                   	push   %ebp
40574f:	52                   	push   %edx
405750:	57                   	push   %edi
405751:	56                   	push   %esi
405752:	ff 15 9c 34 47 00    	call   *0x47349c
405758:	85 c0                	test   %eax,%eax
40575a:	0f 84 0a 01 00 00    	je     0x40586a
405760:	39 6c 24 0c          	cmp    %ebp,0xc(%esp)
405764:	0f 85 00 01 00 00    	jne    0x40586a
40576a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40576e:	81 f9 8c 00 00 00    	cmp    $0x8c,%ecx
405774:	72 0e                	jb     0x405784
405776:	83 ac 24 20 01 00 00 	subl   $0x38,0x120(%esp)
40577d:	38
40577e:	eb 04                	jmp    0x405784
405780:	8b 7c 24 0c          	mov    0xc(%esp),%edi
405784:	38 9c 24 4c 03 00 00 	cmp    %bl,0x34c(%esp)
40578b:	74 44                	je     0x4057d1
40578d:	81 f9 8c 00 00 00    	cmp    $0x8c,%ecx
405793:	72 19                	jb     0x4057ae
405795:	68 ec c8 45 00       	push   $0x45c8ec
40579a:	68 b4 be 45 00       	push   $0x45beb4
40579f:	ff 15 38 34 47 00    	call   *0x473438
4057a5:	50                   	push   %eax
4057a6:	ff 15 34 34 47 00    	call   *0x473434
4057ac:	eb 05                	jmp    0x4057b3
4057ae:	e8 fd fc ff ff       	call   0x4054b0
4057b3:	8b 8c 24 2c 03 00 00 	mov    0x32c(%esp),%ecx
4057ba:	89 84 24 14 01 00 00 	mov    %eax,0x114(%esp)
4057c1:	89 8c 24 0c 01 00 00 	mov    %ecx,0x10c(%esp)
4057c8:	89 bc 24 00 01 00 00 	mov    %edi,0x100(%esp)
4057cf:	eb 46                	jmp    0x405817
4057d1:	8b 94 24 2c 03 00 00 	mov    0x32c(%esp),%edx
4057d8:	8b 84 24 20 01 00 00 	mov    0x120(%esp),%eax
4057df:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4057e3:	51                   	push   %ecx
4057e4:	6a 08                	push   $0x8
4057e6:	89 94 24 1c 01 00 00 	mov    %edx,0x11c(%esp)
4057ed:	8d 54 24 38          	lea    0x38(%esp),%edx
4057f1:	83 e8 08             	sub    $0x8,%eax
4057f4:	52                   	push   %edx
4057f5:	50                   	push   %eax
4057f6:	56                   	push   %esi
4057f7:	89 84 24 34 01 00 00 	mov    %eax,0x134(%esp)
4057fe:	89 7c 24 48          	mov    %edi,0x48(%esp)
405802:	89 5c 24 44          	mov    %ebx,0x44(%esp)
405806:	ff 15 9c 34 47 00    	call   *0x47349c
40580c:	85 c0                	test   %eax,%eax
40580e:	74 5a                	je     0x40586a
405810:	83 7c 24 0c 08       	cmpl   $0x8,0xc(%esp)
405815:	75 53                	jne    0x40586a
405817:	39 9c 24 14 01 00 00 	cmp    %ebx,0x114(%esp)
40581e:	74 4a                	je     0x40586a
405820:	38 9c 24 44 03 00 00 	cmp    %bl,0x344(%esp)
405827:	8d 54 24 1c          	lea    0x1c(%esp),%edx
40582b:	0f 95 c0             	setne  %al
40582e:	0f b6 c8             	movzbl %al,%ecx
405831:	51                   	push   %ecx
405832:	52                   	push   %edx
405833:	8d 44 24 64          	lea    0x64(%esp),%eax
405837:	50                   	push   %eax
405838:	8d 4c 24 60          	lea    0x60(%esp),%ecx
40583c:	51                   	push   %ecx
40583d:	56                   	push   %esi
40583e:	8d 54 24 4c          	lea    0x4c(%esp),%edx
405842:	52                   	push   %edx
405843:	68 ff 03 1f 00       	push   $0x1f03ff
405848:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40584c:	50                   	push   %eax
40584d:	ff 15 50 07 47 00    	call   *0x470750
405853:	85 c0                	test   %eax,%eax
405855:	78 13                	js     0x40586a
405857:	8b 84 24 48 03 00 00 	mov    0x348(%esp),%eax
40585e:	3b c3                	cmp    %ebx,%eax
405860:	74 2f                	je     0x405891
405862:	8b 4c 24 58          	mov    0x58(%esp),%ecx
405866:	89 08                	mov    %ecx,(%eax)
405868:	eb 27                	jmp    0x405891
40586a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40586e:	3b c3                	cmp    %ebx,%eax
405870:	74 1b                	je     0x40588d
405872:	68 00 80 00 00       	push   $0x8000
405877:	53                   	push   %ebx
405878:	50                   	push   %eax
405879:	56                   	push   %esi
40587a:	ff 15 98 34 47 00    	call   *0x473498
405880:	8b 84 24 50 03 00 00 	mov    0x350(%esp),%eax
405887:	3b c3                	cmp    %ebx,%eax
405889:	74 02                	je     0x40588d
40588b:	89 18                	mov    %ebx,(%eax)
40588d:	89 5c 24 10          	mov    %ebx,0x10(%esp)
405891:	8b 44 24 14          	mov    0x14(%esp),%eax
405895:	5f                   	pop    %edi
405896:	5d                   	pop    %ebp
405897:	3b c3                	cmp    %ebx,%eax
405899:	5b                   	pop    %ebx
40589a:	74 07                	je     0x4058a3
40589c:	50                   	push   %eax
40589d:	ff 15 60 34 47 00    	call   *0x473460
4058a3:	8b 44 24 04          	mov    0x4(%esp),%eax
4058a7:	81 c4 1c 03 00 00    	add    $0x31c,%esp
4058ad:	c3                   	ret
4058ae:	cc                   	int3
4058af:	cc                   	int3
4058b0:	56                   	push   %esi
4058b1:	8b 74 24 08          	mov    0x8(%esp),%esi
4058b5:	85 c9                	test   %ecx,%ecx
4058b7:	74 06                	je     0x4058bf
4058b9:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4058bf:	a8 01                	test   $0x1,%al
4058c1:	74 2d                	je     0x4058f0
4058c3:	51                   	push   %ecx
4058c4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4058c8:	d1 e8                	shr    $1,%eax
4058ca:	24 01                	and    $0x1,%al
4058cc:	0f b6 c0             	movzbl %al,%eax
4058cf:	50                   	push   %eax
4058d0:	8b 44 24 14          	mov    0x14(%esp),%eax
4058d4:	6a 00                	push   $0x0
4058d6:	6a 00                	push   $0x0
4058d8:	68 00 30 00 00       	push   $0x3000
4058dd:	68 00 00 01 00       	push   $0x10000
4058e2:	51                   	push   %ecx
4058e3:	50                   	push   %eax
4058e4:	52                   	push   %edx
4058e5:	57                   	push   %edi
4058e6:	e8 65 fc ff ff       	call   0x405550
4058eb:	83 c4 28             	add    $0x28,%esp
4058ee:	5e                   	pop    %esi
4058ef:	c3                   	ret
4058f0:	6a 00                	push   $0x0
4058f2:	6a 00                	push   $0x0
4058f4:	52                   	push   %edx
4058f5:	57                   	push   %edi
4058f6:	6a 00                	push   $0x0
4058f8:	6a 00                	push   $0x0
4058fa:	56                   	push   %esi
4058fb:	ff 15 a8 34 47 00    	call   *0x4734a8
405901:	5e                   	pop    %esi
405902:	c3                   	ret
405903:	cc                   	int3
405904:	cc                   	int3
405905:	cc                   	int3
405906:	cc                   	int3
405907:	cc                   	int3
405908:	cc                   	int3
405909:	cc                   	int3
40590a:	cc                   	int3
40590b:	cc                   	int3
40590c:	cc                   	int3
40590d:	cc                   	int3
40590e:	cc                   	int3
40590f:	cc                   	int3
405910:	81 ec 38 08 00 00    	sub    $0x838,%esp
405916:	53                   	push   %ebx
405917:	55                   	push   %ebp
405918:	56                   	push   %esi
405919:	8d 44 24 10          	lea    0x10(%esp),%eax
40591d:	57                   	push   %edi
40591e:	50                   	push   %eax
40591f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
405926:	00
405927:	e8 e4 d1 ff ff       	call   0x402b10
40592c:	8b bc 24 50 08 00 00 	mov    0x850(%esp),%edi
405933:	8b 1d 30 34 47 00    	mov    0x473430,%ebx
405939:	83 c4 04             	add    $0x4,%esp
40593c:	57                   	push   %edi
40593d:	6a 00                	push   $0x0
40593f:	68 3a 04 12 00       	push   $0x12043a
405944:	ff d3                	call   *%ebx
405946:	8b 2d 24 34 47 00    	mov    0x473424,%ebp
40594c:	8b f0                	mov    %eax,%esi
40594e:	ff d5                	call   *%ebp
405950:	85 f6                	test   %esi,%esi
405952:	75 56                	jne    0x4059aa
405954:	39 b4 24 50 08 00 00 	cmp    %esi,0x850(%esp)
40595b:	74 35                	je     0x405992
40595d:	e8 ae da ff ff       	call   0x403410
405962:	57                   	push   %edi
405963:	56                   	push   %esi
405964:	68 3a 04 12 00       	push   $0x12043a
405969:	ff d3                	call   *%ebx
40596b:	8b f0                	mov    %eax,%esi
40596d:	ff d5                	call   *%ebp
40596f:	8b d8                	mov    %eax,%ebx
405971:	e8 4a db ff ff       	call   0x4034c0
405976:	85 f6                	test   %esi,%esi
405978:	75 30                	jne    0x4059aa
40597a:	85 db                	test   %ebx,%ebx
40597c:	0f 84 13 01 00 00    	je     0x405a95
405982:	5f                   	pop    %edi
405983:	5e                   	pop    %esi
405984:	5d                   	pop    %ebp
405985:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
40598a:	5b                   	pop    %ebx
40598b:	81 c4 38 08 00 00    	add    $0x838,%esp
405991:	c3                   	ret
405992:	85 c0                	test   %eax,%eax
405994:	0f 84 fd 00 00 00    	je     0x405a97
40599a:	5f                   	pop    %edi
40599b:	5e                   	pop    %esi
40599c:	5d                   	pop    %ebp
40599d:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
4059a2:	5b                   	pop    %ebx
4059a3:	81 c4 38 08 00 00    	add    $0x838,%esp
4059a9:	c3                   	ret
4059aa:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4059ae:	51                   	push   %ecx
4059af:	6a 00                	push   $0x0
4059b1:	8d 54 24 24          	lea    0x24(%esp),%edx
4059b5:	52                   	push   %edx
4059b6:	57                   	push   %edi
4059b7:	e8 b4 bc ff ff       	call   0x401670
4059bc:	83 c4 10             	add    $0x10,%esp
4059bf:	85 c0                	test   %eax,%eax
4059c1:	0f 85 c7 00 00 00    	jne    0x405a8e
4059c7:	39 44 24 18          	cmp    %eax,0x18(%esp)
4059cb:	0f 85 bd 00 00 00    	jne    0x405a8e
4059d1:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4059d5:	85 c0                	test   %eax,%eax
4059d7:	0f 84 aa 00 00 00    	je     0x405a87
4059dd:	8b 94 24 58 08 00 00 	mov    0x858(%esp),%edx
4059e4:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4059e8:	51                   	push   %ecx
4059e9:	6a 01                	push   $0x1
4059eb:	6a 00                	push   $0x0
4059ed:	6a 00                	push   $0x0
4059ef:	68 00 30 00 00       	push   $0x3000
4059f4:	68 00 00 01 00       	push   $0x10000
4059f9:	6a 18                	push   $0x18
4059fb:	52                   	push   %edx
4059fc:	6a 00                	push   $0x0
4059fe:	50                   	push   %eax
4059ff:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
405a06:	00
405a07:	e8 44 fb ff ff       	call   0x405550
405a0c:	8b d8                	mov    %eax,%ebx
405a0e:	83 c4 28             	add    $0x28,%esp
405a11:	85 db                	test   %ebx,%ebx
405a13:	75 06                	jne    0x405a1b
405a15:	ff d5                	call   *%ebp
405a17:	8b f8                	mov    %eax,%edi
405a19:	eb 1f                	jmp    0x405a3a
405a1b:	8b 84 24 54 08 00 00 	mov    0x854(%esp),%eax
405a22:	50                   	push   %eax
405a23:	53                   	push   %ebx
405a24:	ff 15 80 34 47 00    	call   *0x473480
405a2a:	83 f8 ff             	cmp    $0xffffffff,%eax
405a2d:	75 23                	jne    0x405a52
405a2f:	ff d5                	call   *%ebp
405a31:	8b f8                	mov    %eax,%edi
405a33:	53                   	push   %ebx
405a34:	ff 15 2c 34 47 00    	call   *0x47342c
405a3a:	85 f6                	test   %esi,%esi
405a3c:	74 07                	je     0x405a45
405a3e:	56                   	push   %esi
405a3f:	ff 15 2c 34 47 00    	call   *0x47342c
405a45:	8b c7                	mov    %edi,%eax
405a47:	5f                   	pop    %edi
405a48:	5e                   	pop    %esi
405a49:	5d                   	pop    %ebp
405a4a:	5b                   	pop    %ebx
405a4b:	81 c4 38 08 00 00    	add    $0x838,%esp
405a51:	c3                   	ret
405a52:	3d 02 01 00 00       	cmp    $0x102,%eax
405a57:	75 07                	jne    0x405a60
405a59:	bf b4 05 00 00       	mov    $0x5b4,%edi
405a5e:	eb d3                	jmp    0x405a33
405a60:	8b 8c 24 58 08 00 00 	mov    0x858(%esp),%ecx
405a67:	33 ff                	xor    %edi,%edi
405a69:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
405a6d:	74 c4                	je     0x405a33
405a6f:	8b 44 24 10          	mov    0x10(%esp),%eax
405a73:	85 c0                	test   %eax,%eax
405a75:	74 bc                	je     0x405a33
405a77:	68 00 80 00 00       	push   $0x8000
405a7c:	57                   	push   %edi
405a7d:	50                   	push   %eax
405a7e:	56                   	push   %esi
405a7f:	ff 15 98 34 47 00    	call   *0x473498
405a85:	eb ac                	jmp    0x405a33
405a87:	bf 01 00 00 00       	mov    $0x1,%edi
405a8c:	eb ac                	jmp    0x405a3a
405a8e:	bf 7e 00 00 00       	mov    $0x7e,%edi
405a93:	eb a5                	jmp    0x405a3a
405a95:	8b c3                	mov    %ebx,%eax
405a97:	5f                   	pop    %edi
405a98:	5e                   	pop    %esi
405a99:	5d                   	pop    %ebp
405a9a:	5b                   	pop    %ebx
405a9b:	81 c4 38 08 00 00    	add    $0x838,%esp
405aa1:	c3                   	ret
405aa2:	cc                   	int3
405aa3:	cc                   	int3