41a906:	8b 44 24 04          	mov    0x4(%esp),%eax
41a90a:	e8 f1 8c fe ff       	call   0x403600
41a90f:	84 c0                	test   %al,%al
41a911:	74 13                	je     0x41a926
41a913:	85 ed                	test   %ebp,%ebp
41a915:	74 0d                	je     0x41a924
41a917:	8b d5                	mov    %ebp,%edx
41a919:	8b c3                	mov    %ebx,%eax
41a91b:	e8 e0 8c fe ff       	call   0x403600
41a920:	84 c0                	test   %al,%al
41a922:	74 02                	je     0x41a926
41a924:	8b eb                	mov    %ebx,%ebp
41a926:	47                   	inc    %edi
41a927:	4e                   	dec    %esi
41a928:	75 cb                	jne    0x41a8f5
41a92a:	8b c5                	mov    %ebp,%eax
41a92c:	59                   	pop    %ecx
41a92d:	5a                   	pop    %edx
41a92e:	5d                   	pop    %ebp
41a92f:	5f                   	pop    %edi
41a930:	5e                   	pop    %esi
41a931:	5b                   	pop    %ebx
41a932:	c3                   	ret
41a933:	90                   	nop
41a934:	55                   	push   %ebp
41a935:	8b ec                	mov    %esp,%ebp
41a937:	51                   	push   %ecx
41a938:	53                   	push   %ebx
41a939:	56                   	push   %esi
41a93a:	57                   	push   %edi
41a93b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a93e:	8b fa                	mov    %edx,%edi
41a940:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a943:	85 ff                	test   %edi,%edi
41a945:	74 0d                	je     0x41a954
41a947:	8b d3                	mov    %ebx,%edx
41a949:	8b c7                	mov    %edi,%eax
41a94b:	e8 84 ff ff ff       	call   0x41a8d4
41a950:	8b f0                	mov    %eax,%esi
41a952:	eb 02                	jmp    0x41a956
41a954:	33 f6                	xor    %esi,%esi
41a956:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a95a:	74 0e                	je     0x41a96a
41a95c:	8b d3                	mov    %ebx,%edx
41a95e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a961:	e8 6e ff ff ff       	call   0x41a8d4
41a966:	8b d8                	mov    %eax,%ebx
41a968:	eb 02                	jmp    0x41a96c
41a96a:	33 db                	xor    %ebx,%ebx
41a96c:	85 f6                	test   %esi,%esi
41a96e:	75 0d                	jne    0x41a97d
41a970:	85 db                	test   %ebx,%ebx
41a972:	75 04                	jne    0x41a978
41a974:	33 c0                	xor    %eax,%eax
41a976:	eb 21                	jmp    0x41a999
41a978:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a97b:	eb 1c                	jmp    0x41a999
41a97d:	85 db                	test   %ebx,%ebx
41a97f:	75 04                	jne    0x41a985
41a981:	8b c7                	mov    %edi,%eax
41a983:	eb 14                	jmp    0x41a999
41a985:	8b d3                	mov    %ebx,%edx
41a987:	8b c6                	mov    %esi,%eax
41a989:	e8 72 8c fe ff       	call   0x403600
41a98e:	84 c0                	test   %al,%al
41a990:	74 04                	je     0x41a996
41a992:	8b c7                	mov    %edi,%eax
41a994:	eb 03                	jmp    0x41a999
41a996:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a999:	5f                   	pop    %edi
41a99a:	5e                   	pop    %esi
41a99b:	5b                   	pop    %ebx
41a99c:	59                   	pop    %ecx
41a99d:	5d                   	pop    %ebp
41a99e:	c2 04 00             	ret    $0x4
41a9a1:	8d 40 00             	lea    0x0(%eax),%eax
41a9a4:	55                   	push   %ebp
41a9a5:	8b ec                	mov    %esp,%ebp
41a9a7:	51                   	push   %ecx
41a9a8:	53                   	push   %ebx
41a9a9:	56                   	push   %esi
41a9aa:	57                   	push   %edi
41a9ab:	84 d2                	test   %dl,%dl
41a9ad:	74 08                	je     0x41a9b7
41a9af:	83 c4 f0             	add    $0xfffffff0,%esp
41a9b2:	e8 81 8d fe ff       	call   0x403738
41a9b7:	8b f9                	mov    %ecx,%edi
41a9b9:	88 55 ff             	mov    %dl,-0x1(%ebp)
41a9bc:	8b d8                	mov    %eax,%ebx
41a9be:	33 d2                	xor    %edx,%edx
41a9c0:	8b c3                	mov    %ebx,%eax
41a9c2:	e8 f5 89 fe ff       	call   0x4033bc
41a9c7:	b2 01                	mov    $0x1,%dl
41a9c9:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41a9ce:	e8 e9 89 fe ff       	call   0x4033bc
41a9d3:	89 43 04             	mov    %eax,0x4(%ebx)
41a9d6:	b2 01                	mov    $0x1,%dl
41a9d8:	a1 20 9c 41 00       	mov    0x419c20,%eax
41a9dd:	e8 da 89 fe ff       	call   0x4033bc
41a9e2:	89 43 08             	mov    %eax,0x8(%ebx)
41a9e5:	b2 01                	mov    $0x1,%dl
41a9e7:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41a9ec:	e8 cb 89 fe ff       	call   0x4033bc
41a9f1:	8b f0                	mov    %eax,%esi
41a9f3:	89 73 0c             	mov    %esi,0xc(%ebx)
41a9f6:	8b c6                	mov    %esi,%eax
41a9f8:	8b d7                	mov    %edi,%edx
41a9fa:	e8 95 12 00 00       	call   0x41bc94
41a9ff:	8b c3                	mov    %ebx,%eax
41aa01:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41aa05:	74 0f                	je     0x41aa16
41aa07:	e8 84 8d fe ff       	call   0x403790
41aa0c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41aa13:	83 c4 0c             	add    $0xc,%esp
41aa16:	8b c3                	mov    %ebx,%eax
41aa18:	5f                   	pop    %edi
41aa19:	5e                   	pop    %esi
41aa1a:	5b                   	pop    %ebx
41aa1b:	59                   	pop    %ecx
41aa1c:	5d                   	pop    %ebp
41aa1d:	c3                   	ret
41aa1e:	8b c0                	mov    %eax,%eax
41aa20:	53                   	push   %ebx
41aa21:	56                   	push   %esi
41aa22:	e8 79 8d fe ff       	call   0x4037a0
41aa27:	8b da                	mov    %edx,%ebx
41aa29:	8b f0                	mov    %eax,%esi
41aa2b:	8b d3                	mov    %ebx,%edx
41aa2d:	80 e2 fc             	and    $0xfc,%dl
41aa30:	8b c6                	mov    %esi,%eax
41aa32:	e8 a5 89 fe ff       	call   0x4033dc
41aa37:	8b 46 04             	mov    0x4(%esi),%eax
41aa3a:	e8 ad 89 fe ff       	call   0x4033ec
41aa3f:	8b 46 08             	mov    0x8(%esi),%eax
41aa42:	e8 a5 89 fe ff       	call   0x4033ec
41aa47:	8b 46 0c             	mov    0xc(%esi),%eax
41aa4a:	e8 9d 89 fe ff       	call   0x4033ec
41aa4f:	84 db                	test   %bl,%bl
41aa51:	7e 07                	jle    0x41aa5a
41aa53:	8b c6                	mov    %esi,%eax
41aa55:	e8 2e 8d fe ff       	call   0x403788
41aa5a:	5e                   	pop    %esi
41aa5b:	5b                   	pop    %ebx
41aa5c:	c3                   	ret
41aa5d:	8d 40 00             	lea    0x0(%eax),%eax
41aa60:	53                   	push   %ebx
41aa61:	56                   	push   %esi
41aa62:	57                   	push   %edi
41aa63:	55                   	push   %ebp
41aa64:	51                   	push   %ecx
41aa65:	89 14 24             	mov    %edx,(%esp)
41aa68:	8b e8                	mov    %eax,%ebp
41aa6a:	8b 45 04             	mov    0x4(%ebp),%eax
41aa6d:	8b 70 08             	mov    0x8(%eax),%esi
41aa70:	4e                   	dec    %esi
41aa71:	85 f6                	test   %esi,%esi
41aa73:	7c 21                	jl     0x41aa96
41aa75:	46                   	inc    %esi
41aa76:	33 db                	xor    %ebx,%ebx
41aa78:	8b 45 04             	mov    0x4(%ebp),%eax
41aa7b:	8b d3                	mov    %ebx,%edx
41aa7d:	e8 6e 13 00 00       	call   0x41bdf0
41aa82:	8b f8                	mov    %eax,%edi
41aa84:	8b 14 24             	mov    (%esp),%edx
41aa87:	8b c7                	mov    %edi,%eax
41aa89:	e8 c2 88 fe ff       	call   0x403350
41aa8e:	84 c0                	test   %al,%al
41aa90:	75 25                	jne    0x41aab7
41aa92:	43                   	inc    %ebx
41aa93:	4e                   	dec    %esi
41aa94:	75 e2                	jne    0x41aa78
41aa96:	8b 45 08             	mov    0x8(%ebp),%eax
41aa99:	8b 14 24             	mov    (%esp),%edx
41aa9c:	8b 08                	mov    (%eax),%ecx
41aa9e:	ff 51 54             	call   *0x54(%ecx)
41aaa1:	8b d8                	mov    %eax,%ebx
41aaa3:	85 db                	test   %ebx,%ebx
41aaa5:	7c 0e                	jl     0x41aab5
41aaa7:	8b 45 08             	mov    0x8(%ebp),%eax
41aaaa:	8b d3                	mov    %ebx,%edx
41aaac:	8b 08                	mov    (%eax),%ecx
41aaae:	ff 51 18             	call   *0x18(%ecx)
41aab1:	8b f8                	mov    %eax,%edi
41aab3:	eb 02                	jmp    0x41aab7
41aab5:	33 ff                	xor    %edi,%edi
41aab7:	8b c7                	mov    %edi,%eax
41aab9:	5a                   	pop    %edx
41aaba:	5d                   	pop    %ebp
41aabb:	5f                   	pop    %edi
41aabc:	5e                   	pop    %esi
41aabd:	5b                   	pop    %ebx
41aabe:	c3                   	ret
41aabf:	90                   	nop
41aac0:	53                   	push   %ebx
41aac1:	56                   	push   %esi
41aac2:	57                   	push   %edi
41aac3:	55                   	push   %ebp
41aac4:	51                   	push   %ecx
41aac5:	8b ea                	mov    %edx,%ebp
41aac7:	8b f8                	mov    %eax,%edi
41aac9:	c6 04 24 01          	movb   $0x1,(%esp)
41aacd:	8b 47 0c             	mov    0xc(%edi),%eax
41aad0:	8b 58 08             	mov    0x8(%eax),%ebx
41aad3:	4b                   	dec    %ebx
41aad4:	85 db                	test   %ebx,%ebx
41aad6:	7c 1e                	jl     0x41aaf6
41aad8:	43                   	inc    %ebx
41aad9:	33 f6                	xor    %esi,%esi
41aadb:	8b 47 0c             	mov    0xc(%edi),%eax
41aade:	8b d6                	mov    %esi,%edx
41aae0:	e8 0b 13 00 00       	call   0x41bdf0
41aae5:	8b d0                	mov    %eax,%edx
41aae7:	8b c5                	mov    %ebp,%eax
41aae9:	e8 12 8b fe ff       	call   0x403600
41aaee:	84 c0                	test   %al,%al
41aaf0:	75 08                	jne    0x41aafa
41aaf2:	46                   	inc    %esi
41aaf3:	4b                   	dec    %ebx
41aaf4:	75 e5                	jne    0x41aadb
41aaf6:	c6 04 24 00          	movb   $0x0,(%esp)
41aafa:	8a 04 24             	mov    (%esp),%al
41aafd:	5a                   	pop    %edx
41aafe:	5d                   	pop    %ebp
41aaff:	5f                   	pop    %edi
41ab00:	5e                   	pop    %esi
41ab01:	5b                   	pop    %ebx
41ab02:	c3                   	ret
41ab03:	90                   	nop
41ab04:	55                   	push   %ebp
41ab05:	8b ec                	mov    %esp,%ebp
41ab07:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
41ab0d:	53                   	push   %ebx
41ab0e:	56                   	push   %esi
41ab0f:	33 c9                	xor    %ecx,%ecx
41ab11:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ab14:	8b f2                	mov    %edx,%esi
41ab16:	8b d8                	mov    %eax,%ebx
41ab18:	33 c0                	xor    %eax,%eax
41ab1a:	55                   	push   %ebp
41ab1b:	68 9f ab 41 00       	push   $0x41ab9f
41ab20:	64 ff 30             	push   %fs:(%eax)
41ab23:	64 89 20             	mov    %esp,%fs:(%eax)
41ab26:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
41ab2c:	8b c6                	mov    %esi,%eax
41ab2e:	e8 09 88 fe ff       	call   0x40333c
41ab33:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
41ab39:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ab3c:	e8 87 98 fe ff       	call   0x4043c8
41ab41:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ab44:	8b c3                	mov    %ebx,%eax
41ab46:	e8 15 ff ff ff       	call   0x41aa60
41ab4b:	85 c0                	test   %eax,%eax
41ab4d:	74 30                	je     0x41ab7f
41ab4f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ab52:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
41ab58:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
41ab5f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41ab65:	50                   	push   %eax
41ab66:	6a 00                	push   $0x0
41ab68:	8b 0d 38 b3 49 00    	mov    0x49b338,%ecx
41ab6e:	b2 01                	mov    $0x1,%dl
41ab70:	a1 d4 91 41 00       	mov    0x4191d4,%eax
41ab75:	e8 b6 19 ff ff       	call   0x40c530
41ab7a:	e8 21 90 fe ff       	call   0x403ba0
41ab7f:	8b d6                	mov    %esi,%edx
41ab81:	8b 43 04             	mov    0x4(%ebx),%eax
41ab84:	e8 0b 11 00 00       	call   0x41bc94
41ab89:	33 c0                	xor    %eax,%eax
41ab8b:	5a                   	pop    %edx
41ab8c:	59                   	pop    %ecx
41ab8d:	59                   	pop    %ecx
41ab8e:	64 89 10             	mov    %edx,%fs:(%eax)
41ab91:	68 a6 ab 41 00       	push   $0x41aba6
41ab96:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ab99:	e8 c6 95 fe ff       	call   0x404164
41ab9e:	c3                   	ret
41ab9f:	e9 c4 8f fe ff       	jmp    0x403b68
41aba4:	eb f0                	jmp    0x41ab96
41aba6:	5e                   	pop    %esi
41aba7:	5b                   	pop    %ebx
41aba8:	8b e5                	mov    %ebp,%esp
41abaa:	5d                   	pop    %ebp
41abab:	c3                   	ret
41abac:	53                   	push   %ebx
41abad:	56                   	push   %esi
41abae:	8b f2                	mov    %edx,%esi
41abb0:	8b d8                	mov    %eax,%ebx
41abb2:	8b d6                	mov    %esi,%edx
41abb4:	8b 43 04             	mov    0x4(%ebx),%eax
41abb7:	e8 90 12 00 00       	call   0x41be4c
41abbc:	85 c0                	test   %eax,%eax
41abbe:	0f 9d c0             	setge  %al
41abc1:	5e                   	pop    %esi
41abc2:	5b                   	pop    %ebx
41abc3:	c3                   	ret
41abc4:	53                   	push   %ebx
41abc5:	56                   	push   %esi
41abc6:	8b da                	mov    %edx,%ebx
41abc8:	8b f0                	mov    %eax,%esi
41abca:	85 db                	test   %ebx,%ebx
41abcc:	74 10                	je     0x41abde
41abce:	8b c6                	mov    %esi,%eax
41abd0:	e8 57 ab fe ff       	call   0x40572c
41abd5:	3b d8                	cmp    %eax,%ebx
41abd7:	74 05                	je     0x41abde
41abd9:	33 c0                	xor    %eax,%eax
41abdb:	5e                   	pop    %esi
41abdc:	5b                   	pop    %ebx
41abdd:	c3                   	ret
41abde:	b0 01                	mov    $0x1,%al
41abe0:	5e                   	pop    %esi
41abe1:	5b                   	pop    %ebx
41abe2:	c3                   	ret
41abe3:	90                   	nop
41abe4:	53                   	push   %ebx
41abe5:	56                   	push   %esi
41abe6:	57                   	push   %edi
41abe7:	8b fa                	mov    %edx,%edi
41abe9:	8b f0                	mov    %eax,%esi
41abeb:	8b 46 0c             	mov    0xc(%esi),%eax
41abee:	8b 58 08             	mov    0x8(%eax),%ebx
41abf1:	4b                   	dec    %ebx
41abf2:	83 fb 00             	cmp    $0x0,%ebx
41abf5:	7c 25                	jl     0x41ac1c
41abf7:	8b d3                	mov    %ebx,%edx
41abf9:	8b 46 0c             	mov    0xc(%esi),%eax
41abfc:	e8 ef 11 00 00       	call   0x41bdf0
41ac01:	8b d7                	mov    %edi,%edx
41ac03:	e8 bc ff ff ff       	call   0x41abc4
41ac08:	84 c0                	test   %al,%al
41ac0a:	74 0a                	je     0x41ac16
41ac0c:	8b d3                	mov    %ebx,%edx
41ac0e:	8b 46 0c             	mov    0xc(%esi),%eax
41ac11:	e8 ca 10 00 00       	call   0x41bce0
41ac16:	4b                   	dec    %ebx
41ac17:	83 fb ff             	cmp    $0xffffffff,%ebx
41ac1a:	75 db                	jne    0x41abf7
41ac1c:	8b 46 04             	mov    0x4(%esi),%eax
41ac1f:	8b 58 08             	mov    0x8(%eax),%ebx
41ac22:	4b                   	dec    %ebx
41ac23:	83 fb 00             	cmp    $0x0,%ebx
41ac26:	7c 25                	jl     0x41ac4d
41ac28:	8b d3                	mov    %ebx,%edx
41ac2a:	8b 46 04             	mov    0x4(%esi),%eax
41ac2d:	e8 be 11 00 00       	call   0x41bdf0
41ac32:	8b d7                	mov    %edi,%edx
41ac34:	e8 8b ff ff ff       	call   0x41abc4
41ac39:	84 c0                	test   %al,%al
41ac3b:	74 0a                	je     0x41ac47
41ac3d:	8b d3                	mov    %ebx,%edx