40a862:	8b 0d 18 51 41 00    	mov    0x415118,%ecx
40a868:	e8 00 ff ff ff       	call   0x40a76d
40a86d:	5f                   	pop    %edi
40a86e:	5e                   	pop    %esi
40a86f:	5b                   	pop    %ebx
40a870:	c2 08 00             	ret    $0x8
40a873:	8b ff                	mov    %edi,%edi
40a875:	53                   	push   %ebx
40a876:	8b d9                	mov    %ecx,%ebx
40a878:	56                   	push   %esi
40a879:	57                   	push   %edi
40a87a:	8b fa                	mov    %edx,%edi
40a87c:	0f b7 03             	movzwl (%ebx),%eax
40a87f:	50                   	push   %eax
40a880:	ff 15 d8 61 41 00    	call   *0x4161d8
40a886:	0f b7 f0             	movzwl %ax,%esi
40a889:	0f b7 07             	movzwl (%edi),%eax
40a88c:	50                   	push   %eax
40a88d:	ff 15 d8 61 41 00    	call   *0x4161d8
40a893:	0f b7 c0             	movzwl %ax,%eax
40a896:	6a 20                	push   $0x20
40a898:	5a                   	pop    %edx
40a899:	6a 09                	push   $0x9
40a89b:	59                   	pop    %ecx
40a89c:	66 85 f6             	test   %si,%si
40a89f:	74 55                	je     0x40a8f6
40a8a1:	66 3b f0             	cmp    %ax,%si
40a8a4:	75 41                	jne    0x40a8e7
40a8a6:	66 3b f2             	cmp    %dx,%si
40a8a9:	74 3c                	je     0x40a8e7
40a8ab:	66 3b f1             	cmp    %cx,%si
40a8ae:	74 37                	je     0x40a8e7
40a8b0:	53                   	push   %ebx
40a8b1:	ff 15 f0 61 41 00    	call   *0x4161f0
40a8b7:	57                   	push   %edi
40a8b8:	8b d8                	mov    %eax,%ebx
40a8ba:	ff 15 f0 61 41 00    	call   *0x4161f0
40a8c0:	8b f8                	mov    %eax,%edi
40a8c2:	0f b7 03             	movzwl (%ebx),%eax
40a8c5:	50                   	push   %eax
40a8c6:	ff 15 d8 61 41 00    	call   *0x4161d8
40a8cc:	0f b7 f0             	movzwl %ax,%esi
40a8cf:	0f b7 07             	movzwl (%edi),%eax
40a8d2:	50                   	push   %eax
40a8d3:	ff 15 d8 61 41 00    	call   *0x4161d8
40a8d9:	0f b7 c0             	movzwl %ax,%eax
40a8dc:	6a 09                	push   $0x9
40a8de:	59                   	pop    %ecx
40a8df:	6a 20                	push   $0x20
40a8e1:	5a                   	pop    %edx
40a8e2:	66 85 f6             	test   %si,%si
40a8e5:	75 ba                	jne    0x40a8a1
40a8e7:	66 85 f6             	test   %si,%si
40a8ea:	74 0a                	je     0x40a8f6
40a8ec:	66 3b f2             	cmp    %dx,%si
40a8ef:	74 05                	je     0x40a8f6
40a8f1:	66 3b f1             	cmp    %cx,%si
40a8f4:	75 0f                	jne    0x40a905
40a8f6:	66 85 c0             	test   %ax,%ax
40a8f9:	74 15                	je     0x40a910
40a8fb:	66 3b c2             	cmp    %dx,%ax
40a8fe:	74 10                	je     0x40a910
40a900:	66 3b c1             	cmp    %cx,%ax
40a903:	74 0b                	je     0x40a910
40a905:	66 3b f0             	cmp    %ax,%si
40a908:	1b c0                	sbb    %eax,%eax
40a90a:	83 e0 fe             	and    $0xfffffffe,%eax
40a90d:	40                   	inc    %eax
40a90e:	eb 02                	jmp    0x40a912
40a910:	33 c0                	xor    %eax,%eax
40a912:	5f                   	pop    %edi
40a913:	5e                   	pop    %esi
40a914:	5b                   	pop    %ebx
40a915:	c3                   	ret
40a916:	8b ff                	mov    %edi,%edi
40a918:	56                   	push   %esi
40a919:	57                   	push   %edi
40a91a:	8b fa                	mov    %edx,%edi
40a91c:	8b f1                	mov    %ecx,%esi
40a91e:	eb 2d                	jmp    0x40a94d
40a920:	66 83 3e 00          	cmpw   $0x0,(%esi)
40a924:	74 2b                	je     0x40a951
40a926:	8b c7                	mov    %edi,%eax
40a928:	85 ff                	test   %edi,%edi
40a92a:	74 18                	je     0x40a944
40a92c:	0f b7 08             	movzwl (%eax),%ecx
40a92f:	66 85 c9             	test   %cx,%cx
40a932:	74 10                	je     0x40a944
40a934:	66 39 0e             	cmp    %cx,(%esi)
40a937:	74 1d                	je     0x40a956
40a939:	50                   	push   %eax
40a93a:	ff 15 f0 61 41 00    	call   *0x4161f0
40a940:	85 c0                	test   %eax,%eax
40a942:	75 e8                	jne    0x40a92c
40a944:	56                   	push   %esi
40a945:	ff 15 f0 61 41 00    	call   *0x4161f0
40a94b:	8b f0                	mov    %eax,%esi
40a94d:	85 f6                	test   %esi,%esi
40a94f:	75 cf                	jne    0x40a920
40a951:	33 c0                	xor    %eax,%eax
40a953:	5f                   	pop    %edi
40a954:	5e                   	pop    %esi
40a955:	c3                   	ret
40a956:	56                   	push   %esi
40a957:	ff 15 f0 61 41 00    	call   *0x4161f0
40a95d:	eb f4                	jmp    0x40a953
40a95f:	83 3d 14 51 41 00 00 	cmpl   $0x0,0x415114
40a966:	74 54                	je     0x40a9bc
40a968:	a1 20 51 41 00       	mov    0x415120,%eax
40a96d:	57                   	push   %edi
40a96e:	8b 3d 1c 51 41 00    	mov    0x41511c,%edi
40a974:	3b f8                	cmp    %eax,%edi
40a976:	73 31                	jae    0x40a9a9
40a978:	53                   	push   %ebx
40a979:	56                   	push   %esi
40a97a:	8b 1f                	mov    (%edi),%ebx
40a97c:	85 db                	test   %ebx,%ebx
40a97e:	74 20                	je     0x40a9a0
40a980:	8b 4b 10             	mov    0x10(%ebx),%ecx
40a983:	85 c9                	test   %ecx,%ecx
40a985:	74 10                	je     0x40a997
40a987:	8b 01                	mov    (%ecx),%eax
40a989:	51                   	push   %ecx
40a98a:	8b 70 08             	mov    0x8(%eax),%esi
40a98d:	8b ce                	mov    %esi,%ecx
40a98f:	ff 15 28 63 41 00    	call   *0x416328
40a995:	ff d6                	call   *%esi
40a997:	83 63 10 00          	andl   $0x0,0x10(%ebx)
40a99b:	a1 20 51 41 00       	mov    0x415120,%eax
40a9a0:	83 c7 04             	add    $0x4,%edi
40a9a3:	3b f8                	cmp    %eax,%edi
40a9a5:	72 d3                	jb     0x40a97a
40a9a7:	5e                   	pop    %esi
40a9a8:	5b                   	pop    %ebx
40a9a9:	68 24 51 41 00       	push   $0x415124
40a9ae:	ff 15 c8 60 41 00    	call   *0x4160c8
40a9b4:	83 25 14 51 41 00 00 	andl   $0x0,0x415114
40a9bb:	5f                   	pop    %edi
40a9bc:	c3                   	ret
40a9bd:	8b ff                	mov    %edi,%edi
40a9bf:	53                   	push   %ebx
40a9c0:	8b d9                	mov    %ecx,%ebx
40a9c2:	57                   	push   %edi
40a9c3:	85 db                	test   %ebx,%ebx
40a9c5:	74 30                	je     0x40a9f7
40a9c7:	8b 7b 08             	mov    0x8(%ebx),%edi
40a9ca:	85 ff                	test   %edi,%edi
40a9cc:	74 22                	je     0x40a9f0
40a9ce:	56                   	push   %esi
40a9cf:	8b 37                	mov    (%edi),%esi
40a9d1:	8b ce                	mov    %esi,%ecx
40a9d3:	ff 77 04             	push   0x4(%edi)
40a9d6:	ff 15 28 63 41 00    	call   *0x416328
40a9dc:	ff d6                	call   *%esi
40a9de:	8b 77 08             	mov    0x8(%edi),%esi
40a9e1:	57                   	push   %edi
40a9e2:	ff 15 d0 62 41 00    	call   *0x4162d0
40a9e8:	8b fe                	mov    %esi,%edi
40a9ea:	59                   	pop    %ecx
40a9eb:	85 f6                	test   %esi,%esi
40a9ed:	75 e0                	jne    0x40a9cf
40a9ef:	5e                   	pop    %esi
40a9f0:	83 63 08 00          	andl   $0x0,0x8(%ebx)
40a9f4:	5f                   	pop    %edi
40a9f5:	5b                   	pop    %ebx
40a9f6:	c3                   	ret
40a9f7:	b9 05 00 00 c0       	mov    $0xc0000005,%ecx
40a9fc:	e8 d0 a1 ff ff       	call   0x404bd1
40aa01:	cc                   	int3
40aa02:	8b ff                	mov    %edi,%edi
40aa04:	53                   	push   %ebx
40aa05:	57                   	push   %edi
40aa06:	8b f9                	mov    %ecx,%edi
40aa08:	8d 5f 04             	lea    0x4(%edi),%ebx
40aa0b:	83 3b 00             	cmpl   $0x0,(%ebx)
40aa0e:	74 37                	je     0x40aa47
40aa10:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
40aa14:	74 0b                	je     0x40aa21
40aa16:	8b cb                	mov    %ebx,%ecx
40aa18:	e8 a0 ff ff ff       	call   0x40a9bd
40aa1d:	83 67 0c 00          	andl   $0x0,0xc(%edi)
40aa21:	8b 4f 28             	mov    0x28(%edi),%ecx
40aa24:	85 c9                	test   %ecx,%ecx
40aa26:	74 12                	je     0x40aa3a
40aa28:	8b 01                	mov    (%ecx),%eax
40aa2a:	56                   	push   %esi
40aa2b:	51                   	push   %ecx
40aa2c:	8b 70 08             	mov    0x8(%eax),%esi
40aa2f:	8b ce                	mov    %esi,%ecx
40aa31:	ff 15 28 63 41 00    	call   *0x416328
40aa37:	ff d6                	call   *%esi
40aa39:	5e                   	pop    %esi
40aa3a:	8d 47 10             	lea    0x10(%edi),%eax
40aa3d:	50                   	push   %eax
40aa3e:	ff 15 c8 60 41 00    	call   *0x4160c8
40aa44:	83 23 00             	andl   $0x0,(%ebx)
40aa47:	5f                   	pop    %edi
40aa48:	5b                   	pop    %ebx
40aa49:	c3                   	ret
40aa4a:	8b ff                	mov    %edi,%edi
40aa4c:	55                   	push   %ebp
40aa4d:	8b ec                	mov    %esp,%ebp
40aa4f:	a1 20 51 41 00       	mov    0x415120,%eax
40aa54:	57                   	push   %edi
40aa55:	8b 3d 1c 51 41 00    	mov    0x41511c,%edi
40aa5b:	3b f8                	cmp    %eax,%edi
40aa5d:	73 24                	jae    0x40aa83
40aa5f:	56                   	push   %esi
40aa60:	8b 37                	mov    (%edi),%esi
40aa62:	85 f6                	test   %esi,%esi
40aa64:	74 15                	je     0x40aa7b
40aa66:	8b 76 20             	mov    0x20(%esi),%esi
40aa69:	8b ce                	mov    %esi,%ecx
40aa6b:	ff 75 08             	push   0x8(%ebp)
40aa6e:	ff 15 28 63 41 00    	call   *0x416328
40aa74:	ff d6                	call   *%esi
40aa76:	a1 20 51 41 00       	mov    0x415120,%eax
40aa7b:	83 c7 04             	add    $0x4,%edi
40aa7e:	3b f8                	cmp    %eax,%edi
40aa80:	72 de                	jb     0x40aa60
40aa82:	5e                   	pop    %esi
40aa83:	5f                   	pop    %edi
40aa84:	5d                   	pop    %ebp
40aa85:	c2 04 00             	ret    $0x4
40aa88:	cc                   	int3
40aa89:	cc                   	int3
40aa8a:	cc                   	int3
40aa8b:	cc                   	int3
40aa8c:	cc                   	int3
40aa8d:	cc                   	int3
40aa8e:	cc                   	int3
40aa8f:	cc                   	int3
40aa90:	8b ff                	mov    %edi,%edi
40aa92:	55                   	push   %ebp
40aa93:	8b ec                	mov    %esp,%ebp
40aa95:	56                   	push   %esi
40aa96:	33 f6                	xor    %esi,%esi
40aa98:	8b 55 0c             	mov    0xc(%ebp),%edx
40aa9b:	8b 8e 08 1a 40 00    	mov    0x401a08(%esi),%ecx
40aaa1:	e8 ea a0 ff ff       	call   0x404b90
40aaa6:	85 c0                	test   %eax,%eax
40aaa8:	75 0b                	jne    0x40aab5
40aaaa:	83 c6 04             	add    $0x4,%esi
40aaad:	83 fe 04             	cmp    $0x4,%esi
40aab0:	72 e6                	jb     0x40aa98
40aab2:	40                   	inc    %eax
40aab3:	eb 02                	jmp    0x40aab7
40aab5:	33 c0                	xor    %eax,%eax
40aab7:	5e                   	pop    %esi
40aab8:	5d                   	pop    %ebp
40aab9:	c2 08 00             	ret    $0x8
40aabc:	cc                   	int3
40aabd:	cc                   	int3
40aabe:	cc                   	int3
40aabf:	cc                   	int3
40aac0:	8b ff                	mov    %edi,%edi
40aac2:	55                   	push   %ebp
40aac3:	8b ec                	mov    %esp,%ebp
40aac5:	83 e4 f8             	and    $0xfffffff8,%esp
40aac8:	83 ec 14             	sub    $0x14,%esp
40aacb:	53                   	push   %ebx
40aacc:	56                   	push   %esi
40aacd:	57                   	push   %edi
40aace:	8b 7d 0c             	mov    0xc(%ebp),%edi
40aad1:	85 ff                	test   %edi,%edi
40aad3:	75 1d                	jne    0x40aaf2
40aad5:	be 03 40 00 80       	mov    $0x80004003,%esi
40aada:	56                   	push   %esi
40aadb:	68 44 30 40 00       	push   $0x403044
40aae0:	6a 38                	push   $0x38
40aae2:	68 78 30 40 00       	push   $0x403078
40aae7:	51                   	push   %ecx
40aae8:	e8 e5 64 00 00       	call   0x410fd2
40aaed:	e9 85 01 00 00       	jmp    0x40ac77
40aaf2:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
40aaf7:	8d 44 24 10          	lea    0x10(%esp),%eax
40aafb:	83 64 24 1c 00       	andl   $0x0,0x1c(%esp)
40ab00:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
40ab05:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40ab0a:	83 27 00             	andl   $0x0,(%edi)
40ab0d:	50                   	push   %eax
40ab0e:	68 08 2b 40 00       	push   $0x402b08
40ab13:	6a 04                	push   $0x4
40ab15:	6a 00                	push   $0x0
40ab17:	68 c8 2c 40 00       	push   $0x402cc8
40ab1c:	ff 15 20 62 41 00    	call   *0x416220
40ab22:	8b f0                	mov    %eax,%esi
40ab24:	85 f6                	test   %esi,%esi
40ab26:	79 0c                	jns    0x40ab34
40ab28:	51                   	push   %ecx
40ab29:	51                   	push   %ecx
40ab2a:	e8 e0 62 00 00       	call   0x410e0f
40ab2f:	e9 20 01 00 00       	jmp    0x40ac54
40ab34:	8b 44 24 10          	mov    0x10(%esp),%eax
40ab38:	6a 00                	push   $0x0
40ab3a:	6a 00                	push   $0x0
40ab3c:	6a 01                	push   $0x1
40ab3e:	8b 30                	mov    (%eax),%esi
40ab40:	50                   	push   %eax
40ab41:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40ab44:	ff 15 28 63 41 00    	call   *0x416328
40ab4a:	ff 56 1c             	call   *0x1c(%esi)
40ab4d:	8b f0                	mov    %eax,%esi
40ab4f:	85 f6                	test   %esi,%esi
40ab51:	79 0d                	jns    0x40ab60
40ab53:	56                   	push   %esi
40ab54:	68 44 30 40 00       	push   $0x403044
40ab59:	6a 5f                	push   $0x5f
40ab5b:	e9 e9 00 00 00       	jmp    0x40ac49
40ab60:	8b 44 24 10          	mov    0x10(%esp),%eax
40ab64:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40ab68:	6a 00                	push   $0x0
40ab6a:	51                   	push   %ecx
40ab6b:	50                   	push   %eax
40ab6c:	8b 30                	mov    (%eax),%esi
40ab6e:	8b 4e 2c             	mov    0x2c(%esi),%ecx
40ab71:	ff 15 28 63 41 00    	call   *0x416328
40ab77:	ff 56 2c             	call   *0x2c(%esi)
40ab7a:	8b f0                	mov    %eax,%esi
40ab7c:	85 f6                	test   %esi,%esi
40ab7e:	79 0d                	jns    0x40ab8d
40ab80:	56                   	push   %esi
40ab81:	68 44 30 40 00       	push   $0x403044
40ab86:	6a 64                	push   $0x64
40ab88:	e9 bc 00 00 00       	jmp    0x40ac49
40ab8d:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
40ab92:	75 12                	jne    0x40aba6
40ab94:	be 52 00 07 80       	mov    $0x80070052,%esi
40ab99:	56                   	push   %esi
40ab9a:	68 44 30 40 00       	push   $0x403044
40ab9f:	6a 6b                	push   $0x6b
40aba1:	e9 a3 00 00 00       	jmp    0x40ac49
40aba6:	8b 44 24 10          	mov    0x10(%esp),%eax
40abaa:	8d 54 24 14          	lea    0x14(%esp),%edx
40abae:	52                   	push   %edx
40abaf:	50                   	push   %eax
40abb0:	8b 08                	mov    (%eax),%ecx
40abb2:	8b 71 20             	mov    0x20(%ecx),%esi
40abb5:	8b ce                	mov    %esi,%ecx
40abb7:	ff 15 28 63 41 00    	call   *0x416328
40abbd:	ff d6                	call   *%esi
40abbf:	8b f0                	mov    %eax,%esi
40abc1:	85 f6                	test   %esi,%esi
40abc3:	79 0a                	jns    0x40abcf
40abc5:	56                   	push   %esi
40abc6:	68 44 30 40 00       	push   $0x403044
40abcb:	6a 72                	push   $0x72
40abcd:	eb 7a                	jmp    0x40ac49
40abcf:	8b 5c 24 14          	mov    0x14(%esp),%ebx
40abd3:	85 db                	test   %ebx,%ebx