404880:	ff 75 10             	push   0x10(%ebp)
404883:	ff 15 70 71 40 00    	call   *0x407170
404889:	85 c0                	test   %eax,%eax
40488b:	74 0e                	je     0x40489b
40488d:	6a 07                	push   $0x7
40488f:	e8 77 cb ff ff       	call   0x40140b
404894:	85 c0                	test   %eax,%eax
404896:	75 03                	jne    0x40489b
404898:	40                   	inc    %eax
404899:	eb 02                	jmp    0x40489d
40489b:	33 c0                	xor    %eax,%eax
40489d:	50                   	push   %eax
40489e:	6a 00                	push   $0x0
4048a0:	68 65 04 00 00       	push   $0x465
4048a5:	ff 75 08             	push   0x8(%ebp)
4048a8:	ff d6                	call   *%esi
4048aa:	33 c0                	xor    %eax,%eax
4048ac:	5e                   	pop    %esi
4048ad:	5d                   	pop    %ebp
4048ae:	c2 10 00             	ret    $0x10
4048b1:	55                   	push   %ebp
4048b2:	8b ec                	mov    %esp,%ebp
4048b4:	83 ec 40             	sub    $0x40,%esp
4048b7:	8b 45 14             	mov    0x14(%ebp),%eax
4048ba:	53                   	push   %ebx
4048bb:	56                   	push   %esi
4048bc:	8b 75 10             	mov    0x10(%ebp),%esi
4048bf:	57                   	push   %edi
4048c0:	6a dc                	push   $0xffffffdc
4048c2:	85 c0                	test   %eax,%eax
4048c4:	5b                   	pop    %ebx
4048c5:	74 0b                	je     0x4048d2
4048c7:	0f ac c6 14          	shrd   $0x14,%eax,%esi
4048cb:	c1 e8 14             	shr    $0x14,%eax
4048ce:	33 ff                	xor    %edi,%edi
4048d0:	eb 4e                	jmp    0x404920
4048d2:	6a 14                	push   $0x14
4048d4:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
4048da:	59                   	pop    %ecx
4048db:	8b c6                	mov    %esi,%eax
4048dd:	73 06                	jae    0x4048e5
4048df:	6a 0a                	push   $0xa
4048e1:	59                   	pop    %ecx
4048e2:	6a dd                	push   $0xffffffdd
4048e4:	5b                   	pop    %ebx
4048e5:	81 fe 00 04 00 00    	cmp    $0x400,%esi
4048eb:	73 05                	jae    0x4048f2
4048ed:	6a de                	push   $0xffffffde
4048ef:	33 c9                	xor    %ecx,%ecx
4048f1:	5b                   	pop    %ebx
4048f2:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
4048f8:	73 0d                	jae    0x404907
4048fa:	33 c0                	xor    %eax,%eax
4048fc:	6a 14                	push   $0x14
4048fe:	40                   	inc    %eax
4048ff:	5f                   	pop    %edi
404900:	d3 e0                	shl    %cl,%eax
404902:	99                   	cltd
404903:	f7 ff                	idiv   %edi
404905:	03 c6                	add    %esi,%eax
404907:	8b f0                	mov    %eax,%esi
404909:	25 ff ff ff 00       	and    $0xffffff,%eax
40490e:	6a 0a                	push   $0xa
404910:	33 d2                	xor    %edx,%edx
404912:	8d 04 80             	lea    (%eax,%eax,4),%eax
404915:	03 c0                	add    %eax,%eax
404917:	d3 e8                	shr    %cl,%eax
404919:	d3 ee                	shr    %cl,%esi
40491b:	59                   	pop    %ecx
40491c:	f7 f1                	div    %ecx
40491e:	8b fa                	mov    %edx,%edi
404920:	8d 45 e0             	lea    -0x20(%ebp),%eax
404923:	6a df                	push   $0xffffffdf
404925:	50                   	push   %eax
404926:	e8 d1 16 00 00       	call   0x405ffc
40492b:	50                   	push   %eax
40492c:	8d 45 c0             	lea    -0x40(%ebp),%eax
40492f:	53                   	push   %ebx
404930:	50                   	push   %eax
404931:	e8 c6 16 00 00       	call   0x405ffc
404936:	50                   	push   %eax
404937:	57                   	push   %edi
404938:	56                   	push   %esi
404939:	68 08 92 40 00       	push   $0x409208
40493e:	ff 75 0c             	push   0xc(%ebp)
404941:	be 08 fd 41 00       	mov    $0x41fd08,%esi
404946:	56                   	push   %esi
404947:	e8 b0 16 00 00       	call   0x405ffc
40494c:	56                   	push   %esi
40494d:	8b f8                	mov    %eax,%edi
40494f:	e8 9c 16 00 00       	call   0x405ff0
404954:	03 f8                	add    %eax,%edi
404956:	57                   	push   %edi
404957:	ff 15 74 72 40 00    	call   *0x407274
40495d:	83 c4 18             	add    $0x18,%esp
404960:	56                   	push   %esi
404961:	ff 75 08             	push   0x8(%ebp)
404964:	ff 35 d8 2e 42 00    	push   0x422ed8
40496a:	e8 65 0d 00 00       	call   0x4056d4
40496f:	5f                   	pop    %edi
404970:	5e                   	pop    %esi
404971:	5b                   	pop    %ebx
404972:	c9                   	leave
404973:	c2 10 00             	ret    $0x10
404976:	8b 44 24 0c          	mov    0xc(%esp),%eax
40497a:	33 c9                	xor    %ecx,%ecx
40497c:	51                   	push   %ecx
40497d:	50                   	push   %eax
40497e:	ff 74 24 10          	push   0x10(%esp)
404982:	ff 74 24 10          	push   0x10(%esp)
404986:	e8 26 ff ff ff       	call   0x4048b1
40498b:	c2 0c 00             	ret    $0xc
40498e:	8b 15 4c 37 42 00    	mov    0x42374c,%edx
404994:	8b 0d 48 37 42 00    	mov    0x423748,%ecx
40499a:	33 c0                	xor    %eax,%eax
40499c:	85 d2                	test   %edx,%edx
40499e:	74 18                	je     0x4049b8
4049a0:	56                   	push   %esi
4049a1:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
4049a5:	74 07                	je     0x4049ae
4049a7:	8b 74 24 08          	mov    0x8(%esp),%esi
4049ab:	03 04 b1             	add    (%ecx,%esi,4),%eax
4049ae:	81 c1 18 04 00 00    	add    $0x418,%ecx
4049b4:	4a                   	dec    %edx
4049b5:	75 ea                	jne    0x4049a1
4049b7:	5e                   	pop    %esi
4049b8:	c2 04 00             	ret    $0x4
4049bb:	55                   	push   %ebp
4049bc:	8b ec                	mov    %esp,%ebp
4049be:	83 ec 38             	sub    $0x38,%esp
4049c1:	56                   	push   %esi
4049c2:	8b 35 00 72 40 00    	mov    0x407200,%esi
4049c8:	57                   	push   %edi
4049c9:	8b 7d 08             	mov    0x8(%ebp),%edi
4049cc:	6a 00                	push   $0x0
4049ce:	6a 09                	push   $0x9
4049d0:	68 0a 11 00 00       	push   $0x110a
4049d5:	57                   	push   %edi
4049d6:	ff d6                	call   *%esi
4049d8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4049dc:	74 3c                	je     0x404a1a
4049de:	ff 15 ac 71 40 00    	call   *0x4071ac
4049e4:	0f bf c8             	movswl %ax,%ecx
4049e7:	c1 e8 10             	shr    $0x10,%eax
4049ea:	0f bf c0             	movswl %ax,%eax
4049ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
4049f0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4049f3:	50                   	push   %eax
4049f4:	57                   	push   %edi
4049f5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4049f8:	ff 15 c8 71 40 00    	call   *0x4071c8
4049fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
404a01:	50                   	push   %eax
404a02:	6a 00                	push   $0x0
404a04:	68 11 11 00 00       	push   $0x1111
404a09:	57                   	push   %edi
404a0a:	ff d6                	call   *%esi
404a0c:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404a10:	75 05                	jne    0x404a17
404a12:	83 c8 ff             	or     $0xffffffff,%eax
404a15:	eb 1e                	jmp    0x404a35
404a17:	8b 45 fc             	mov    -0x4(%ebp),%eax
404a1a:	89 45 cc             	mov    %eax,-0x34(%ebp)
404a1d:	8d 45 c8             	lea    -0x38(%ebp),%eax
404a20:	50                   	push   %eax
404a21:	6a 00                	push   $0x0
404a23:	68 0c 11 00 00       	push   $0x110c
404a28:	57                   	push   %edi
404a29:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404a30:	ff d6                	call   *%esi
404a32:	8b 45 ec             	mov    -0x14(%ebp),%eax
404a35:	5f                   	pop    %edi
404a36:	5e                   	pop    %esi
404a37:	c9                   	leave
404a38:	c2 08 00             	ret    $0x8
404a3b:	56                   	push   %esi
404a3c:	57                   	push   %edi
404a3d:	be 00 40 42 00       	mov    $0x424000,%esi
404a42:	bf 08 fd 41 00       	mov    $0x41fd08,%edi
404a47:	56                   	push   %esi
404a48:	57                   	push   %edi
404a49:	e8 8c 15 00 00       	call   0x405fda
404a4e:	ff 74 24 10          	push   0x10(%esp)
404a52:	56                   	push   %esi
404a53:	e8 e0 14 00 00       	call   0x405f38
404a58:	ff 74 24 0c          	push   0xc(%esp)
404a5c:	e8 aa c9 ff ff       	call   0x40140b
404a61:	57                   	push   %edi
404a62:	56                   	push   %esi
404a63:	e8 72 15 00 00       	call   0x405fda
404a68:	5f                   	pop    %edi
404a69:	5e                   	pop    %esi
404a6a:	c2 08 00             	ret    $0x8
404a6d:	55                   	push   %ebp
404a6e:	8b ec                	mov    %esp,%ebp
404a70:	83 ec 54             	sub    $0x54,%esp
404a73:	53                   	push   %ebx
404a74:	56                   	push   %esi
404a75:	8b 35 d0 71 40 00    	mov    0x4071d0,%esi
404a7b:	57                   	push   %edi
404a7c:	68 f9 03 00 00       	push   $0x3f9
404a81:	ff 75 08             	push   0x8(%ebp)
404a84:	ff d6                	call   *%esi
404a86:	68 08 04 00 00       	push   $0x408
404a8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
404a8e:	ff 75 08             	push   0x8(%ebp)
404a91:	ff d6                	call   *%esi
404a93:	89 45 fc             	mov    %eax,-0x4(%ebp)
404a96:	a1 48 37 42 00       	mov    0x423748,%eax
404a9b:	8b 35 00 72 40 00    	mov    0x407200,%esi
404aa1:	89 45 ec             	mov    %eax,-0x14(%ebp)
404aa4:	a1 14 37 42 00       	mov    0x423714,%eax
404aa9:	33 db                	xor    %ebx,%ebx
404aab:	05 94 00 00 00       	add    $0x94,%eax
404ab0:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404ab7:	6a 10                	push   $0x10
404ab9:	89 45 e8             	mov    %eax,-0x18(%ebp)
404abc:	5f                   	pop    %edi
404abd:	0f 85 27 02 00 00    	jne    0x404cea
404ac3:	8b 45 08             	mov    0x8(%ebp),%eax
404ac6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404ac9:	a3 80 37 42 00       	mov    %eax,0x423780
404ace:	a1 4c 37 42 00       	mov    0x42374c,%eax
404ad3:	c1 e0 02             	shl    $0x2,%eax
404ad6:	50                   	push   %eax
404ad7:	6a 40                	push   $0x40
404ad9:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
404ae0:	ff 15 58 71 40 00    	call   *0x407158
404ae6:	53                   	push   %ebx
404ae7:	53                   	push   %ebx
404ae8:	53                   	push   %ebx
404ae9:	53                   	push   %ebx
404aea:	6a 6e                	push   $0x6e
404aec:	a3 00 fd 41 00       	mov    %eax,0x41fd00
404af1:	ff 35 00 37 42 00    	push   0x423700
404af7:	ff 15 34 72 40 00    	call   *0x407234
404afd:	83 0d f4 fc 41 00 ff 	orl    $0xffffffff,0x41fcf4
404b04:	68 75 50 40 00       	push   $0x405075
404b09:	6a fc                	push   $0xfffffffc
404b0b:	89 45 f4             	mov    %eax,-0xc(%ebp)
404b0e:	ff 75 fc             	push   -0x4(%ebp)
404b11:	ff 15 4c 72 40 00    	call   *0x40724c
404b17:	53                   	push   %ebx
404b18:	6a 06                	push   $0x6
404b1a:	6a 21                	push   $0x21
404b1c:	57                   	push   %edi
404b1d:	57                   	push   %edi
404b1e:	a3 fc fc 41 00       	mov    %eax,0x41fcfc
404b23:	ff 15 38 70 40 00    	call   *0x407038
404b29:	68 ff 00 ff 00       	push   $0xff00ff
404b2e:	a3 ec fc 41 00       	mov    %eax,0x41fcec
404b33:	ff 75 f4             	push   -0xc(%ebp)
404b36:	50                   	push   %eax
404b37:	ff 15 3c 70 40 00    	call   *0x40703c
404b3d:	ff 35 ec fc 41 00    	push   0x41fcec
404b43:	6a 02                	push   $0x2
404b45:	68 09 11 00 00       	push   $0x1109
404b4a:	ff 75 fc             	push   -0x4(%ebp)
404b4d:	ff d6                	call   *%esi
404b4f:	53                   	push   %ebx
404b50:	53                   	push   %ebx
404b51:	68 1c 11 00 00       	push   $0x111c
404b56:	ff 75 fc             	push   -0x4(%ebp)
404b59:	ff d6                	call   *%esi
404b5b:	3b c7                	cmp    %edi,%eax
404b5d:	7d 0c                	jge    0x404b6b
404b5f:	53                   	push   %ebx
404b60:	57                   	push   %edi
404b61:	68 1b 11 00 00       	push   $0x111b
404b66:	ff 75 fc             	push   -0x4(%ebp)
404b69:	ff d6                	call   *%esi
404b6b:	ff 75 f4             	push   -0xc(%ebp)
404b6e:	ff 15 60 70 40 00    	call   *0x407060
404b74:	33 ff                	xor    %edi,%edi
404b76:	8b 45 e8             	mov    -0x18(%ebp),%eax
404b79:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404b7c:	3b c3                	cmp    %ebx,%eax
404b7e:	74 27                	je     0x404ba7
404b80:	83 ff 20             	cmp    $0x20,%edi
404b83:	74 03                	je     0x404b88
404b85:	89 5d f0             	mov    %ebx,-0x10(%ebp)
404b88:	50                   	push   %eax
404b89:	53                   	push   %ebx
404b8a:	e8 6d 14 00 00       	call   0x405ffc
404b8f:	50                   	push   %eax
404b90:	53                   	push   %ebx
404b91:	68 43 01 00 00       	push   $0x143
404b96:	ff 75 f8             	push   -0x8(%ebp)
404b99:	ff d6                	call   *%esi
404b9b:	57                   	push   %edi
404b9c:	50                   	push   %eax
404b9d:	68 51 01 00 00       	push   $0x151
404ba2:	ff 75 f8             	push   -0x8(%ebp)
404ba5:	ff d6                	call   *%esi
404ba7:	47                   	inc    %edi
404ba8:	83 ff 21             	cmp    $0x21,%edi
404bab:	7c c9                	jl     0x404b76
404bad:	8b 7d 14             	mov    0x14(%ebp),%edi
404bb0:	8b 45 f0             	mov    -0x10(%ebp),%eax
404bb3:	ff 74 87 30          	push   0x30(%edi,%eax,4)
404bb7:	6a 15                	push   $0x15
404bb9:	ff 75 08             	push   0x8(%ebp)
404bbc:	e8 a7 f4 ff ff       	call   0x404068
404bc1:	8b 45 f0             	mov    -0x10(%ebp),%eax
404bc4:	ff 74 87 34          	push   0x34(%edi,%eax,4)
404bc8:	6a 16                	push   $0x16
404bca:	ff 75 08             	push   0x8(%ebp)
404bcd:	e8 96 f4 ff ff       	call   0x404068
404bd2:	33 ff                	xor    %edi,%edi
404bd4:	39 1d 4c 37 42 00    	cmp    %ebx,0x42374c
404bda:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404bdd:	0f 8e c9 00 00 00    	jle    0x404cac
404be3:	8b 45 ec             	mov    -0x14(%ebp),%eax
404be6:	8d 50 08             	lea    0x8(%eax),%edx
404be9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404bec:	8d 42 10             	lea    0x10(%edx),%eax
404bef:	38 18                	cmp    %bl,(%eax)
404bf1:	0f 84 97 00 00 00    	je     0x404c8e
404bf7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404bfa:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404bfd:	8b 02                	mov    (%edx),%eax
404bff:	6a 20                	push   $0x20
404c01:	89 4d ac             	mov    %ecx,-0x54(%ebp)
404c04:	59                   	pop    %ecx
404c05:	8b d0                	mov    %eax,%edx
404c07:	c7 45 b0 02 00 ff ff 	movl   $0xffff0002,-0x50(%ebp)
404c0e:	23 d1                	and    %ecx,%edx
404c10:	c7 45 b4 0d 00 00 00 	movl   $0xd,-0x4c(%ebp)
404c17:	a8 02                	test   $0x2,%al
404c19:	89 4d c0             	mov    %ecx,-0x40(%ebp)
404c1c:	89 7d d8             	mov    %edi,-0x28(%ebp)
404c1f:	89 55 bc             	mov    %edx,-0x44(%ebp)
404c22:	74 3a                	je     0x404c5e
404c24:	8d 45 ac             	lea    -0x54(%ebp),%eax
404c27:	c7 45 b4 4d 00 00 00 	movl   $0x4d,-0x4c(%ebp)
404c2e:	50                   	push   %eax
404c2f:	53                   	push   %ebx
404c30:	68 00 11 00 00       	push   $0x1100
404c35:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
404c3c:	ff 75 fc             	push   -0x4(%ebp)
404c3f:	ff d6                	call   *%esi
404c41:	8b 0d 00 fd 41 00    	mov    0x41fd00,%ecx
404c47:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
404c4e:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404c51:	a1 00 fd 41 00       	mov    0x41fd00,%eax
404c56:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404c59:	89 45 f4             	mov    %eax,-0xc(%ebp)
404c5c:	eb 30                	jmp    0x404c8e
404c5e:	a8 04                	test   $0x4,%al
404c60:	74 14                	je     0x404c76