41bb8e:	e8 08 20 ff ff       	call   0x40db9b
41bb93:	8b f0                	mov    %eax,%esi
41bb95:	85 f6                	test   %esi,%esi
41bb97:	79 13                	jns    0x41bbac
41bb99:	ff 75 f8             	push   -0x8(%ebp)
41bb9c:	68 80 8f 45 00       	push   $0x458f80
41bba1:	56                   	push   %esi
41bba2:	e8 88 45 02 00       	call   0x44012f
41bba7:	83 c4 0c             	add    $0xc,%esp
41bbaa:	eb 31                	jmp    0x41bbdd
41bbac:	8d 45 f4             	lea    -0xc(%ebp),%eax
41bbaf:	50                   	push   %eax
41bbb0:	ff 75 08             	push   0x8(%ebp)
41bbb3:	8d 45 bc             	lea    -0x44(%ebp),%eax
41bbb6:	68 e9 ab 41 00       	push   $0x41abe9
41bbbb:	ff 75 f0             	push   -0x10(%ebp)
41bbbe:	ff 75 ec             	push   -0x14(%ebp)
41bbc1:	ff 75 10             	push   0x10(%ebp)
41bbc4:	50                   	push   %eax
41bbc5:	e8 bb ae 00 00       	call   0x426a85
41bbca:	8b f0                	mov    %eax,%esi
41bbcc:	85 f6                	test   %esi,%esi
41bbce:	79 0d                	jns    0x41bbdd
41bbd0:	68 fc 94 45 00       	push   $0x4594fc
41bbd5:	56                   	push   %esi
41bbd6:	e8 54 45 02 00       	call   0x44012f
41bbdb:	59                   	pop    %ecx
41bbdc:	59                   	pop    %ecx
41bbdd:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bbe1:	74 08                	je     0x41bbeb
41bbe3:	ff 75 f8             	push   -0x8(%ebp)
41bbe6:	e8 04 99 02 00       	call   0x4454ef
41bbeb:	8d 45 bc             	lea    -0x44(%ebp),%eax
41bbee:	50                   	push   %eax
41bbef:	e8 fb 7b ff ff       	call   0x4137ef
41bbf4:	85 f6                	test   %esi,%esi
41bbf6:	78 19                	js     0x41bc11
41bbf8:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
41bbfc:	75 07                	jne    0x41bc05
41bbfe:	be c2 0b 07 80       	mov    $0x80070bc2,%esi
41bc03:	eb 0c                	jmp    0x41bc11
41bc05:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
41bc09:	b8 69 06 07 80       	mov    $0x80070669,%eax
41bc0e:	0f 44 f0             	cmove  %eax,%esi
41bc11:	5f                   	pop    %edi
41bc12:	8b c6                	mov    %esi,%eax
41bc14:	5e                   	pop    %esi
41bc15:	5b                   	pop    %ebx
41bc16:	8b e5                	mov    %ebp,%esp
41bc18:	5d                   	pop    %ebp
41bc19:	c2 14 00             	ret    $0x14
41bc1c:	55                   	push   %ebp
41bc1d:	8b ec                	mov    %esp,%ebp
41bc1f:	83 ec 38             	sub    $0x38,%esp
41bc22:	56                   	push   %esi
41bc23:	33 c0                	xor    %eax,%eax
41bc25:	6a 30                	push   $0x30
41bc27:	50                   	push   %eax
41bc28:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bc2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bc2e:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bc31:	50                   	push   %eax
41bc32:	e8 39 3a 01 00       	call   0x42f670
41bc37:	83 c4 0c             	add    $0xc,%esp
41bc3a:	c7 45 c8 0b 00 00 00 	movl   $0xb,-0x38(%ebp)
41bc41:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bc44:	50                   	push   %eax
41bc45:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bc48:	50                   	push   %eax
41bc49:	ff 75 14             	push   0x14(%ebp)
41bc4c:	ff 75 10             	push   0x10(%ebp)
41bc4f:	e8 3b 39 02 00       	call   0x43f58f
41bc54:	8b f0                	mov    %eax,%esi
41bc56:	85 f6                	test   %esi,%esi
41bc58:	79 0a                	jns    0x41bc64
41bc5a:	68 1c 95 45 00       	push   $0x45951c
41bc5f:	e9 97 00 00 00       	jmp    0x41bcfb
41bc64:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bc67:	50                   	push   %eax
41bc68:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bc6b:	50                   	push   %eax
41bc6c:	ff 75 14             	push   0x14(%ebp)
41bc6f:	ff 75 10             	push   0x10(%ebp)
41bc72:	e8 18 39 02 00       	call   0x43f58f
41bc77:	8b f0                	mov    %eax,%esi
41bc79:	85 f6                	test   %esi,%esi
41bc7b:	79 07                	jns    0x41bc84
41bc7d:	68 78 95 45 00       	push   $0x459578
41bc82:	eb 77                	jmp    0x41bcfb
41bc84:	8d 45 d8             	lea    -0x28(%ebp),%eax
41bc87:	50                   	push   %eax
41bc88:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bc8b:	50                   	push   %eax
41bc8c:	ff 75 14             	push   0x14(%ebp)
41bc8f:	ff 75 10             	push   0x10(%ebp)
41bc92:	e8 9d 38 02 00       	call   0x43f534
41bc97:	8b f0                	mov    %eax,%esi
41bc99:	85 f6                	test   %esi,%esi
41bc9b:	79 07                	jns    0x41bca4
41bc9d:	68 94 8c 45 00       	push   $0x458c94
41bca2:	eb 57                	jmp    0x41bcfb
41bca4:	8d 45 d0             	lea    -0x30(%ebp),%eax
41bca7:	50                   	push   %eax
41bca8:	ff 75 fc             	push   -0x4(%ebp)
41bcab:	ff 75 08             	push   0x8(%ebp)
41bcae:	e8 e8 1e ff ff       	call   0x40db9b
41bcb3:	8b f0                	mov    %eax,%esi
41bcb5:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
41bcbb:	75 11                	jne    0x41bcce
41bcbd:	8d 45 d0             	lea    -0x30(%ebp),%eax
41bcc0:	50                   	push   %eax
41bcc1:	ff 75 fc             	push   -0x4(%ebp)
41bcc4:	ff 75 0c             	push   0xc(%ebp)
41bcc7:	e8 74 1f ff ff       	call   0x40dc40
41bccc:	8b f0                	mov    %eax,%esi
41bcce:	85 f6                	test   %esi,%esi
41bcd0:	79 13                	jns    0x41bce5
41bcd2:	ff 75 fc             	push   -0x4(%ebp)
41bcd5:	68 80 8f 45 00       	push   $0x458f80
41bcda:	56                   	push   %esi
41bcdb:	e8 4f 44 02 00       	call   0x44012f
41bce0:	83 c4 0c             	add    $0xc,%esp
41bce3:	eb 1e                	jmp    0x41bd03
41bce5:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bce8:	50                   	push   %eax
41bce9:	6a 01                	push   $0x1
41bceb:	e8 4c bf 00 00       	call   0x427c3c
41bcf0:	8b f0                	mov    %eax,%esi
41bcf2:	85 f6                	test   %esi,%esi
41bcf4:	79 0d                	jns    0x41bd03
41bcf6:	68 b4 95 45 00       	push   $0x4595b4
41bcfb:	56                   	push   %esi
41bcfc:	e8 2e 44 02 00       	call   0x44012f
41bd01:	59                   	pop    %ecx
41bd02:	59                   	pop    %ecx
41bd03:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41bd07:	74 08                	je     0x41bd11
41bd09:	ff 75 fc             	push   -0x4(%ebp)
41bd0c:	e8 de 97 02 00       	call   0x4454ef
41bd11:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bd14:	50                   	push   %eax
41bd15:	e8 d5 7a ff ff       	call   0x4137ef
41bd1a:	8b c6                	mov    %esi,%eax
41bd1c:	5e                   	pop    %esi
41bd1d:	8b e5                	mov    %ebp,%esp
41bd1f:	5d                   	pop    %ebp
41bd20:	c2 10 00             	ret    $0x10
41bd23:	55                   	push   %ebp
41bd24:	8b ec                	mov    %esp,%ebp
41bd26:	83 ec 38             	sub    $0x38,%esp
41bd29:	56                   	push   %esi
41bd2a:	33 c0                	xor    %eax,%eax
41bd2c:	6a 30                	push   $0x30
41bd2e:	50                   	push   %eax
41bd2f:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bd32:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bd35:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bd38:	50                   	push   %eax
41bd39:	e8 32 39 01 00       	call   0x42f670
41bd3e:	83 c4 0c             	add    $0xc,%esp
41bd41:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
41bd48:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bd4b:	50                   	push   %eax
41bd4c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bd4f:	50                   	push   %eax
41bd50:	ff 75 14             	push   0x14(%ebp)
41bd53:	ff 75 10             	push   0x10(%ebp)
41bd56:	e8 34 38 02 00       	call   0x43f58f
41bd5b:	8b f0                	mov    %eax,%esi
41bd5d:	85 f6                	test   %esi,%esi
41bd5f:	79 07                	jns    0x41bd68
41bd61:	68 1c 95 45 00       	push   $0x45951c
41bd66:	eb 75                	jmp    0x41bddd
41bd68:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bd6b:	50                   	push   %eax
41bd6c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bd6f:	50                   	push   %eax
41bd70:	ff 75 14             	push   0x14(%ebp)
41bd73:	ff 75 10             	push   0x10(%ebp)
41bd76:	e8 b9 37 02 00       	call   0x43f534
41bd7b:	8b f0                	mov    %eax,%esi
41bd7d:	85 f6                	test   %esi,%esi
41bd7f:	79 07                	jns    0x41bd88
41bd81:	68 94 8c 45 00       	push   $0x458c94
41bd86:	eb 55                	jmp    0x41bddd
41bd88:	8d 45 d0             	lea    -0x30(%ebp),%eax
41bd8b:	50                   	push   %eax
41bd8c:	ff 75 fc             	push   -0x4(%ebp)
41bd8f:	ff 75 08             	push   0x8(%ebp)
41bd92:	e8 04 1e ff ff       	call   0x40db9b
41bd97:	8b f0                	mov    %eax,%esi
41bd99:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
41bd9f:	75 11                	jne    0x41bdb2
41bda1:	8d 45 d0             	lea    -0x30(%ebp),%eax
41bda4:	50                   	push   %eax
41bda5:	ff 75 fc             	push   -0x4(%ebp)
41bda8:	ff 75 0c             	push   0xc(%ebp)
41bdab:	e8 90 1e ff ff       	call   0x40dc40
41bdb0:	8b f0                	mov    %eax,%esi
41bdb2:	85 f6                	test   %esi,%esi
41bdb4:	79 13                	jns    0x41bdc9
41bdb6:	ff 75 fc             	push   -0x4(%ebp)
41bdb9:	68 80 8f 45 00       	push   $0x458f80
41bdbe:	56                   	push   %esi
41bdbf:	e8 6b 43 02 00       	call   0x44012f
41bdc4:	83 c4 0c             	add    $0xc,%esp
41bdc7:	eb 1c                	jmp    0x41bde5
41bdc9:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bdcc:	50                   	push   %eax
41bdcd:	e8 be be 00 00       	call   0x427c90
41bdd2:	8b f0                	mov    %eax,%esi
41bdd4:	85 f6                	test   %esi,%esi
41bdd6:	79 0d                	jns    0x41bde5
41bdd8:	68 4c 95 45 00       	push   $0x45954c
41bddd:	56                   	push   %esi
41bdde:	e8 4c 43 02 00       	call   0x44012f
41bde3:	59                   	pop    %ecx
41bde4:	59                   	pop    %ecx
41bde5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41bde9:	74 08                	je     0x41bdf3
41bdeb:	ff 75 fc             	push   -0x4(%ebp)
41bdee:	e8 fc 96 02 00       	call   0x4454ef
41bdf3:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bdf6:	50                   	push   %eax
41bdf7:	e8 f3 79 ff ff       	call   0x4137ef
41bdfc:	8b c6                	mov    %esi,%eax
41bdfe:	5e                   	pop    %esi
41bdff:	8b e5                	mov    %ebp,%esp
41be01:	5d                   	pop    %ebp
41be02:	c2 10 00             	ret    $0x10
41be05:	55                   	push   %ebp
41be06:	8b ec                	mov    %esp,%ebp
41be08:	83 ec 1c             	sub    $0x1c,%esp
41be0b:	33 c0                	xor    %eax,%eax
41be0d:	53                   	push   %ebx
41be0e:	56                   	push   %esi
41be0f:	57                   	push   %edi
41be10:	89 45 f4             	mov    %eax,-0xc(%ebp)
41be13:	89 45 fc             	mov    %eax,-0x4(%ebp)
41be16:	89 45 f0             	mov    %eax,-0x10(%ebp)
41be19:	89 45 ec             	mov    %eax,-0x14(%ebp)
41be1c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41be1f:	89 45 e8             	mov    %eax,-0x18(%ebp)
41be22:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41be25:	40                   	inc    %eax
41be26:	50                   	push   %eax
41be27:	6a 14                	push   $0x14
41be29:	e8 a6 7a fe ff       	call   0x4038d4
41be2e:	8b f8                	mov    %eax,%edi
41be30:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be33:	8d 5f 04             	lea    0x4(%edi),%ebx
41be36:	53                   	push   %ebx
41be37:	50                   	push   %eax
41be38:	ff 75 18             	push   0x18(%ebp)
41be3b:	ff 75 14             	push   0x14(%ebp)
41be3e:	e8 4c 37 02 00       	call   0x43f58f
41be43:	8b f0                	mov    %eax,%esi
41be45:	85 f6                	test   %esi,%esi
41be47:	79 0a                	jns    0x41be53
41be49:	68 c0 98 45 00       	push   $0x4598c0
41be4e:	e9 93 01 00 00       	jmp    0x41bfe6
41be53:	8d 47 0c             	lea    0xc(%edi),%eax
41be56:	50                   	push   %eax
41be57:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be5a:	50                   	push   %eax
41be5b:	ff 75 18             	push   0x18(%ebp)
41be5e:	ff 75 14             	push   0x14(%ebp)
41be61:	e8 29 37 02 00       	call   0x43f58f
41be66:	8b f0                	mov    %eax,%esi
41be68:	85 f6                	test   %esi,%esi
41be6a:	79 0a                	jns    0x41be76
41be6c:	68 e0 98 45 00       	push   $0x4598e0
41be71:	e9 70 01 00 00       	jmp    0x41bfe6
41be76:	8d 47 10             	lea    0x10(%edi),%eax
41be79:	50                   	push   %eax
41be7a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be7d:	50                   	push   %eax
41be7e:	ff 75 18             	push   0x18(%ebp)
41be81:	ff 75 14             	push   0x14(%ebp)
41be84:	e8 ab 36 02 00       	call   0x43f534
41be89:	8b f0                	mov    %eax,%esi
41be8b:	85 f6                	test   %esi,%esi
41be8d:	79 0a                	jns    0x41be99
41be8f:	68 08 99 45 00       	push   $0x459908
41be94:	e9 4d 01 00 00       	jmp    0x41bfe6
41be99:	8d 45 fc             	lea    -0x4(%ebp),%eax
41be9c:	50                   	push   %eax
41be9d:	ff 33                	push   (%ebx)
41be9f:	ff 75 0c             	push   0xc(%ebp)
41bea2:	e8 d9 08 ff ff       	call   0x40c780
41bea7:	8b f0                	mov    %eax,%esi
41bea9:	85 f6                	test   %esi,%esi
41beab:	79 15                	jns    0x41bec2
41bead:	ff 33                	push   (%ebx)
41beaf:	68 40 99 45 00       	push   $0x459940
41beb4:	56                   	push   %esi
41beb5:	e8 75 42 02 00       	call   0x44012f
41beba:	83 c4 0c             	add    $0xc,%esp
41bebd:	e9 2c 01 00 00       	jmp    0x41bfee
41bec2:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bec5:	b9 24 b5 44 00       	mov    $0x44b524,%ecx
41beca:	b8 18 03 45 00       	mov    $0x450318,%eax
41becf:	be 10 03 45 00       	mov    $0x450310,%esi
41bed4:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
41bed8:	0f 45 4a 08          	cmovne 0x8(%edx),%ecx
41bedc:	83 7a 0c 00          	cmpl   $0x0,0xc(%edx)
41bee0:	0f 44 c6             	cmove  %esi,%eax
41bee3:	50                   	push   %eax
41bee4:	51                   	push   %ecx
41bee5:	ff 72 04             	push   0x4(%edx)
41bee8:	68 59 02 00 20       	push   $0x20000259
41beed:	6a 02                	push   $0x2
41beef:	e8 1b 96 fe ff       	call   0x40550f
41bef4:	83 c4 14             	add    $0x14,%esp
41bef7:	8d 45 f0             	lea    -0x10(%ebp),%eax
41befa:	b9 01 01 00 00       	mov    $0x101,%ecx
41beff:	50                   	push   %eax
41bf00:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bf03:	6a 01                	push   $0x1
41bf05:	5a                   	pop    %edx
41bf06:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
41bf0a:	0f 44 ca             	cmove  %edx,%ecx
41bf0d:	51                   	push   %ecx
41bf0e:	ff 70 04             	push   0x4(%eax)
41bf11:	68 02 00 00 80       	push   $0x80000002
41bf16:	e8 24 4f 02 00       	call   0x440e3f
41bf1b:	8b f0                	mov    %eax,%esi
41bf1d:	85 f6                	test   %esi,%esi
41bf1f:	79 0a                	jns    0x41bf2b
41bf21:	68 84 99 45 00       	push   $0x459984
41bf26:	e9 bb 00 00 00       	jmp    0x41bfe6
41bf2b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bf2e:	8d 5f 08             	lea    0x8(%edi),%ebx
41bf31:	53                   	push   %ebx
41bf32:	ff 70 08             	push   0x8(%eax)
41bf35:	ff 75 f0             	push   -0x10(%ebp)
41bf38:	e8 31 50 02 00       	call   0x440f6e
41bf3d:	8b f0                	mov    %eax,%esi
41bf3f:	85 f6                	test   %esi,%esi
41bf41:	79 0a                	jns    0x41bf4d
41bf43:	68 c0 99 45 00       	push   $0x4599c0
41bf48:	e9 99 00 00 00       	jmp    0x41bfe6
41bf4d:	57                   	push   %edi
41bf4e:	ff 75 10             	push   0x10(%ebp)
41bf51:	e8 46 00 ff ff       	call   0x40bf9c
41bf56:	8b f0                	mov    %eax,%esi
41bf58:	85 f6                	test   %esi,%esi
41bf5a:	79 0c                	jns    0x41bf68
41bf5c:	ff 33                	push   (%ebx)
41bf5e:	68 f8 99 45 00       	push   $0x4599f8