40a7ca:	73 18                	jae    0x40a7e4
40a7cc:	e9 e4 fe ff ff       	jmp    0x40a6b5
40a7d1:	ff 76 08             	push   0x8(%esi)
40a7d4:	ff 36                	push   (%esi)
40a7d6:	68 50 e6 44 00       	push   $0x44e650
40a7db:	53                   	push   %ebx
40a7dc:	e8 4e 59 03 00       	call   0x44012f
40a7e1:	83 c4 10             	add    $0x10,%esp
40a7e4:	5f                   	pop    %edi
40a7e5:	5e                   	pop    %esi
40a7e6:	8b c3                	mov    %ebx,%eax
40a7e8:	5b                   	pop    %ebx
40a7e9:	8b e5                	mov    %ebp,%esp
40a7eb:	5d                   	pop    %ebp
40a7ec:	c2 08 00             	ret    $0x8
40a7ef:	55                   	push   %ebp
40a7f0:	8b ec                	mov    %esp,%ebp
40a7f2:	83 ec 18             	sub    $0x18,%esp
40a7f5:	33 c0                	xor    %eax,%eax
40a7f7:	56                   	push   %esi
40a7f8:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a7fb:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a7fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a801:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a804:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a807:	8d 45 ec             	lea    -0x14(%ebp),%eax
40a80a:	50                   	push   %eax
40a80b:	68 c0 e0 44 00       	push   $0x44e0c0
40a810:	ff 75 0c             	push   0xc(%ebp)
40a813:	e8 eb 8f 03 00       	call   0x443803
40a818:	8b f0                	mov    %eax,%esi
40a81a:	85 f6                	test   %esi,%esi
40a81c:	79 12                	jns    0x40a830
40a81e:	68 80 e1 44 00       	push   $0x44e180
40a823:	56                   	push   %esi
40a824:	e8 06 59 03 00       	call   0x44012f
40a829:	59                   	pop    %ecx
40a82a:	59                   	pop    %ecx
40a82b:	e9 c8 07 00 00       	jmp    0x40aff8
40a830:	8b 45 ec             	mov    -0x14(%ebp),%eax
40a833:	8d 55 f0             	lea    -0x10(%ebp),%edx
40a836:	52                   	push   %edx
40a837:	50                   	push   %eax
40a838:	8b 08                	mov    (%eax),%ecx
40a83a:	ff 51 20             	call   *0x20(%ecx)
40a83d:	8b f0                	mov    %eax,%esi
40a83f:	85 f6                	test   %esi,%esi
40a841:	79 07                	jns    0x40a84a
40a843:	68 a0 e1 44 00       	push   $0x44e1a0
40a848:	eb d9                	jmp    0x40a823
40a84a:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a84d:	85 c0                	test   %eax,%eax
40a84f:	0f 84 a3 07 00 00    	je     0x40aff8
40a855:	6b c0 2c             	imul   $0x2c,%eax,%eax
40a858:	6a 01                	push   $0x1
40a85a:	50                   	push   %eax
40a85b:	e8 74 90 ff ff       	call   0x4038d4
40a860:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a863:	89 01                	mov    %eax,(%ecx)
40a865:	85 c0                	test   %eax,%eax
40a867:	75 19                	jne    0x40a882
40a869:	be 0e 00 07 80       	mov    $0x8007000e,%esi
40a86e:	56                   	push   %esi
40a86f:	6a 4f                	push   $0x4f
40a871:	68 c4 e1 44 00       	push   $0x44e1c4
40a876:	e8 58 8f ff ff       	call   0x4037d3
40a87b:	68 d0 e1 44 00       	push   $0x44e1d0
40a880:	eb a1                	jmp    0x40a823
40a882:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a885:	33 f6                	xor    %esi,%esi
40a887:	89 41 04             	mov    %eax,0x4(%ecx)
40a88a:	89 75 0c             	mov    %esi,0xc(%ebp)
40a88d:	53                   	push   %ebx
40a88e:	57                   	push   %edi
40a88f:	85 c0                	test   %eax,%eax
40a891:	0f 84 5f 07 00 00    	je     0x40aff6
40a897:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
40a89d:	8b d6                	mov    %esi,%edx
40a89f:	89 55 e8             	mov    %edx,-0x18(%ebp)
40a8a2:	8b 39                	mov    (%ecx),%edi
40a8a4:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a8a7:	50                   	push   %eax
40a8a8:	8d 45 f8             	lea    -0x8(%ebp),%eax
40a8ab:	03 fa                	add    %edx,%edi
40a8ad:	50                   	push   %eax
40a8ae:	ff 75 ec             	push   -0x14(%ebp)
40a8b1:	e8 aa 8e 03 00       	call   0x443760
40a8b6:	8b f0                	mov    %eax,%esi
40a8b8:	85 f6                	test   %esi,%esi
40a8ba:	0f 88 29 07 00 00    	js     0x40afe9
40a8c0:	57                   	push   %edi
40a8c1:	68 64 ca 44 00       	push   $0x44ca64
40a8c6:	ff 75 f8             	push   -0x8(%ebp)
40a8c9:	e8 f9 88 03 00       	call   0x4431c7
40a8ce:	8b f0                	mov    %eax,%esi
40a8d0:	85 f6                	test   %esi,%esi
40a8d2:	0f 88 0a 07 00 00    	js     0x40afe2
40a8d8:	8d 47 04             	lea    0x4(%edi),%eax
40a8db:	50                   	push   %eax
40a8dc:	68 ec c9 44 00       	push   $0x44c9ec
40a8e1:	ff 75 f8             	push   -0x8(%ebp)
40a8e4:	e8 de 88 03 00       	call   0x4431c7
40a8e9:	8b f0                	mov    %eax,%esi
40a8eb:	85 f6                	test   %esi,%esi
40a8ed:	0f 88 e8 06 00 00    	js     0x40afdb
40a8f3:	8d 47 08             	lea    0x8(%edi),%eax
40a8f6:	50                   	push   %eax
40a8f7:	68 0c dc 44 00       	push   $0x44dc0c
40a8fc:	ff 75 f8             	push   -0x8(%ebp)
40a8ff:	e8 c3 88 03 00       	call   0x4431c7
40a904:	8b f0                	mov    %eax,%esi
40a906:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40a90c:	74 08                	je     0x40a916
40a90e:	85 f6                	test   %esi,%esi
40a910:	0f 88 10 06 00 00    	js     0x40af26
40a916:	6a ff                	push   $0xffffffff
40a918:	68 38 e2 44 00       	push   $0x44e238
40a91d:	6a ff                	push   $0xffffffff
40a91f:	ff 75 f4             	push   -0xc(%ebp)
40a922:	33 f6                	xor    %esi,%esi
40a924:	56                   	push   %esi
40a925:	6a 7f                	push   $0x7f
40a927:	ff d3                	call   *%ebx
40a929:	83 f8 02             	cmp    $0x2,%eax
40a92c:	75 7f                	jne    0x40a9ad
40a92e:	8d 47 14             	lea    0x14(%edi),%eax
40a931:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
40a938:	50                   	push   %eax
40a939:	68 58 e2 44 00       	push   $0x44e258
40a93e:	ff 75 f8             	push   -0x8(%ebp)
40a941:	e8 81 88 03 00       	call   0x4431c7
40a946:	8b f0                	mov    %eax,%esi
40a948:	85 f6                	test   %esi,%esi
40a94a:	0f 88 e0 05 00 00    	js     0x40af30
40a950:	8d 45 fc             	lea    -0x4(%ebp),%eax
40a953:	50                   	push   %eax
40a954:	68 1c cb 44 00       	push   $0x44cb1c
40a959:	ff 75 f8             	push   -0x8(%ebp)
40a95c:	e8 66 88 03 00       	call   0x4431c7
40a961:	8b f0                	mov    %eax,%esi
40a963:	85 f6                	test   %esi,%esi
40a965:	0f 88 43 06 00 00    	js     0x40afae
40a96b:	6a ff                	push   $0xffffffff
40a96d:	68 7c e2 44 00       	push   $0x44e27c
40a972:	6a ff                	push   $0xffffffff
40a974:	ff 75 fc             	push   -0x4(%ebp)
40a977:	33 f6                	xor    %esi,%esi
40a979:	56                   	push   %esi
40a97a:	6a 7f                	push   $0x7f
40a97c:	ff d3                	call   *%ebx
40a97e:	6a 02                	push   $0x2
40a980:	5a                   	pop    %edx
40a981:	3b c2                	cmp    %edx,%eax
40a983:	0f 84 54 05 00 00    	je     0x40aedd
40a989:	6a ff                	push   $0xffffffff
40a98b:	68 8c e2 44 00       	push   $0x44e28c
40a990:	6a ff                	push   $0xffffffff
40a992:	ff 75 fc             	push   -0x4(%ebp)
40a995:	56                   	push   %esi
40a996:	6a 7f                	push   $0x7f
40a998:	ff d3                	call   *%ebx
40a99a:	6a 02                	push   $0x2
40a99c:	5a                   	pop    %edx
40a99d:	3b c2                	cmp    %edx,%eax
40a99f:	0f 85 f7 05 00 00    	jne    0x40af9c
40a9a5:	89 57 10             	mov    %edx,0x10(%edi)
40a9a8:	e9 37 05 00 00       	jmp    0x40aee4
40a9ad:	6a ff                	push   $0xffffffff
40a9af:	68 98 e2 44 00       	push   $0x44e298
40a9b4:	6a ff                	push   $0xffffffff
40a9b6:	ff 75 f4             	push   -0xc(%ebp)
40a9b9:	56                   	push   %esi
40a9ba:	6a 7f                	push   $0x7f
40a9bc:	ff d3                	call   *%ebx
40a9be:	6a 02                	push   $0x2
40a9c0:	59                   	pop    %ecx
40a9c1:	3b c1                	cmp    %ecx,%eax
40a9c3:	75 7d                	jne    0x40aa42
40a9c5:	8d 47 14             	lea    0x14(%edi),%eax
40a9c8:	89 4f 0c             	mov    %ecx,0xc(%edi)
40a9cb:	50                   	push   %eax
40a9cc:	68 58 e2 44 00       	push   $0x44e258
40a9d1:	ff 75 f8             	push   -0x8(%ebp)
40a9d4:	e8 ee 87 03 00       	call   0x4431c7
40a9d9:	8b f0                	mov    %eax,%esi
40a9db:	85 f6                	test   %esi,%esi
40a9dd:	0f 88 4d 05 00 00    	js     0x40af30
40a9e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
40a9e6:	50                   	push   %eax
40a9e7:	68 1c cb 44 00       	push   $0x44cb1c
40a9ec:	ff 75 f8             	push   -0x8(%ebp)
40a9ef:	e8 d3 87 03 00       	call   0x4431c7
40a9f4:	8b f0                	mov    %eax,%esi
40a9f6:	85 f6                	test   %esi,%esi
40a9f8:	0f 88 b0 05 00 00    	js     0x40afae
40a9fe:	6a ff                	push   $0xffffffff
40aa00:	68 7c e2 44 00       	push   $0x44e27c
40aa05:	6a ff                	push   $0xffffffff
40aa07:	ff 75 fc             	push   -0x4(%ebp)
40aa0a:	33 f6                	xor    %esi,%esi
40aa0c:	56                   	push   %esi
40aa0d:	6a 7f                	push   $0x7f
40aa0f:	ff d3                	call   *%ebx
40aa11:	83 f8 02             	cmp    $0x2,%eax
40aa14:	0f 84 c3 04 00 00    	je     0x40aedd
40aa1a:	6a ff                	push   $0xffffffff
40aa1c:	68 c8 cb 44 00       	push   $0x44cbc8
40aa21:	6a ff                	push   $0xffffffff
40aa23:	ff 75 fc             	push   -0x4(%ebp)
40aa26:	56                   	push   %esi
40aa27:	6a 7f                	push   $0x7f
40aa29:	ff d3                	call   *%ebx
40aa2b:	6a 02                	push   $0x2
40aa2d:	5a                   	pop    %edx
40aa2e:	3b c2                	cmp    %edx,%eax
40aa30:	0f 84 6f ff ff ff    	je     0x40a9a5
40aa36:	6a ff                	push   $0xffffffff
40aa38:	68 8c e2 44 00       	push   $0x44e28c
40aa3d:	e9 d4 02 00 00       	jmp    0x40ad16
40aa42:	6a ff                	push   $0xffffffff
40aa44:	68 b0 e2 44 00       	push   $0x44e2b0
40aa49:	6a ff                	push   $0xffffffff
40aa4b:	ff 75 f4             	push   -0xc(%ebp)
40aa4e:	56                   	push   %esi
40aa4f:	6a 7f                	push   $0x7f
40aa51:	ff d3                	call   *%ebx
40aa53:	83 f8 02             	cmp    $0x2,%eax
40aa56:	0f 85 01 02 00 00    	jne    0x40ac5d
40aa5c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40aa5f:	c7 47 0c 03 00 00 00 	movl   $0x3,0xc(%edi)
40aa66:	50                   	push   %eax
40aa67:	68 d0 e2 44 00       	push   $0x44e2d0
40aa6c:	ff 75 f8             	push   -0x8(%ebp)
40aa6f:	e8 53 87 03 00       	call   0x4431c7
40aa74:	8b f0                	mov    %eax,%esi
40aa76:	85 f6                	test   %esi,%esi
40aa78:	0f 88 ff 04 00 00    	js     0x40af7d
40aa7e:	6a ff                	push   $0xffffffff
40aa80:	68 f4 e2 44 00       	push   $0x44e2f4
40aa85:	6a ff                	push   $0xffffffff
40aa87:	ff 75 fc             	push   -0x4(%ebp)
40aa8a:	33 f6                	xor    %esi,%esi
40aa8c:	56                   	push   %esi
40aa8d:	6a 7f                	push   $0x7f
40aa8f:	ff d3                	call   *%ebx
40aa91:	83 f8 02             	cmp    $0x2,%eax
40aa94:	75 09                	jne    0x40aa9f
40aa96:	c7 47 18 00 00 00 80 	movl   $0x80000000,0x18(%edi)
40aa9d:	eb 5f                	jmp    0x40aafe
40aa9f:	6a ff                	push   $0xffffffff
40aaa1:	68 00 e3 44 00       	push   $0x44e300
40aaa6:	6a ff                	push   $0xffffffff
40aaa8:	ff 75 fc             	push   -0x4(%ebp)
40aaab:	56                   	push   %esi
40aaac:	6a 7f                	push   $0x7f
40aaae:	ff d3                	call   *%ebx
40aab0:	83 f8 02             	cmp    $0x2,%eax
40aab3:	75 09                	jne    0x40aabe
40aab5:	c7 47 18 01 00 00 80 	movl   $0x80000001,0x18(%edi)
40aabc:	eb 40                	jmp    0x40aafe
40aabe:	6a ff                	push   $0xffffffff
40aac0:	68 0c e3 44 00       	push   $0x44e30c
40aac5:	6a ff                	push   $0xffffffff
40aac7:	ff 75 fc             	push   -0x4(%ebp)
40aaca:	56                   	push   %esi
40aacb:	6a 7f                	push   $0x7f
40aacd:	ff d3                	call   *%ebx
40aacf:	83 f8 02             	cmp    $0x2,%eax
40aad2:	75 09                	jne    0x40aadd
40aad4:	c7 47 18 02 00 00 80 	movl   $0x80000002,0x18(%edi)
40aadb:	eb 21                	jmp    0x40aafe
40aadd:	6a ff                	push   $0xffffffff
40aadf:	68 18 e3 44 00       	push   $0x44e318
40aae4:	6a ff                	push   $0xffffffff
40aae6:	ff 75 fc             	push   -0x4(%ebp)
40aae9:	56                   	push   %esi
40aaea:	6a 7f                	push   $0x7f
40aaec:	ff d3                	call   *%ebx
40aaee:	83 f8 02             	cmp    $0x2,%eax
40aaf1:	0f 85 7c 04 00 00    	jne    0x40af73
40aaf7:	c7 47 18 03 00 00 80 	movl   $0x80000003,0x18(%edi)
40aafe:	8d 47 1c             	lea    0x1c(%edi),%eax
40ab01:	50                   	push   %eax
40ab02:	68 40 e3 44 00       	push   $0x44e340
40ab07:	ff 75 f8             	push   -0x8(%ebp)
40ab0a:	e8 b8 86 03 00       	call   0x4431c7
40ab0f:	8b f0                	mov    %eax,%esi
40ab11:	85 f6                	test   %esi,%esi
40ab13:	0f 88 53 04 00 00    	js     0x40af6c
40ab19:	8d 47 20             	lea    0x20(%edi),%eax
40ab1c:	50                   	push   %eax
40ab1d:	68 d8 ca 44 00       	push   $0x44cad8
40ab22:	ff 75 f8             	push   -0x8(%ebp)
40ab25:	e8 9d 86 03 00       	call   0x4431c7
40ab2a:	8b f0                	mov    %eax,%esi
40ab2c:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40ab32:	74 08                	je     0x40ab3c
40ab34:	85 f6                	test   %esi,%esi
40ab36:	0f 88 fe 03 00 00    	js     0x40af3a
40ab3c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ab3f:	50                   	push   %eax
40ab40:	68 1c cb 44 00       	push   $0x44cb1c
40ab45:	ff 75 f8             	push   -0x8(%ebp)
40ab48:	e8 7a 86 03 00       	call   0x4431c7
40ab4d:	8b f0                	mov    %eax,%esi
40ab4f:	85 f6                	test   %esi,%esi
40ab51:	0f 88 57 04 00 00    	js     0x40afae
40ab57:	8d 47 24             	lea    0x24(%edi),%eax
40ab5a:	50                   	push   %eax
40ab5b:	68 88 e3 44 00       	push   $0x44e388
40ab60:	ff 75 f8             	push   -0x8(%ebp)
40ab63:	e8 73 88 03 00       	call   0x4433db
40ab68:	8b f0                	mov    %eax,%esi
40ab6a:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40ab70:	74 08                	je     0x40ab7a
40ab72:	85 f6                	test   %esi,%esi
40ab74:	0f 88 ca 03 00 00    	js     0x40af44
40ab7a:	6a ff                	push   $0xffffffff
40ab7c:	68 7c e2 44 00       	push   $0x44e27c
40ab81:	6a ff                	push   $0xffffffff
40ab83:	ff 75 fc             	push   -0x4(%ebp)
40ab86:	33 f6                	xor    %esi,%esi
40ab88:	56                   	push   %esi
40ab89:	6a 7f                	push   $0x7f
40ab8b:	ff d3                	call   *%ebx
40ab8d:	83 f8 02             	cmp    $0x2,%eax
40ab90:	0f 84 47 03 00 00    	je     0x40aedd
40ab96:	6a ff                	push   $0xffffffff
40ab98:	68 b4 e3 44 00       	push   $0x44e3b4
40ab9d:	6a ff                	push   $0xffffffff
40ab9f:	ff 75 fc             	push   -0x4(%ebp)
40aba2:	56                   	push   %esi
40aba3:	6a 7f                	push   $0x7f
40aba5:	ff d3                	call   *%ebx
40aba7:	6a 02                	push   $0x2
40aba9:	59                   	pop    %ecx
40abaa:	3b c1                	cmp    %ecx,%eax
40abac:	0f 85 ea 03 00 00    	jne    0x40af9c
40abb2:	8d 47 28             	lea    0x28(%edi),%eax
40abb5:	89 4f 10             	mov    %ecx,0x10(%edi)
40abb8:	50                   	push   %eax
40abb9:	68 c0 e3 44 00       	push   $0x44e3c0
40abbe:	ff 75 f8             	push   -0x8(%ebp)
40abc1:	e8 15 88 03 00       	call   0x4433db
40abc6:	8b f0                	mov    %eax,%esi
40abc8:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40abce:	74 08                	je     0x40abd8
40abd0:	85 f6                	test   %esi,%esi
40abd2:	0f 88 76 03 00 00    	js     0x40af4e
40abd8:	8d 45 fc             	lea    -0x4(%ebp),%eax