4048e3:	50                   	push   %eax
4048e4:	ff 15 44 81 40 00    	call   *0x408144
4048ea:	99                   	cltd
4048eb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4048ee:	89 55 d8             	mov    %edx,-0x28(%ebp)
4048f1:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4048f8:	eb 21                	jmp    0x40491b
4048fa:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4048fd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
404900:	0f ac c8 0a          	shrd   $0xa,%ecx,%eax
404904:	c1 e9 0a             	shr    $0xa,%ecx
404907:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40490a:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40490d:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404914:	33 ff                	xor    %edi,%edi
404916:	be 00 04 00 00       	mov    $0x400,%esi
40491b:	6a 05                	push   $0x5
40491d:	e8 f8 01 00 00       	call   0x404b1a
404922:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404925:	74 19                	je     0x404940
404927:	8b 55 d8             	mov    -0x28(%ebp),%edx
40492a:	33 c9                	xor    %ecx,%ecx
40492c:	3b d1                	cmp    %ecx,%edx
40492e:	77 10                	ja     0x404940
404930:	72 07                	jb     0x404939
404932:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
404935:	3b c8                	cmp    %eax,%ecx
404937:	73 07                	jae    0x404940
404939:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
404940:	8b 0d fc eb 42 00    	mov    0x42ebfc,%ecx
404946:	39 79 10             	cmp    %edi,0x10(%ecx)
404949:	74 30                	je     0x40497b
40494b:	50                   	push   %eax
40494c:	6a fb                	push   $0xfffffffb
40494e:	68 ff 03 00 00       	push   $0x3ff
404953:	e8 aa 01 00 00       	call   0x404b02
404958:	39 7d f8             	cmp    %edi,-0x8(%ebp)
40495b:	74 10                	je     0x40496d
40495d:	ff 75 d8             	push   -0x28(%ebp)
404960:	ff 75 d4             	push   -0x2c(%ebp)
404963:	6a fc                	push   $0xfffffffc
404965:	56                   	push   %esi
404966:	e8 d2 00 00 00       	call   0x404a3d
40496b:	eb 0e                	jmp    0x40497b
40496d:	68 58 98 42 00       	push   $0x429858
404972:	56                   	push   %esi
404973:	ff 75 08             	push   0x8(%ebp)
404976:	e8 e5 0e 00 00       	call   0x405860
40497b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40497e:	3b c7                	cmp    %edi,%eax
404980:	a3 e4 f4 42 00       	mov    %eax,0x42f4e4
404985:	75 0a                	jne    0x404991
404987:	6a 07                	push   $0x7
404989:	e8 7d ca ff ff       	call   0x40140b
40498e:	89 45 fc             	mov    %eax,-0x4(%ebp)
404991:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404994:	85 70 14             	test   %esi,0x14(%eax)
404997:	74 03                	je     0x40499c
404999:	89 7d fc             	mov    %edi,-0x4(%ebp)
40499c:	33 c0                	xor    %eax,%eax
40499e:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4049a1:	0f 94 c0             	sete   %al
4049a4:	50                   	push   %eax
4049a5:	e8 6c f8 ff ff       	call   0x404216
4049aa:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4049ad:	75 0d                	jne    0x4049bc
4049af:	39 3d 88 a8 42 00    	cmp    %edi,0x42a888
4049b5:	75 05                	jne    0x4049bc
4049b7:	e8 23 fc ff ff       	call   0x4045df
4049bc:	89 3d 88 a8 42 00    	mov    %edi,0x42a888
4049c2:	ff 75 14             	push   0x14(%ebp)
4049c5:	ff 75 10             	push   0x10(%ebp)
4049c8:	ff 75 0c             	push   0xc(%ebp)
4049cb:	e8 8b f8 ff ff       	call   0x40425b
4049d0:	5f                   	pop    %edi
4049d1:	5e                   	pop    %esi
4049d2:	5b                   	pop    %ebx
4049d3:	c9                   	leave
4049d4:	c2 10 00             	ret    $0x10
4049d7:	55                   	push   %ebp
4049d8:	8b ec                	mov    %esp,%ebp
4049da:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4049de:	56                   	push   %esi
4049df:	8b 35 00 82 40 00    	mov    0x408200,%esi
4049e5:	75 1c                	jne    0x404a03
4049e7:	ff 75 14             	push   0x14(%ebp)
4049ea:	68 fb 03 00 00       	push   $0x3fb
4049ef:	e8 72 0e 00 00       	call   0x405866
4049f4:	ff 75 14             	push   0x14(%ebp)
4049f7:	6a 01                	push   $0x1
4049f9:	68 66 04 00 00       	push   $0x466
4049fe:	ff 75 08             	push   0x8(%ebp)
404a01:	ff d6                	call   *%esi
404a03:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
404a07:	75 2d                	jne    0x404a36
404a09:	ff 75 14             	push   0x14(%ebp)
404a0c:	ff 75 10             	push   0x10(%ebp)
404a0f:	ff 15 70 81 40 00    	call   *0x408170
404a15:	85 c0                	test   %eax,%eax
404a17:	74 0e                	je     0x404a27
404a19:	6a 07                	push   $0x7
404a1b:	e8 eb c9 ff ff       	call   0x40140b
404a20:	85 c0                	test   %eax,%eax
404a22:	75 03                	jne    0x404a27
404a24:	40                   	inc    %eax
404a25:	eb 02                	jmp    0x404a29
404a27:	33 c0                	xor    %eax,%eax
404a29:	50                   	push   %eax
404a2a:	6a 00                	push   $0x0
404a2c:	68 65 04 00 00       	push   $0x465
404a31:	ff 75 08             	push   0x8(%ebp)
404a34:	ff d6                	call   *%esi
404a36:	33 c0                	xor    %eax,%eax
404a38:	5e                   	pop    %esi
404a39:	5d                   	pop    %ebp
404a3a:	c2 10 00             	ret    $0x10
404a3d:	55                   	push   %ebp
404a3e:	8b ec                	mov    %esp,%ebp
404a40:	83 ec 40             	sub    $0x40,%esp
404a43:	8b 45 14             	mov    0x14(%ebp),%eax
404a46:	53                   	push   %ebx
404a47:	56                   	push   %esi
404a48:	8b 75 10             	mov    0x10(%ebp),%esi
404a4b:	57                   	push   %edi
404a4c:	6a dc                	push   $0xffffffdc
404a4e:	85 c0                	test   %eax,%eax
404a50:	5b                   	pop    %ebx
404a51:	74 0b                	je     0x404a5e
404a53:	0f ac c6 14          	shrd   $0x14,%eax,%esi
404a57:	c1 e8 14             	shr    $0x14,%eax
404a5a:	33 ff                	xor    %edi,%edi
404a5c:	eb 4e                	jmp    0x404aac
404a5e:	6a 14                	push   $0x14
404a60:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
404a66:	59                   	pop    %ecx
404a67:	8b c6                	mov    %esi,%eax
404a69:	73 06                	jae    0x404a71
404a6b:	6a 0a                	push   $0xa
404a6d:	59                   	pop    %ecx
404a6e:	6a dd                	push   $0xffffffdd
404a70:	5b                   	pop    %ebx
404a71:	81 fe 00 04 00 00    	cmp    $0x400,%esi
404a77:	73 05                	jae    0x404a7e
404a79:	6a de                	push   $0xffffffde
404a7b:	33 c9                	xor    %ecx,%ecx
404a7d:	5b                   	pop    %ebx
404a7e:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
404a84:	73 0d                	jae    0x404a93
404a86:	33 c0                	xor    %eax,%eax
404a88:	6a 14                	push   $0x14
404a8a:	40                   	inc    %eax
404a8b:	5f                   	pop    %edi
404a8c:	d3 e0                	shl    %cl,%eax
404a8e:	99                   	cltd
404a8f:	f7 ff                	idiv   %edi
404a91:	03 c6                	add    %esi,%eax
404a93:	8b f0                	mov    %eax,%esi
404a95:	25 ff ff ff 00       	and    $0xffffff,%eax
404a9a:	6a 0a                	push   $0xa
404a9c:	33 d2                	xor    %edx,%edx
404a9e:	8d 04 80             	lea    (%eax,%eax,4),%eax
404aa1:	03 c0                	add    %eax,%eax
404aa3:	d3 e8                	shr    %cl,%eax
404aa5:	d3 ee                	shr    %cl,%esi
404aa7:	59                   	pop    %ecx
404aa8:	f7 f1                	div    %ecx
404aaa:	8b fa                	mov    %edx,%edi
404aac:	8d 45 e0             	lea    -0x20(%ebp),%eax
404aaf:	6a df                	push   $0xffffffdf
404ab1:	50                   	push   %eax
404ab2:	e8 d1 16 00 00       	call   0x406188
404ab7:	50                   	push   %eax
404ab8:	8d 45 c0             	lea    -0x40(%ebp),%eax
404abb:	53                   	push   %ebx
404abc:	50                   	push   %eax
404abd:	e8 c6 16 00 00       	call   0x406188
404ac2:	50                   	push   %eax
404ac3:	57                   	push   %edi
404ac4:	56                   	push   %esi
404ac5:	68 24 a2 40 00       	push   $0x40a224
404aca:	ff 75 0c             	push   0xc(%ebp)
404acd:	be 98 a8 42 00       	mov    $0x42a898,%esi
404ad2:	56                   	push   %esi
404ad3:	e8 b0 16 00 00       	call   0x406188
404ad8:	56                   	push   %esi
404ad9:	8b f8                	mov    %eax,%edi
404adb:	e8 9c 16 00 00       	call   0x40617c
404ae0:	03 f8                	add    %eax,%edi
404ae2:	57                   	push   %edi
404ae3:	ff 15 74 82 40 00    	call   *0x408274
404ae9:	83 c4 18             	add    $0x18,%esp
404aec:	56                   	push   %esi
404aed:	ff 75 08             	push   0x8(%ebp)
404af0:	ff 35 f8 eb 42 00    	push   0x42ebf8
404af6:	e8 65 0d 00 00       	call   0x405860
404afb:	5f                   	pop    %edi
404afc:	5e                   	pop    %esi
404afd:	5b                   	pop    %ebx
404afe:	c9                   	leave
404aff:	c2 10 00             	ret    $0x10
404b02:	8b 44 24 0c          	mov    0xc(%esp),%eax
404b06:	33 c9                	xor    %ecx,%ecx
404b08:	51                   	push   %ecx
404b09:	50                   	push   %eax
404b0a:	ff 74 24 10          	push   0x10(%esp)
404b0e:	ff 74 24 10          	push   0x10(%esp)
404b12:	e8 26 ff ff ff       	call   0x404a3d
404b17:	c2 0c 00             	ret    $0xc
404b1a:	8b 15 6c f4 42 00    	mov    0x42f46c,%edx
404b20:	8b 0d 68 f4 42 00    	mov    0x42f468,%ecx
404b26:	33 c0                	xor    %eax,%eax
404b28:	85 d2                	test   %edx,%edx
404b2a:	74 18                	je     0x404b44
404b2c:	56                   	push   %esi
404b2d:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
404b31:	74 07                	je     0x404b3a
404b33:	8b 74 24 08          	mov    0x8(%esp),%esi
404b37:	03 04 b1             	add    (%ecx,%esi,4),%eax
404b3a:	81 c1 18 04 00 00    	add    $0x418,%ecx
404b40:	4a                   	dec    %edx
404b41:	75 ea                	jne    0x404b2d
404b43:	5e                   	pop    %esi
404b44:	c2 04 00             	ret    $0x4
404b47:	55                   	push   %ebp
404b48:	8b ec                	mov    %esp,%ebp
404b4a:	83 ec 38             	sub    $0x38,%esp
404b4d:	56                   	push   %esi
404b4e:	8b 35 00 82 40 00    	mov    0x408200,%esi
404b54:	57                   	push   %edi
404b55:	8b 7d 08             	mov    0x8(%ebp),%edi
404b58:	6a 00                	push   $0x0
404b5a:	6a 09                	push   $0x9
404b5c:	68 0a 11 00 00       	push   $0x110a
404b61:	57                   	push   %edi
404b62:	ff d6                	call   *%esi
404b64:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
404b68:	74 3c                	je     0x404ba6
404b6a:	ff 15 ac 81 40 00    	call   *0x4081ac
404b70:	0f bf c8             	movswl %ax,%ecx
404b73:	c1 e8 10             	shr    $0x10,%eax
404b76:	0f bf c0             	movswl %ax,%eax
404b79:	89 45 f4             	mov    %eax,-0xc(%ebp)
404b7c:	8d 45 f0             	lea    -0x10(%ebp),%eax
404b7f:	50                   	push   %eax
404b80:	57                   	push   %edi
404b81:	89 4d f0             	mov    %ecx,-0x10(%ebp)
404b84:	ff 15 c8 81 40 00    	call   *0x4081c8
404b8a:	8d 45 f0             	lea    -0x10(%ebp),%eax
404b8d:	50                   	push   %eax
404b8e:	6a 00                	push   $0x0
404b90:	68 11 11 00 00       	push   $0x1111
404b95:	57                   	push   %edi
404b96:	ff d6                	call   *%esi
404b98:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404b9c:	75 05                	jne    0x404ba3
404b9e:	83 c8 ff             	or     $0xffffffff,%eax
404ba1:	eb 1e                	jmp    0x404bc1
404ba3:	8b 45 fc             	mov    -0x4(%ebp),%eax
404ba6:	89 45 cc             	mov    %eax,-0x34(%ebp)
404ba9:	8d 45 c8             	lea    -0x38(%ebp),%eax
404bac:	50                   	push   %eax
404bad:	6a 00                	push   $0x0
404baf:	68 0c 11 00 00       	push   $0x110c
404bb4:	57                   	push   %edi
404bb5:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404bbc:	ff d6                	call   *%esi
404bbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
404bc1:	5f                   	pop    %edi
404bc2:	5e                   	pop    %esi
404bc3:	c9                   	leave
404bc4:	c2 08 00             	ret    $0x8
404bc7:	56                   	push   %esi
404bc8:	57                   	push   %edi
404bc9:	be 00 00 43 00       	mov    $0x430000,%esi
404bce:	bf 98 a8 42 00       	mov    $0x42a898,%edi
404bd3:	56                   	push   %esi
404bd4:	57                   	push   %edi
404bd5:	e8 8c 15 00 00       	call   0x406166
404bda:	ff 74 24 10          	push   0x10(%esp)
404bde:	56                   	push   %esi
404bdf:	e8 e0 14 00 00       	call   0x4060c4
404be4:	ff 74 24 0c          	push   0xc(%esp)
404be8:	e8 1e c8 ff ff       	call   0x40140b
404bed:	57                   	push   %edi
404bee:	56                   	push   %esi
404bef:	e8 72 15 00 00       	call   0x406166
404bf4:	5f                   	pop    %edi
404bf5:	5e                   	pop    %esi
404bf6:	c2 08 00             	ret    $0x8
404bf9:	55                   	push   %ebp
404bfa:	8b ec                	mov    %esp,%ebp
404bfc:	83 ec 54             	sub    $0x54,%esp
404bff:	53                   	push   %ebx
404c00:	56                   	push   %esi
404c01:	8b 35 d0 81 40 00    	mov    0x4081d0,%esi
404c07:	57                   	push   %edi
404c08:	68 f9 03 00 00       	push   $0x3f9
404c0d:	ff 75 08             	push   0x8(%ebp)
404c10:	ff d6                	call   *%esi
404c12:	68 08 04 00 00       	push   $0x408
404c17:	89 45 f8             	mov    %eax,-0x8(%ebp)
404c1a:	ff 75 08             	push   0x8(%ebp)
404c1d:	ff d6                	call   *%esi
404c1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
404c22:	a1 68 f4 42 00       	mov    0x42f468,%eax
404c27:	8b 35 00 82 40 00    	mov    0x408200,%esi
404c2d:	89 45 ec             	mov    %eax,-0x14(%ebp)
404c30:	a1 34 f4 42 00       	mov    0x42f434,%eax
404c35:	33 db                	xor    %ebx,%ebx
404c37:	05 94 00 00 00       	add    $0x94,%eax
404c3c:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404c43:	6a 10                	push   $0x10
404c45:	89 45 e8             	mov    %eax,-0x18(%ebp)
404c48:	5f                   	pop    %edi
404c49:	0f 85 27 02 00 00    	jne    0x404e76
404c4f:	8b 45 08             	mov    0x8(%ebp),%eax
404c52:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404c55:	a3 a0 f4 42 00       	mov    %eax,0x42f4a0
404c5a:	a1 6c f4 42 00       	mov    0x42f46c,%eax
404c5f:	c1 e0 02             	shl    $0x2,%eax
404c62:	50                   	push   %eax
404c63:	6a 40                	push   $0x40
404c65:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
404c6c:	ff 15 58 81 40 00    	call   *0x408158
404c72:	53                   	push   %ebx
404c73:	53                   	push   %ebx
404c74:	53                   	push   %ebx
404c75:	53                   	push   %ebx
404c76:	6a 6e                	push   $0x6e
404c78:	a3 90 a8 42 00       	mov    %eax,0x42a890
404c7d:	ff 35 20 f4 42 00    	push   0x42f420
404c83:	ff 15 34 82 40 00    	call   *0x408234
404c89:	83 0d 84 a8 42 00 ff 	orl    $0xffffffff,0x42a884
404c90:	68 01 52 40 00       	push   $0x405201
404c95:	6a fc                	push   $0xfffffffc
404c97:	89 45 f4             	mov    %eax,-0xc(%ebp)
404c9a:	ff 75 fc             	push   -0x4(%ebp)
404c9d:	ff 15 4c 82 40 00    	call   *0x40824c
404ca3:	53                   	push   %ebx
404ca4:	6a 06                	push   $0x6
404ca6:	6a 21                	push   $0x21
404ca8:	57                   	push   %edi
404ca9:	57                   	push   %edi
404caa:	a3 8c a8 42 00       	mov    %eax,0x42a88c
404caf:	ff 15 38 80 40 00    	call   *0x408038
404cb5:	68 ff 00 ff 00       	push   $0xff00ff
404cba:	a3 7c a8 42 00       	mov    %eax,0x42a87c
404cbf:	ff 75 f4             	push   -0xc(%ebp)
404cc2:	50                   	push   %eax
404cc3:	ff 15 3c 80 40 00    	call   *0x40803c