41ebb3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ebb6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ebb9:	56                   	push   %esi
41ebba:	57                   	push   %edi
41ebbb:	85 c0                	test   %eax,%eax
41ebbd:	74 69                	je     0x41ec28
41ebbf:	66 39 18             	cmp    %bx,(%eax)
41ebc2:	74 64                	je     0x41ec28
41ebc4:	8b 7d 14             	mov    0x14(%ebp),%edi
41ebc7:	85 ff                	test   %edi,%edi
41ebc9:	74 5d                	je     0x41ec28
41ebcb:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ebce:	51                   	push   %ecx
41ebcf:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41ebd2:	51                   	push   %ecx
41ebd3:	50                   	push   %eax
41ebd4:	8b 45 08             	mov    0x8(%ebp),%eax
41ebd7:	8b 40 0c             	mov    0xc(%eax),%eax
41ebda:	05 88 00 00 00       	add    $0x88,%eax
41ebdf:	50                   	push   %eax
41ebe0:	e8 ea 85 fe ff       	call   0x4071cf
41ebe5:	8b f0                	mov    %eax,%esi
41ebe7:	85 f6                	test   %esi,%esi
41ebe9:	78 42                	js     0x41ec2d
41ebeb:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41ebee:	74 2c                	je     0x41ec1c
41ebf0:	68 00 02 00 00       	push   $0x200
41ebf5:	53                   	push   %ebx
41ebf6:	53                   	push   %ebx
41ebf7:	ff 75 f8             	push   -0x8(%ebp)
41ebfa:	ff 37                	push   (%edi)
41ebfc:	ff 75 10             	push   0x10(%ebp)
41ebff:	e8 36 0d 00 00       	call   0x41f93a
41ec04:	8b f0                	mov    %eax,%esi
41ec06:	85 f6                	test   %esi,%esi
41ec08:	79 23                	jns    0x41ec2d
41ec0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ec0d:	89 07                	mov    %eax,(%edi)
41ec0f:	81 fe 7a 00 07 80    	cmp    $0x8007007a,%esi
41ec15:	75 16                	jne    0x41ec2d
41ec17:	83 c6 70             	add    $0x70,%esi
41ec1a:	eb 11                	jmp    0x41ec2d
41ec1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ec1f:	be ea 00 07 80       	mov    $0x800700ea,%esi
41ec24:	89 07                	mov    %eax,(%edi)
41ec26:	eb 05                	jmp    0x41ec2d
41ec28:	be 57 00 07 80       	mov    $0x80070057,%esi
41ec2d:	ff 75 f8             	push   -0x8(%ebp)
41ec30:	e8 5e 3b fe ff       	call   0x402793
41ec35:	5f                   	pop    %edi
41ec36:	8b c6                	mov    %esi,%eax
41ec38:	5e                   	pop    %esi
41ec39:	5b                   	pop    %ebx
41ec3a:	8b e5                	mov    %ebp,%esp
41ec3c:	5d                   	pop    %ebp
41ec3d:	c2 10 00             	ret    $0x10
41ec40:	55                   	push   %ebp
41ec41:	8b ec                	mov    %esp,%ebp
41ec43:	8b 55 0c             	mov    0xc(%ebp),%edx
41ec46:	53                   	push   %ebx
41ec47:	56                   	push   %esi
41ec48:	57                   	push   %edi
41ec49:	33 ff                	xor    %edi,%edi
41ec4b:	bb 84 9d 45 00       	mov    $0x459d84,%ebx
41ec50:	6a 04                	push   $0x4
41ec52:	8b cf                	mov    %edi,%ecx
41ec54:	5e                   	pop    %esi
41ec55:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
41ec58:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
41ec5b:	75 5d                	jne    0x41ecba
41ec5d:	41                   	inc    %ecx
41ec5e:	3b ce                	cmp    %esi,%ecx
41ec60:	75 f3                	jne    0x41ec55
41ec62:	f7 45 14 03 00 00 00 	testl  $0x3,0x14(%ebp)
41ec69:	75 26                	jne    0x41ec91
41ec6b:	be 05 40 00 80       	mov    $0x80004005,%esi
41ec70:	56                   	push   %esi
41ec71:	68 28 03 00 00       	push   $0x328
41ec76:	68 94 9d 45 00       	push   $0x459d94
41ec7b:	8b fe                	mov    %esi,%edi
41ec7d:	e8 51 4b fe ff       	call   0x4037d3
41ec82:	68 ac a3 45 00       	push   $0x45a3ac
41ec87:	56                   	push   %esi
41ec88:	e8 a2 14 02 00       	call   0x44012f
41ec8d:	59                   	pop    %ecx
41ec8e:	59                   	pop    %ecx
41ec8f:	eb 2e                	jmp    0x41ecbf
41ec91:	8b 45 20             	mov    0x20(%ebp),%eax
41ec94:	85 c0                	test   %eax,%eax
41ec96:	75 1e                	jne    0x41ecb6
41ec98:	be 05 40 00 80       	mov    $0x80004005,%esi
41ec9d:	56                   	push   %esi
41ec9e:	68 2c 03 00 00       	push   $0x32c
41eca3:	68 94 9d 45 00       	push   $0x459d94
41eca8:	8b fe                	mov    %esi,%edi
41ecaa:	e8 24 4b fe ff       	call   0x4037d3
41ecaf:	68 e8 a3 45 00       	push   $0x45a3e8
41ecb4:	eb d1                	jmp    0x41ec87
41ecb6:	89 30                	mov    %esi,(%eax)
41ecb8:	eb 05                	jmp    0x41ecbf
41ecba:	bf 02 40 00 80       	mov    $0x80004002,%edi
41ecbf:	8b c7                	mov    %edi,%eax
41ecc1:	5f                   	pop    %edi
41ecc2:	5e                   	pop    %esi
41ecc3:	5b                   	pop    %ebx
41ecc4:	5d                   	pop    %ebp
41ecc5:	c2 1c 00             	ret    $0x1c
41ecc8:	55                   	push   %ebp
41ecc9:	8b ec                	mov    %esp,%ebp
41eccb:	8b 55 0c             	mov    0xc(%ebp),%edx
41ecce:	33 c9                	xor    %ecx,%ecx
41ecd0:	85 d2                	test   %edx,%edx
41ecd2:	74 10                	je     0x41ece4
41ecd4:	8b 45 08             	mov    0x8(%ebp),%eax
41ecd7:	8b 40 0c             	mov    0xc(%eax),%eax
41ecda:	8b 80 cc 02 00 00    	mov    0x2cc(%eax),%eax
41ece0:	89 02                	mov    %eax,(%edx)
41ece2:	eb 05                	jmp    0x41ece9
41ece4:	b9 57 00 07 80       	mov    $0x80070057,%ecx
41ece9:	8b c1                	mov    %ecx,%eax
41eceb:	5d                   	pop    %ebp
41ecec:	c2 08 00             	ret    $0x8
41ecef:	b8 01 40 00 80       	mov    $0x80004001,%eax
41ecf4:	c2 1c 00             	ret    $0x1c
41ecf7:	55                   	push   %ebp
41ecf8:	8b ec                	mov    %esp,%ebp
41ecfa:	8b 45 0c             	mov    0xc(%ebp),%eax
41ecfd:	85 c0                	test   %eax,%eax
41ecff:	74 23                	je     0x41ed24
41ed01:	66 83 38 00          	cmpw   $0x0,(%eax)
41ed05:	74 1d                	je     0x41ed24
41ed07:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41ed0b:	74 17                	je     0x41ed24
41ed0d:	ff 75 10             	push   0x10(%ebp)
41ed10:	50                   	push   %eax
41ed11:	8b 45 08             	mov    0x8(%ebp),%eax
41ed14:	8b 40 0c             	mov    0xc(%eax),%eax
41ed17:	05 88 00 00 00       	add    $0x88,%eax
41ed1c:	50                   	push   %eax
41ed1d:	e8 ea 85 fe ff       	call   0x40730c
41ed22:	eb 05                	jmp    0x41ed29
41ed24:	b8 57 00 07 80       	mov    $0x80070057,%eax
41ed29:	5d                   	pop    %ebp
41ed2a:	c2 0c 00             	ret    $0xc
41ed2d:	55                   	push   %ebp
41ed2e:	8b ec                	mov    %esp,%ebp
41ed30:	51                   	push   %ecx
41ed31:	51                   	push   %ecx
41ed32:	8b 45 0c             	mov    0xc(%ebp),%eax
41ed35:	53                   	push   %ebx
41ed36:	33 db                	xor    %ebx,%ebx
41ed38:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ed3b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ed3e:	56                   	push   %esi
41ed3f:	57                   	push   %edi
41ed40:	85 c0                	test   %eax,%eax
41ed42:	74 6c                	je     0x41edb0
41ed44:	66 39 18             	cmp    %bx,(%eax)
41ed47:	74 67                	je     0x41edb0
41ed49:	8b 7d 14             	mov    0x14(%ebp),%edi
41ed4c:	85 ff                	test   %edi,%edi
41ed4e:	74 60                	je     0x41edb0
41ed50:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41ed53:	51                   	push   %ecx
41ed54:	50                   	push   %eax
41ed55:	8b 45 08             	mov    0x8(%ebp),%eax
41ed58:	8b 40 0c             	mov    0xc(%eax),%eax
41ed5b:	05 88 00 00 00       	add    $0x88,%eax
41ed60:	50                   	push   %eax
41ed61:	e8 28 86 fe ff       	call   0x40738e
41ed66:	8b f0                	mov    %eax,%esi
41ed68:	85 f6                	test   %esi,%esi
41ed6a:	78 49                	js     0x41edb5
41ed6c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ed6f:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41ed72:	74 21                	je     0x41ed95
41ed74:	68 00 02 00 00       	push   $0x200
41ed79:	50                   	push   %eax
41ed7a:	53                   	push   %ebx
41ed7b:	ff 75 f8             	push   -0x8(%ebp)
41ed7e:	ff 37                	push   (%edi)
41ed80:	ff 75 10             	push   0x10(%ebp)
41ed83:	e8 b2 0b 00 00       	call   0x41f93a
41ed88:	8b f0                	mov    %eax,%esi
41ed8a:	81 fe 7a 00 07 80    	cmp    $0x8007007a,%esi
41ed90:	75 23                	jne    0x41edb5
41ed92:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ed95:	50                   	push   %eax
41ed96:	68 ff ff ff 7f       	push   $0x7fffffff
41ed9b:	ff 75 f8             	push   -0x8(%ebp)
41ed9e:	be ea 00 07 80       	mov    $0x800700ea,%esi
41eda3:	e8 af 2e fe ff       	call   0x401c57
41eda8:	8b 45 fc             	mov    -0x4(%ebp),%eax
41edab:	40                   	inc    %eax
41edac:	89 07                	mov    %eax,(%edi)
41edae:	eb 05                	jmp    0x41edb5
41edb0:	be 57 00 07 80       	mov    $0x80070057,%esi
41edb5:	ff 75 f8             	push   -0x8(%ebp)
41edb8:	e8 d6 39 fe ff       	call   0x402793
41edbd:	5f                   	pop    %edi
41edbe:	8b c6                	mov    %esi,%eax
41edc0:	5e                   	pop    %esi
41edc1:	5b                   	pop    %ebx
41edc2:	8b e5                	mov    %ebp,%esp
41edc4:	5d                   	pop    %ebp
41edc5:	c2 10 00             	ret    $0x10
41edc8:	55                   	push   %ebp
41edc9:	8b ec                	mov    %esp,%ebp
41edcb:	8b 45 0c             	mov    0xc(%ebp),%eax
41edce:	85 c0                	test   %eax,%eax
41edd0:	74 23                	je     0x41edf5
41edd2:	66 83 38 00          	cmpw   $0x0,(%eax)
41edd6:	74 1d                	je     0x41edf5
41edd8:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41eddc:	74 17                	je     0x41edf5
41edde:	ff 75 10             	push   0x10(%ebp)
41ede1:	50                   	push   %eax
41ede2:	8b 45 08             	mov    0x8(%ebp),%eax
41ede5:	8b 40 0c             	mov    0xc(%eax),%eax
41ede8:	05 88 00 00 00       	add    $0x88,%eax
41eded:	50                   	push   %eax
41edee:	e8 8e 86 fe ff       	call   0x407481
41edf3:	eb 05                	jmp    0x41edfa
41edf5:	b8 57 00 07 80       	mov    $0x80070057,%eax
41edfa:	5d                   	pop    %ebp
41edfb:	c2 0c 00             	ret    $0xc
41edfe:	55                   	push   %ebp
41edff:	8b ec                	mov    %esp,%ebp
41ee01:	51                   	push   %ecx
41ee02:	53                   	push   %ebx
41ee03:	56                   	push   %esi
41ee04:	57                   	push   %edi
41ee05:	6a 01                	push   $0x1
41ee07:	33 c0                	xor    %eax,%eax
41ee09:	6a 14                	push   $0x14
41ee0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ee0e:	e8 c1 4a fe ff       	call   0x4038d4
41ee13:	8b 75 08             	mov    0x8(%ebp),%esi
41ee16:	8b d8                	mov    %eax,%ebx
41ee18:	ff 76 0c             	push   0xc(%esi)
41ee1b:	ff 15 b4 b1 44 00    	call   *0x44b1b4
41ee21:	8b 4e 0c             	mov    0xc(%esi),%ecx
41ee24:	81 c1 b8 00 00 00    	add    $0xb8,%ecx
41ee2a:	51                   	push   %ecx
41ee2b:	e8 29 e6 fe ff       	call   0x40d459
41ee30:	8b f0                	mov    %eax,%esi
41ee32:	85 f6                	test   %esi,%esi
41ee34:	79 12                	jns    0x41ee48
41ee36:	68 24 a0 45 00       	push   $0x45a024
41ee3b:	56                   	push   %esi
41ee3c:	e8 ee 12 02 00       	call   0x44012f
41ee41:	59                   	pop    %ecx
41ee42:	59                   	pop    %ecx
41ee43:	e9 fa 00 00 00       	jmp    0x41ef42
41ee48:	8b 7d 10             	mov    0x10(%ebp),%edi
41ee4b:	85 ff                	test   %edi,%edi
41ee4d:	0f 84 ea 00 00 00    	je     0x41ef3d
41ee53:	33 c0                	xor    %eax,%eax
41ee55:	66 39 07             	cmp    %ax,(%edi)
41ee58:	0f 84 df 00 00 00    	je     0x41ef3d
41ee5e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ee61:	50                   	push   %eax
41ee62:	8b 45 08             	mov    0x8(%ebp),%eax
41ee65:	57                   	push   %edi
41ee66:	8b 40 0c             	mov    0xc(%eax),%eax
41ee69:	05 d8 03 00 00       	add    $0x3d8,%eax
41ee6e:	50                   	push   %eax
41ee6f:	e8 0c d9 fe ff       	call   0x40c780
41ee74:	8b f0                	mov    %eax,%esi
41ee76:	85 f6                	test   %esi,%esi
41ee78:	79 14                	jns    0x41ee8e
41ee7a:	57                   	push   %edi
41ee7b:	68 18 a3 45 00       	push   $0x45a318
41ee80:	56                   	push   %esi
41ee81:	e8 a9 12 02 00       	call   0x44012f
41ee86:	83 c4 0c             	add    $0xc,%esp
41ee89:	e9 b4 00 00 00       	jmp    0x41ef42
41ee8e:	8b 45 08             	mov    0x8(%ebp),%eax
41ee91:	ff 70 0c             	push   0xc(%eax)
41ee94:	ff 15 b8 b1 44 00    	call   *0x44b1b8
41ee9a:	33 c0                	xor    %eax,%eax
41ee9c:	50                   	push   %eax
41ee9d:	57                   	push   %edi
41ee9e:	8d 43 04             	lea    0x4(%ebx),%eax
41eea1:	50                   	push   %eax
41eea2:	e8 fe 32 fe ff       	call   0x4021a5
41eea7:	8b f0                	mov    %eax,%esi
41eea9:	85 f6                	test   %esi,%esi
41eeab:	79 12                	jns    0x41eebf
41eead:	68 48 a3 45 00       	push   $0x45a348
41eeb2:	56                   	push   %esi
41eeb3:	e8 77 12 02 00       	call   0x44012f
41eeb8:	59                   	pop    %ecx
41eeb9:	59                   	pop    %ecx
41eeba:	e9 8f 00 00 00       	jmp    0x41ef4e
41eebf:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41eec3:	74 1c                	je     0x41eee1
41eec5:	33 c0                	xor    %eax,%eax
41eec7:	50                   	push   %eax
41eec8:	ff 75 14             	push   0x14(%ebp)
41eecb:	8d 43 0c             	lea    0xc(%ebx),%eax
41eece:	50                   	push   %eax
41eecf:	e8 d1 32 fe ff       	call   0x4021a5
41eed4:	8b f0                	mov    %eax,%esi
41eed6:	85 f6                	test   %esi,%esi
41eed8:	79 07                	jns    0x41eee1
41eeda:	68 60 a3 45 00       	push   $0x45a360
41eedf:	eb d1                	jmp    0x41eeb2
41eee1:	8b 45 18             	mov    0x18(%ebp),%eax
41eee4:	89 43 10             	mov    %eax,0x10(%ebx)
41eee7:	8b 45 0c             	mov    0xc(%ebp),%eax
41eeea:	89 03                	mov    %eax,(%ebx)
41eeec:	33 c0                	xor    %eax,%eax
41eeee:	53                   	push   %ebx
41eeef:	50                   	push   %eax
41eef0:	8b 45 08             	mov    0x8(%ebp),%eax
41eef3:	68 04 90 00 00       	push   $0x9004
41eef8:	ff 70 10             	push   0x10(%eax)
41eefb:	ff 15 68 b3 44 00    	call   *0x44b368
41ef01:	85 c0                	test   %eax,%eax
41ef03:	75 49                	jne    0x41ef4e
41ef05:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41ef0b:	0f b7 f0             	movzwl %ax,%esi
41ef0e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ef14:	85 c0                	test   %eax,%eax
41ef16:	0f 4e f0             	cmovle %eax,%esi
41ef19:	b8 05 40 00 80       	mov    $0x80004005,%eax
41ef1e:	85 f6                	test   %esi,%esi
41ef20:	0f 49 f0             	cmovns %eax,%esi
41ef23:	56                   	push   %esi
41ef24:	68 f5 02 00 00       	push   $0x2f5
41ef29:	68 94 9d 45 00       	push   $0x459d94
41ef2e:	e8 a0 48 fe ff       	call   0x4037d3
41ef33:	68 80 a3 45 00       	push   $0x45a380
41ef38:	e9 75 ff ff ff       	jmp    0x41eeb2
41ef3d:	be 57 00 07 80       	mov    $0x80070057,%esi
41ef42:	8b 45 08             	mov    0x8(%ebp),%eax
41ef45:	ff 70 0c             	push   0xc(%eax)
41ef48:	ff 15 b8 b1 44 00    	call   *0x44b1b8
41ef4e:	85 f6                	test   %esi,%esi
41ef50:	79 06                	jns    0x41ef58
41ef52:	53                   	push   %ebx
41ef53:	e8 04 d0 fe ff       	call   0x40bf5c
41ef58:	5f                   	pop    %edi
41ef59:	8b c6                	mov    %esi,%eax
41ef5b:	5e                   	pop    %esi
41ef5c:	5b                   	pop    %ebx
41ef5d:	8b e5                	mov    %ebp,%esp
41ef5f:	5d                   	pop    %ebp
41ef60:	c2 14 00             	ret    $0x14