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
40abd5:	75 11                	jne    0x40abe8
40abd7:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40abdc:	50                   	push   %eax
40abdd:	68 44 30 40 00       	push   $0x403044
40abe2:	8b f0                	mov    %eax,%esi
40abe4:	6a 78                	push   $0x78
40abe6:	eb 61                	jmp    0x40ac49
40abe8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40abec:	8b cb                	mov    %ebx,%ecx
40abee:	50                   	push   %eax
40abef:	e8 45 05 00 00       	call   0x40b139
40abf4:	8b f0                	mov    %eax,%esi
40abf6:	85 f6                	test   %esi,%esi
40abf8:	79 0a                	jns    0x40ac04
40abfa:	56                   	push   %esi
40abfb:	68 44 30 40 00       	push   $0x403044
40ac00:	6a 7c                	push   $0x7c
40ac02:	eb 45                	jmp    0x40ac49
40ac04:	8b 74 24 1c          	mov    0x1c(%esp),%esi
40ac08:	8d 04 75 02 00 00 00 	lea    0x2(,%esi,2),%eax
40ac0f:	50                   	push   %eax
40ac10:	ff 15 38 62 41 00    	call   *0x416238
40ac16:	89 07                	mov    %eax,(%edi)
40ac18:	85 c0                	test   %eax,%eax
40ac1a:	75 11                	jne    0x40ac2d
40ac1c:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40ac21:	50                   	push   %eax
40ac22:	68 44 30 40 00       	push   $0x403044
40ac27:	8b f0                	mov    %eax,%esi
40ac29:	6a 7f                	push   $0x7f
40ac2b:	eb 1c                	jmp    0x40ac49
40ac2d:	53                   	push   %ebx
40ac2e:	8d 56 01             	lea    0x1(%esi),%edx
40ac31:	8b c8                	mov    %eax,%ecx
40ac33:	e8 88 ed ff ff       	call   0x4099c0
40ac38:	8b f0                	mov    %eax,%esi
40ac3a:	85 f6                	test   %esi,%esi
40ac3c:	79 26                	jns    0x40ac64
40ac3e:	56                   	push   %esi
40ac3f:	68 44 30 40 00       	push   $0x403044
40ac44:	68 83 00 00 00       	push   $0x83
40ac49:	68 78 30 40 00       	push   $0x403078
40ac4e:	51                   	push   %ecx
40ac4f:	e8 7e 63 00 00       	call   0x410fd2
40ac54:	83 3f 00             	cmpl   $0x0,(%edi)
40ac57:	74 0b                	je     0x40ac64
40ac59:	ff 37                	push   (%edi)
40ac5b:	ff 15 34 62 41 00    	call   *0x416234
40ac61:	83 27 00             	andl   $0x0,(%edi)
40ac64:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40ac68:	e8 82 bd ff ff       	call   0x4069ef
40ac6d:	ff 74 24 14          	push   0x14(%esp)
40ac71:	ff 15 b8 61 41 00    	call   *0x4161b8
40ac77:	5f                   	pop    %edi
40ac78:	8b c6                	mov    %esi,%eax
40ac7a:	5e                   	pop    %esi
40ac7b:	5b                   	pop    %ebx
40ac7c:	8b e5                	mov    %ebp,%esp
40ac7e:	5d                   	pop    %ebp
40ac7f:	c2 08 00             	ret    $0x8
40ac82:	cc                   	int3
40ac83:	cc                   	int3
40ac84:	cc                   	int3
40ac85:	cc                   	int3
40ac86:	cc                   	int3
40ac87:	cc                   	int3
40ac88:	cc                   	int3
40ac89:	cc                   	int3
40ac8a:	cc                   	int3
40ac8b:	cc                   	int3
40ac8c:	cc                   	int3
40ac8d:	cc                   	int3
40ac8e:	cc                   	int3
40ac8f:	cc                   	int3
40ac90:	cc                   	int3
40ac91:	cc                   	int3
40ac92:	cc                   	int3
40ac93:	cc                   	int3
40ac94:	cc                   	int3
40ac95:	cc                   	int3
40ac96:	cc                   	int3
40ac97:	cc                   	int3
40ac98:	cc                   	int3
40ac99:	cc                   	int3
40ac9a:	cc                   	int3
40ac9b:	cc                   	int3
40ac9c:	cc                   	int3
40ac9d:	cc                   	int3
40ac9e:	cc                   	int3
40ac9f:	cc                   	int3
40aca0:	8b ff                	mov    %edi,%edi
40aca2:	55                   	push   %ebp
40aca3:	8b ec                	mov    %esp,%ebp
40aca5:	83 e4 f8             	and    $0xfffffff8,%esp
40aca8:	83 ec 2c             	sub    $0x2c,%esp
40acab:	8b 45 0c             	mov    0xc(%ebp),%eax
40acae:	33 d2                	xor    %edx,%edx
40acb0:	89 54 24 14          	mov    %edx,0x14(%esp)
40acb4:	89 54 24 04          	mov    %edx,0x4(%esp)
40acb8:	89 54 24 0c          	mov    %edx,0xc(%esp)
40acbc:	89 54 24 10          	mov    %edx,0x10(%esp)
40acc0:	89 54 24 18          	mov    %edx,0x18(%esp)
40acc4:	53                   	push   %ebx
40acc5:	8b da                	mov    %edx,%ebx
40acc7:	56                   	push   %esi
40acc8:	8b f2                	mov    %edx,%esi
40acca:	57                   	push   %edi
40accb:	85 c0                	test   %eax,%eax
40accd:	75 17                	jne    0x40ace6
40accf:	b8 03 40 00 80       	mov    $0x80004003,%eax
40acd4:	50                   	push   %eax
40acd5:	68 14 31 40 00       	push   $0x403114
40acda:	8b f0                	mov    %eax,%esi
40acdc:	68 a9 00 00 00       	push   $0xa9
40ace1:	e9 31 03 00 00       	jmp    0x40b017
40ace6:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ace9:	85 c9                	test   %ecx,%ecx
40aceb:	75 17                	jne    0x40ad04
40aced:	b8 03 40 00 80       	mov    $0x80004003,%eax
40acf2:	50                   	push   %eax
40acf3:	68 14 31 40 00       	push   $0x403114
40acf8:	8b f0                	mov    %eax,%esi
40acfa:	68 aa 00 00 00       	push   $0xaa
40acff:	e9 13 03 00 00       	jmp    0x40b017
40ad04:	89 10                	mov    %edx,(%eax)
40ad06:	68 44 31 40 00       	push   $0x403144
40ad0b:	89 11                	mov    %edx,(%ecx)
40ad0d:	ff 15 ec 60 41 00    	call   *0x4160ec
40ad13:	8b f8                	mov    %eax,%edi
40ad15:	85 ff                	test   %edi,%edi
40ad17:	0f 84 ea 02 00 00    	je     0x40b007
40ad1d:	68 60 31 40 00       	push   $0x403160
40ad22:	57                   	push   %edi
40ad23:	ff 15 70 61 41 00    	call   *0x416170
40ad29:	68 7c 31 40 00       	push   $0x40317c
40ad2e:	57                   	push   %edi
40ad2f:	89 44 24 34          	mov    %eax,0x34(%esp)
40ad33:	ff 15 70 61 41 00    	call   *0x416170
40ad39:	85 c0                	test   %eax,%eax
40ad3b:	75 17                	jne    0x40ad54
40ad3d:	b8 03 40 00 80       	mov    $0x80004003,%eax
40ad42:	50                   	push   %eax
40ad43:	68 14 31 40 00       	push   $0x403114
40ad48:	8b f0                	mov    %eax,%esi
40ad4a:	68 cf 00 00 00       	push   $0xcf
40ad4f:	e9 c3 02 00 00       	jmp    0x40b017
40ad54:	39 5c 24 2c          	cmp    %ebx,0x2c(%esp)
40ad58:	75 17                	jne    0x40ad71
40ad5a:	b8 03 40 00 80       	mov    $0x80004003,%eax
40ad5f:	50                   	push   %eax
40ad60:	68 14 31 40 00       	push   $0x403114
40ad65:	8b f0                	mov    %eax,%esi
40ad67:	68 d0 00 00 00       	push   $0xd0
40ad6c:	e9 a6 02 00 00       	jmp    0x40b017
40ad71:	8d 44 24 10          	lea    0x10(%esp),%eax
40ad75:	33 ff                	xor    %edi,%edi
40ad77:	50                   	push   %eax
40ad78:	8d 44 24 24          	lea    0x24(%esp),%eax
40ad7c:	50                   	push   %eax
40ad7d:	6a 01                	push   $0x1
40ad7f:	57                   	push   %edi
40ad80:	57                   	push   %edi
40ad81:	ff 15 fc 61 41 00    	call   *0x4161fc
40ad87:	85 c0                	test   %eax,%eax
40ad89:	75 20                	jne    0x40adab
40ad8b:	57                   	push   %edi
40ad8c:	68 14 31 40 00       	push   $0x403114
40ad91:	68 e1 00 00 00       	push   $0xe1
40ad96:	68 78 30 40 00       	push   $0x403078
40ad9b:	51                   	push   %ecx
40ad9c:	e8 31 62 00 00       	call   0x410fd2
40ada1:	be 05 40 00 80       	mov    $0x80004005,%esi
40ada6:	e9 77 02 00 00       	jmp    0x40b022
40adab:	8b 44 24 10          	mov    0x10(%esp),%eax
40adaf:	85 c0                	test   %eax,%eax