41a8c8:	e8 7b 91 fe ff       	call   0x403a48
41a8cd:	8b f0                	mov    %eax,%esi
41a8cf:	89 73 0c             	mov    %esi,0xc(%ebx)
41a8d2:	8b c6                	mov    %esi,%eax
41a8d4:	8b d7                	mov    %edi,%edx
41a8d6:	e8 39 13 00 00       	call   0x41bc14
41a8db:	8b c3                	mov    %ebx,%eax
41a8dd:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41a8e1:	74 0f                	je     0x41a8f2
41a8e3:	e8 4c 95 fe ff       	call   0x403e34
41a8e8:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a8ef:	83 c4 0c             	add    $0xc,%esp
41a8f2:	8b c3                	mov    %ebx,%eax
41a8f4:	5f                   	pop    %edi
41a8f5:	5e                   	pop    %esi
41a8f6:	5b                   	pop    %ebx
41a8f7:	59                   	pop    %ecx
41a8f8:	5d                   	pop    %ebp
41a8f9:	c3                   	ret
41a8fa:	8b c0                	mov    %eax,%eax
41a8fc:	53                   	push   %ebx
41a8fd:	56                   	push   %esi
41a8fe:	e8 41 95 fe ff       	call   0x403e44
41a903:	8b da                	mov    %edx,%ebx
41a905:	8b f0                	mov    %eax,%esi
41a907:	8b d3                	mov    %ebx,%edx
41a909:	80 e2 fc             	and    $0xfc,%dl
41a90c:	8b c6                	mov    %esi,%eax
41a90e:	e8 55 91 fe ff       	call   0x403a68
41a913:	8b 46 04             	mov    0x4(%esi),%eax
41a916:	e8 5d 91 fe ff       	call   0x403a78
41a91b:	8b 46 08             	mov    0x8(%esi),%eax
41a91e:	e8 55 91 fe ff       	call   0x403a78
41a923:	8b 46 0c             	mov    0xc(%esi),%eax
41a926:	e8 4d 91 fe ff       	call   0x403a78
41a92b:	84 db                	test   %bl,%bl
41a92d:	7e 07                	jle    0x41a936
41a92f:	8b c6                	mov    %esi,%eax
41a931:	e8 f6 94 fe ff       	call   0x403e2c
41a936:	5e                   	pop    %esi
41a937:	5b                   	pop    %ebx
41a938:	c3                   	ret
41a939:	8d 40 00             	lea    0x0(%eax),%eax
41a93c:	53                   	push   %ebx
41a93d:	56                   	push   %esi
41a93e:	57                   	push   %edi
41a93f:	55                   	push   %ebp
41a940:	51                   	push   %ecx
41a941:	89 14 24             	mov    %edx,(%esp)
41a944:	8b e8                	mov    %eax,%ebp
41a946:	8b 45 04             	mov    0x4(%ebp),%eax
41a949:	8b 70 08             	mov    0x8(%eax),%esi
41a94c:	4e                   	dec    %esi
41a94d:	85 f6                	test   %esi,%esi
41a94f:	7c 21                	jl     0x41a972
41a951:	46                   	inc    %esi
41a952:	33 db                	xor    %ebx,%ebx
41a954:	8b 45 04             	mov    0x4(%ebp),%eax
41a957:	8b d3                	mov    %ebx,%edx
41a959:	e8 62 14 00 00       	call   0x41bdc0
41a95e:	8b f8                	mov    %eax,%edi
41a960:	8b 14 24             	mov    (%esp),%edx
41a963:	8b c7                	mov    %edi,%eax
41a965:	e8 72 90 fe ff       	call   0x4039dc
41a96a:	84 c0                	test   %al,%al
41a96c:	75 25                	jne    0x41a993
41a96e:	43                   	inc    %ebx
41a96f:	4e                   	dec    %esi
41a970:	75 e2                	jne    0x41a954
41a972:	8b 45 08             	mov    0x8(%ebp),%eax
41a975:	8b 14 24             	mov    (%esp),%edx
41a978:	8b 08                	mov    (%eax),%ecx
41a97a:	ff 51 54             	call   *0x54(%ecx)
41a97d:	8b d8                	mov    %eax,%ebx
41a97f:	85 db                	test   %ebx,%ebx
41a981:	7c 0e                	jl     0x41a991
41a983:	8b 45 08             	mov    0x8(%ebp),%eax
41a986:	8b d3                	mov    %ebx,%edx
41a988:	8b 08                	mov    (%eax),%ecx
41a98a:	ff 51 18             	call   *0x18(%ecx)
41a98d:	8b f8                	mov    %eax,%edi
41a98f:	eb 02                	jmp    0x41a993
41a991:	33 ff                	xor    %edi,%edi
41a993:	8b c7                	mov    %edi,%eax
41a995:	5a                   	pop    %edx
41a996:	5d                   	pop    %ebp
41a997:	5f                   	pop    %edi
41a998:	5e                   	pop    %esi
41a999:	5b                   	pop    %ebx
41a99a:	c3                   	ret
41a99b:	90                   	nop
41a99c:	53                   	push   %ebx
41a99d:	56                   	push   %esi
41a99e:	57                   	push   %edi
41a99f:	55                   	push   %ebp
41a9a0:	51                   	push   %ecx
41a9a1:	8b ea                	mov    %edx,%ebp
41a9a3:	8b f8                	mov    %eax,%edi
41a9a5:	c6 04 24 01          	movb   $0x1,(%esp)
41a9a9:	8b 47 0c             	mov    0xc(%edi),%eax
41a9ac:	8b 58 08             	mov    0x8(%eax),%ebx
41a9af:	4b                   	dec    %ebx
41a9b0:	85 db                	test   %ebx,%ebx
41a9b2:	7c 1e                	jl     0x41a9d2
41a9b4:	43                   	inc    %ebx
41a9b5:	33 f6                	xor    %esi,%esi
41a9b7:	8b 47 0c             	mov    0xc(%edi),%eax
41a9ba:	8b d6                	mov    %esi,%edx
41a9bc:	e8 ff 13 00 00       	call   0x41bdc0
41a9c1:	8b d0                	mov    %eax,%edx
41a9c3:	8b c5                	mov    %ebp,%eax
41a9c5:	e8 da 92 fe ff       	call   0x403ca4
41a9ca:	84 c0                	test   %al,%al
41a9cc:	75 08                	jne    0x41a9d6
41a9ce:	46                   	inc    %esi
41a9cf:	4b                   	dec    %ebx
41a9d0:	75 e5                	jne    0x41a9b7
41a9d2:	c6 04 24 00          	movb   $0x0,(%esp)
41a9d6:	8a 04 24             	mov    (%esp),%al
41a9d9:	5a                   	pop    %edx
41a9da:	5d                   	pop    %ebp
41a9db:	5f                   	pop    %edi
41a9dc:	5e                   	pop    %esi
41a9dd:	5b                   	pop    %ebx
41a9de:	c3                   	ret
41a9df:	90                   	nop
41a9e0:	55                   	push   %ebp
41a9e1:	8b ec                	mov    %esp,%ebp
41a9e3:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
41a9e9:	53                   	push   %ebx
41a9ea:	56                   	push   %esi
41a9eb:	33 c9                	xor    %ecx,%ecx
41a9ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a9f0:	8b f2                	mov    %edx,%esi
41a9f2:	8b d8                	mov    %eax,%ebx
41a9f4:	33 c0                	xor    %eax,%eax
41a9f6:	55                   	push   %ebp
41a9f7:	68 7b aa 41 00       	push   $0x41aa7b
41a9fc:	64 ff 30             	push   %fs:(%eax)
41a9ff:	64 89 20             	mov    %esp,%fs:(%eax)
41aa02:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
41aa08:	8b c6                	mov    %esi,%eax
41aa0a:	e8 b9 8f fe ff       	call   0x4039c8
41aa0f:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
41aa15:	8d 45 fc             	lea    -0x4(%ebp),%eax
41aa18:	e8 a7 a0 fe ff       	call   0x404ac4
41aa1d:	8b 55 fc             	mov    -0x4(%ebp),%edx
41aa20:	8b c3                	mov    %ebx,%eax
41aa22:	e8 15 ff ff ff       	call   0x41a93c
41aa27:	85 c0                	test   %eax,%eax
41aa29:	74 30                	je     0x41aa5b
41aa2b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aa2e:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
41aa34:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
41aa3b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41aa41:	50                   	push   %eax
41aa42:	6a 00                	push   $0x0
41aa44:	8b 0d 1c 70 6a 00    	mov    0x6a701c,%ecx
41aa4a:	b2 01                	mov    $0x1,%dl
41aa4c:	a1 3c 90 41 00       	mov    0x41903c,%eax
41aa51:	e8 ea 24 ff ff       	call   0x40cf40
41aa56:	e8 e9 97 fe ff       	call   0x404244
41aa5b:	8b d6                	mov    %esi,%edx
41aa5d:	8b 43 04             	mov    0x4(%ebx),%eax
41aa60:	e8 af 11 00 00       	call   0x41bc14
41aa65:	33 c0                	xor    %eax,%eax
41aa67:	5a                   	pop    %edx
41aa68:	59                   	pop    %ecx
41aa69:	59                   	pop    %ecx
41aa6a:	64 89 10             	mov    %edx,%fs:(%eax)
41aa6d:	68 82 aa 41 00       	push   $0x41aa82
41aa72:	8d 45 fc             	lea    -0x4(%ebp),%eax
41aa75:	e8 ee 9d fe ff       	call   0x404868
41aa7a:	c3                   	ret
41aa7b:	e9 8c 97 fe ff       	jmp    0x40420c
41aa80:	eb f0                	jmp    0x41aa72
41aa82:	5e                   	pop    %esi
41aa83:	5b                   	pop    %ebx
41aa84:	8b e5                	mov    %ebp,%esp
41aa86:	5d                   	pop    %ebp
41aa87:	c3                   	ret
41aa88:	53                   	push   %ebx
41aa89:	56                   	push   %esi
41aa8a:	8b f2                	mov    %edx,%esi
41aa8c:	8b d8                	mov    %eax,%ebx
41aa8e:	8b d6                	mov    %esi,%edx
41aa90:	8b 43 04             	mov    0x4(%ebx),%eax
41aa93:	e8 84 13 00 00       	call   0x41be1c
41aa98:	85 c0                	test   %eax,%eax
41aa9a:	0f 9d c0             	setge  %al
41aa9d:	5e                   	pop    %esi
41aa9e:	5b                   	pop    %ebx
41aa9f:	c3                   	ret
41aaa0:	53                   	push   %ebx
41aaa1:	56                   	push   %esi
41aaa2:	57                   	push   %edi
41aaa3:	8b fa                	mov    %edx,%edi
41aaa5:	8b f0                	mov    %eax,%esi
41aaa7:	8b d7                	mov    %edi,%edx
41aaa9:	8b 46 04             	mov    0x4(%esi),%eax
41aaac:	e8 af 14 00 00       	call   0x41bf60
41aab1:	8b 46 08             	mov    0x8(%esi),%eax
41aab4:	8b 10                	mov    (%eax),%edx
41aab6:	ff 52 14             	call   *0x14(%edx)
41aab9:	8b d8                	mov    %eax,%ebx
41aabb:	4b                   	dec    %ebx
41aabc:	83 fb 00             	cmp    $0x0,%ebx
41aabf:	7c 1e                	jl     0x41aadf
41aac1:	8b d3                	mov    %ebx,%edx
41aac3:	8b 46 08             	mov    0x8(%esi),%eax
41aac6:	8b 08                	mov    (%eax),%ecx
41aac8:	ff 51 18             	call   *0x18(%ecx)
41aacb:	3b c7                	cmp    %edi,%eax
41aacd:	75 0a                	jne    0x41aad9
41aacf:	8b d3                	mov    %ebx,%edx
41aad1:	8b 46 08             	mov    0x8(%esi),%eax
41aad4:	8b 08                	mov    (%eax),%ecx
41aad6:	ff 51 48             	call   *0x48(%ecx)
41aad9:	4b                   	dec    %ebx
41aada:	83 fb ff             	cmp    $0xffffffff,%ebx
41aadd:	75 e2                	jne    0x41aac1
41aadf:	5f                   	pop    %edi
41aae0:	5e                   	pop    %esi
41aae1:	5b                   	pop    %ebx
41aae2:	c3                   	ret
41aae3:	90                   	nop
41aae4:	53                   	push   %ebx
41aae5:	56                   	push   %esi
41aae6:	8b da                	mov    %edx,%ebx
41aae8:	8b f0                	mov    %eax,%esi
41aaea:	85 db                	test   %ebx,%ebx
41aaec:	74 10                	je     0x41aafe
41aaee:	8b c6                	mov    %esi,%eax
41aaf0:	e8 f7 b6 fe ff       	call   0x4061ec
41aaf5:	3b d8                	cmp    %eax,%ebx
41aaf7:	74 05                	je     0x41aafe
41aaf9:	33 c0                	xor    %eax,%eax
41aafb:	5e                   	pop    %esi
41aafc:	5b                   	pop    %ebx
41aafd:	c3                   	ret
41aafe:	b0 01                	mov    $0x1,%al
41ab00:	5e                   	pop    %esi
41ab01:	5b                   	pop    %ebx
41ab02:	c3                   	ret
41ab03:	90                   	nop
41ab04:	53                   	push   %ebx
41ab05:	56                   	push   %esi
41ab06:	57                   	push   %edi
41ab07:	8b fa                	mov    %edx,%edi
41ab09:	8b f0                	mov    %eax,%esi
41ab0b:	8b 46 0c             	mov    0xc(%esi),%eax
41ab0e:	8b 58 08             	mov    0x8(%eax),%ebx
41ab11:	4b                   	dec    %ebx
41ab12:	83 fb 00             	cmp    $0x0,%ebx
41ab15:	7c 25                	jl     0x41ab3c
41ab17:	8b d3                	mov    %ebx,%edx
41ab19:	8b 46 0c             	mov    0xc(%esi),%eax
41ab1c:	e8 9f 12 00 00       	call   0x41bdc0
41ab21:	8b d7                	mov    %edi,%edx
41ab23:	e8 bc ff ff ff       	call   0x41aae4
41ab28:	84 c0                	test   %al,%al
41ab2a:	74 0a                	je     0x41ab36
41ab2c:	8b d3                	mov    %ebx,%edx
41ab2e:	8b 46 0c             	mov    0xc(%esi),%eax
41ab31:	e8 2a 11 00 00       	call   0x41bc60
41ab36:	4b                   	dec    %ebx
41ab37:	83 fb ff             	cmp    $0xffffffff,%ebx
41ab3a:	75 db                	jne    0x41ab17
41ab3c:	8b 46 04             	mov    0x4(%esi),%eax
41ab3f:	8b 58 08             	mov    0x8(%eax),%ebx
41ab42:	4b                   	dec    %ebx
41ab43:	83 fb 00             	cmp    $0x0,%ebx
41ab46:	7c 25                	jl     0x41ab6d
41ab48:	8b d3                	mov    %ebx,%edx
41ab4a:	8b 46 04             	mov    0x4(%esi),%eax
41ab4d:	e8 6e 12 00 00       	call   0x41bdc0
41ab52:	8b d7                	mov    %edi,%edx
41ab54:	e8 8b ff ff ff       	call   0x41aae4
41ab59:	84 c0                	test   %al,%al
41ab5b:	74 0a                	je     0x41ab67
41ab5d:	8b d3                	mov    %ebx,%edx
41ab5f:	8b 46 04             	mov    0x4(%esi),%eax
41ab62:	e8 f9 10 00 00       	call   0x41bc60
41ab67:	4b                   	dec    %ebx
41ab68:	83 fb ff             	cmp    $0xffffffff,%ebx
41ab6b:	75 db                	jne    0x41ab48
41ab6d:	8b 46 08             	mov    0x8(%esi),%eax
41ab70:	8b 10                	mov    (%eax),%edx
41ab72:	ff 52 14             	call   *0x14(%edx)
41ab75:	8b d8                	mov    %eax,%ebx
41ab77:	4b                   	dec    %ebx
41ab78:	83 fb 00             	cmp    $0x0,%ebx
41ab7b:	7c 25                	jl     0x41aba2
41ab7d:	8b d3                	mov    %ebx,%edx
41ab7f:	8b 46 08             	mov    0x8(%esi),%eax
41ab82:	8b 08                	mov    (%eax),%ecx
41ab84:	ff 51 18             	call   *0x18(%ecx)
41ab87:	8b d7                	mov    %edi,%edx
41ab89:	e8 56 ff ff ff       	call   0x41aae4
41ab8e:	84 c0                	test   %al,%al
41ab90:	74 0a                	je     0x41ab9c
41ab92:	8b d3                	mov    %ebx,%edx
41ab94:	8b 46 08             	mov    0x8(%esi),%eax
41ab97:	8b 08                	mov    (%eax),%ecx
41ab99:	ff 51 48             	call   *0x48(%ecx)
41ab9c:	4b                   	dec    %ebx
41ab9d:	83 fb ff             	cmp    $0xffffffff,%ebx
41aba0:	75 db                	jne    0x41ab7d
41aba2:	5f                   	pop    %edi
41aba3:	5e                   	pop    %esi
41aba4:	5b                   	pop    %ebx
41aba5:	c3                   	ret
41aba6:	8b c0                	mov    %eax,%eax
41aba8:	53                   	push   %ebx
41aba9:	56                   	push   %esi
41abaa:	57                   	push   %edi
41abab:	55                   	push   %ebp
41abac:	51                   	push   %ecx
41abad:	89 14 24             	mov    %edx,(%esp)
41abb0:	8b f8                	mov    %eax,%edi
41abb2:	8b 47 20             	mov    0x20(%edi),%eax
41abb5:	3b 04 24             	cmp    (%esp),%eax
41abb8:	74 31                	je     0x41abeb
41abba:	8b 04 24             	mov    (%esp),%eax
41abbd:	89 47 20             	mov    %eax,0x20(%edi)
41abc0:	8b 47 04             	mov    0x4(%edi),%eax
41abc3:	8b 70 08             	mov    0x8(%eax),%esi
41abc6:	4e                   	dec    %esi
41abc7:	85 f6                	test   %esi,%esi
41abc9:	7c 20                	jl     0x41abeb
41abcb:	46                   	inc    %esi
41abcc:	33 ed                	xor    %ebp,%ebp
41abce:	8b 47 04             	mov    0x4(%edi),%eax
41abd1:	8b d5                	mov    %ebp,%edx
41abd3:	e8 e8 11 00 00       	call   0x41bdc0
41abd8:	8b d8                	mov    %eax,%ebx
41abda:	8b 14 24             	mov    (%esp),%edx
41abdd:	8b c3                	mov    %ebx,%eax
41abdf:	e8 b8 fd ff ff       	call   0x41a99c
41abe4:	88 43 10             	mov    %al,0x10(%ebx)
41abe7:	45                   	inc    %ebp
41abe8:	4e                   	dec    %esi
41abe9:	75 e3                	jne    0x41abce
41abeb:	5a                   	pop    %edx
41abec:	5d                   	pop    %ebp
41abed:	5f                   	pop    %edi
41abee:	5e                   	pop    %esi
41abef:	5b                   	pop    %ebx
41abf0:	c3                   	ret
41abf1:	8d 40 00             	lea    0x0(%eax),%eax