41ece8:	8b c6                	mov    %esi,%eax
41ecea:	e8 95 fe ff ff       	call   0x41eb84
41ecef:	33 c0                	xor    %eax,%eax
41ecf1:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ecf4:	6a 00                	push   $0x0
41ecf6:	e8 2d 75 fe ff       	call   0x406228
41ecfb:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ecfe:	33 c0                	xor    %eax,%eax
41ed00:	55                   	push   %ebp
41ed01:	68 71 ed 41 00       	push   $0x41ed71
41ed06:	64 ff 30             	push   %fs:(%eax)
41ed09:	64 89 20             	mov    %esp,%fs:(%eax)
41ed0c:	85 ff                	test   %edi,%edi
41ed0e:	74 18                	je     0x41ed28
41ed10:	6a 00                	push   $0x0
41ed12:	57                   	push   %edi
41ed13:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed16:	50                   	push   %eax
41ed17:	e8 84 76 fe ff       	call   0x4063a0
41ed1c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ed1f:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed22:	50                   	push   %eax
41ed23:	e8 38 76 fe ff       	call   0x406360
41ed28:	6a 00                	push   $0x0
41ed2a:	53                   	push   %ebx
41ed2b:	8b 45 0c             	mov    0xc(%ebp),%eax
41ed2e:	50                   	push   %eax
41ed2f:	8b 43 08             	mov    0x8(%ebx),%eax
41ed32:	50                   	push   %eax
41ed33:	6a 00                	push   $0x0
41ed35:	56                   	push   %esi
41ed36:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed39:	50                   	push   %eax
41ed3a:	e8 79 75 fe ff       	call   0x4062b8
41ed3f:	85 c0                	test   %eax,%eax
41ed41:	0f 95 45 ff          	setne  -0x1(%ebp)
41ed45:	33 c0                	xor    %eax,%eax
41ed47:	5a                   	pop    %edx
41ed48:	59                   	pop    %ecx
41ed49:	59                   	pop    %ecx
41ed4a:	64 89 10             	mov    %edx,%fs:(%eax)
41ed4d:	68 78 ed 41 00       	push   $0x41ed78
41ed52:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41ed56:	74 0f                	je     0x41ed67
41ed58:	6a 00                	push   $0x0
41ed5a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ed5d:	50                   	push   %eax
41ed5e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed61:	50                   	push   %eax
41ed62:	e8 39 76 fe ff       	call   0x4063a0
41ed67:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed6a:	50                   	push   %eax
41ed6b:	e8 f8 74 fe ff       	call   0x406268
41ed70:	c3                   	ret
41ed71:	e9 4a 4c fe ff       	jmp    0x4039c0
41ed76:	eb da                	jmp    0x41ed52
41ed78:	8a 45 ff             	mov    -0x1(%ebp),%al
41ed7b:	5f                   	pop    %edi
41ed7c:	5e                   	pop    %esi
41ed7d:	5b                   	pop    %ebx
41ed7e:	8b e5                	mov    %ebp,%esp
41ed80:	5d                   	pop    %ebp
41ed81:	c2 08 00             	ret    $0x8
41ed84:	55                   	push   %ebp
41ed85:	8b ec                	mov    %esp,%ebp
41ed87:	53                   	push   %ebx
41ed88:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ed8b:	53                   	push   %ebx
41ed8c:	6a 00                	push   $0x0
41ed8e:	e8 41 ff ff ff       	call   0x41ecd4
41ed93:	5b                   	pop    %ebx
41ed94:	5d                   	pop    %ebp
41ed95:	c2 04 00             	ret    $0x4
41ed98:	c3                   	ret
41ed99:	8d 40 00             	lea    0x0(%eax),%eax
41ed9c:	85 c0                	test   %eax,%eax
41ed9e:	75 05                	jne    0x41eda5
41eda0:	e8 f3 ff ff ff       	call   0x41ed98
41eda5:	c3                   	ret
41eda6:	8b c0                	mov    %eax,%eax
41eda8:	55                   	push   %ebp
41eda9:	8b ec                	mov    %esp,%ebp
41edab:	83 c4 ac             	add    $0xffffffac,%esp
41edae:	53                   	push   %ebx
41edaf:	56                   	push   %esi
41edb0:	57                   	push   %edi
41edb1:	88 4d ff             	mov    %cl,-0x1(%ebp)
41edb4:	8b f2                	mov    %edx,%esi
41edb6:	8b d8                	mov    %eax,%ebx
41edb8:	8d 45 d6             	lea    -0x2a(%ebp),%eax
41edbb:	33 c9                	xor    %ecx,%ecx
41edbd:	ba 06 00 00 00       	mov    $0x6,%edx
41edc2:	e8 c1 3e fe ff       	call   0x402c88
41edc7:	8d 45 ac             	lea    -0x54(%ebp),%eax
41edca:	33 c9                	xor    %ecx,%ecx
41edcc:	ba 10 00 00 00       	mov    $0x10,%edx
41edd1:	e8 b2 3e fe ff       	call   0x402c88
41edd6:	8d 45 bc             	lea    -0x44(%ebp),%eax
41edd9:	50                   	push   %eax
41edda:	56                   	push   %esi
41eddb:	e8 f8 77 fe ff       	call   0x4065d8
41ede0:	e8 b7 ff ff ff       	call   0x41ed9c
41ede5:	33 d2                	xor    %edx,%edx
41ede7:	55                   	push   %ebp
41ede8:	68 96 ef 41 00       	push   $0x41ef96
41eded:	64 ff 32             	push   %fs:(%edx)
41edf0:	64 89 22             	mov    %esp,%fs:(%edx)
41edf3:	6a 02                	push   $0x2
41edf5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41edf8:	8d 55 f8             	lea    -0x8(%ebp),%edx
41edfb:	8b 45 c8             	mov    -0x38(%ebp),%eax
41edfe:	e8 65 fe ff ff       	call   0x41ec68
41ee03:	6a 10                	push   $0x10
41ee05:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41ee08:	8d 55 f4             	lea    -0xc(%ebp),%edx
41ee0b:	8b 45 cc             	mov    -0x34(%ebp),%eax
41ee0e:	e8 55 fe ff ff       	call   0x41ec68
41ee13:	33 c0                	xor    %eax,%eax
41ee15:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ee18:	33 c0                	xor    %eax,%eax
41ee1a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ee1d:	33 c0                	xor    %eax,%eax
41ee1f:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ee22:	33 c0                	xor    %eax,%eax
41ee24:	89 45 dc             	mov    %eax,-0x24(%ebp)
41ee27:	33 d2                	xor    %edx,%edx
41ee29:	55                   	push   %ebp
41ee2a:	68 6f ef 41 00       	push   $0x41ef6f
41ee2f:	64 ff 32             	push   %fs:(%edx)
41ee32:	64 89 22             	mov    %esp,%fs:(%edx)
41ee35:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ee38:	e8 bf 8c fe ff       	call   0x407afc
41ee3d:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ee40:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ee43:	e8 b4 8c fe ff       	call   0x407afc
41ee48:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ee4b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ee4e:	e8 a9 8c fe ff       	call   0x407afc
41ee53:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ee56:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ee59:	e8 9e 8c fe ff       	call   0x407afc
41ee5e:	89 45 dc             	mov    %eax,-0x24(%ebp)
41ee61:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ee64:	50                   	push   %eax
41ee65:	6a 02                	push   $0x2
41ee67:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ee6a:	33 d2                	xor    %edx,%edx
41ee6c:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ee6f:	e8 60 fe ff ff       	call   0x41ecd4
41ee74:	8b 45 dc             	mov    -0x24(%ebp),%eax
41ee77:	50                   	push   %eax
41ee78:	6a 10                	push   $0x10
41ee7a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41ee7d:	33 d2                	xor    %edx,%edx
41ee7f:	8b 45 cc             	mov    -0x34(%ebp),%eax
41ee82:	e8 4d fe ff ff       	call   0x41ecd4
41ee87:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41ee8b:	74 1e                	je     0x41eeab
41ee8d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ee90:	83 c0 16             	add    $0x16,%eax
41ee93:	03 45 ec             	add    -0x14(%ebp),%eax
41ee96:	03 45 f0             	add    -0x10(%ebp),%eax
41ee99:	89 45 d0             	mov    %eax,-0x30(%ebp)
41ee9c:	8d 55 d0             	lea    -0x30(%ebp),%edx
41ee9f:	b9 04 00 00 00       	mov    $0x4,%ecx
41eea4:	8b c3                	mov    %ebx,%eax
41eea6:	8b 30                	mov    (%eax),%esi
41eea8:	ff 56 10             	call   *0x10(%esi)
41eeab:	66 c7 45 d8 01 00    	movw   $0x1,-0x28(%ebp)
41eeb1:	66 c7 45 da 01 00    	movw   $0x1,-0x26(%ebp)
41eeb7:	8d 55 d6             	lea    -0x2a(%ebp),%edx
41eeba:	b9 06 00 00 00       	mov    $0x6,%ecx
41eebf:	8b c3                	mov    %ebx,%eax
41eec1:	8b 30                	mov    (%eax),%esi
41eec3:	ff 56 10             	call   *0x10(%esi)
41eec6:	8b 75 e0             	mov    -0x20(%ebp),%esi
41eec9:	8b c6                	mov    %esi,%eax
41eecb:	8a 50 04             	mov    0x4(%eax),%dl
41eece:	88 55 ac             	mov    %dl,-0x54(%ebp)
41eed1:	8a 50 08             	mov    0x8(%eax),%dl
41eed4:	88 55 ad             	mov    %dl,-0x53(%ebp)
41eed7:	66 8b 50 0c          	mov    0xc(%eax),%dx
41eedb:	66 0f af 50 0e       	imul   0xe(%eax),%dx
41eee0:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
41eee4:	8b 45 f4             	mov    -0xc(%ebp),%eax
41eee7:	03 45 ec             	add    -0x14(%ebp),%eax
41eeea:	03 45 f0             	add    -0x10(%ebp),%eax
41eeed:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41eef0:	c7 45 b8 16 00 00 00 	movl   $0x16,-0x48(%ebp)
41eef7:	8d 55 ac             	lea    -0x54(%ebp),%edx
41eefa:	b9 10 00 00 00       	mov    $0x10,%ecx
41eeff:	8b c3                	mov    %ebx,%eax
41ef01:	8b 38                	mov    (%eax),%edi
41ef03:	ff 57 10             	call   *0x10(%edi)
41ef06:	8b c6                	mov    %esi,%eax
41ef08:	8b 50 08             	mov    0x8(%eax),%edx
41ef0b:	01 50 08             	add    %edx,0x8(%eax)
41ef0e:	8b 55 e0             	mov    -0x20(%ebp),%edx
41ef11:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41ef14:	8b c3                	mov    %ebx,%eax
41ef16:	8b 30                	mov    (%eax),%esi
41ef18:	ff 56 10             	call   *0x10(%esi)
41ef1b:	8b 55 dc             	mov    -0x24(%ebp),%edx
41ef1e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41ef21:	8b c3                	mov    %ebx,%eax
41ef23:	8b 30                	mov    (%eax),%esi
41ef25:	ff 56 10             	call   *0x10(%esi)
41ef28:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41ef2b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41ef2e:	8b c3                	mov    %ebx,%eax
41ef30:	8b 18                	mov    (%eax),%ebx
41ef32:	ff 53 10             	call   *0x10(%ebx)
41ef35:	33 c0                	xor    %eax,%eax
41ef37:	5a                   	pop    %edx
41ef38:	59                   	pop    %ecx
41ef39:	59                   	pop    %ecx
41ef3a:	64 89 10             	mov    %edx,%fs:(%eax)
41ef3d:	68 76 ef 41 00       	push   $0x41ef76
41ef42:	8b 55 f4             	mov    -0xc(%ebp),%edx
41ef45:	8b 45 e0             	mov    -0x20(%ebp),%eax
41ef48:	e8 8f 37 fe ff       	call   0x4026dc
41ef4d:	8b 55 ec             	mov    -0x14(%ebp),%edx
41ef50:	8b 45 dc             	mov    -0x24(%ebp),%eax
41ef53:	e8 84 37 fe ff       	call   0x4026dc
41ef58:	8b 55 f8             	mov    -0x8(%ebp),%edx
41ef5b:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ef5e:	e8 79 37 fe ff       	call   0x4026dc
41ef63:	8b 55 f0             	mov    -0x10(%ebp),%edx
41ef66:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ef69:	e8 6e 37 fe ff       	call   0x4026dc
41ef6e:	c3                   	ret
41ef6f:	e9 4c 4a fe ff       	jmp    0x4039c0
41ef74:	eb cc                	jmp    0x41ef42
41ef76:	33 c0                	xor    %eax,%eax
41ef78:	5a                   	pop    %edx
41ef79:	59                   	pop    %ecx
41ef7a:	59                   	pop    %ecx
41ef7b:	64 89 10             	mov    %edx,%fs:(%eax)
41ef7e:	68 9d ef 41 00       	push   $0x41ef9d
41ef83:	8b 45 cc             	mov    -0x34(%ebp),%eax
41ef86:	50                   	push   %eax
41ef87:	e8 ec 72 fe ff       	call   0x406278
41ef8c:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ef8f:	50                   	push   %eax
41ef90:	e8 e3 72 fe ff       	call   0x406278
41ef95:	c3                   	ret
41ef96:	e9 25 4a fe ff       	jmp    0x4039c0
41ef9b:	eb e6                	jmp    0x41ef83
41ef9d:	5f                   	pop    %edi
41ef9e:	5e                   	pop    %esi
41ef9f:	5b                   	pop    %ebx
41efa0:	8b e5                	mov    %ebp,%esp
41efa2:	5d                   	pop    %ebp
41efa3:	c3                   	ret
41efa4:	53                   	push   %ebx
41efa5:	56                   	push   %esi
41efa6:	84 d2                	test   %dl,%dl
41efa8:	74 08                	je     0x41efb2
41efaa:	83 c4 f0             	add    $0xfffffff0,%esp
41efad:	e8 de 45 fe ff       	call   0x403590
41efb2:	8b da                	mov    %edx,%ebx
41efb4:	8b f0                	mov    %eax,%esi
41efb6:	33 d2                	xor    %edx,%edx
41efb8:	8b c6                	mov    %esi,%eax
41efba:	e8 7d 42 fe ff       	call   0x40323c
41efbf:	8b c6                	mov    %esi,%eax
41efc1:	84 db                	test   %bl,%bl
41efc3:	74 0f                	je     0x41efd4
41efc5:	e8 1e 46 fe ff       	call   0x4035e8
41efca:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41efd1:	83 c4 0c             	add    $0xc,%esp
41efd4:	8b c6                	mov    %esi,%eax
41efd6:	5e                   	pop    %esi
41efd7:	5b                   	pop    %ebx
41efd8:	c3                   	ret
41efd9:	8d 40 00             	lea    0x0(%eax),%eax
41efdc:	53                   	push   %ebx
41efdd:	c6 40 20 01          	movb   $0x1,0x20(%eax)
41efe1:	66 83 78 12 00       	cmpw   $0x0,0x12(%eax)
41efe6:	74 0a                	je     0x41eff2
41efe8:	8b d8                	mov    %eax,%ebx
41efea:	8b d0                	mov    %eax,%edx
41efec:	8b 43 14             	mov    0x14(%ebx),%eax
41efef:	ff 53 10             	call   *0x10(%ebx)
41eff2:	5b                   	pop    %ebx
41eff3:	c3                   	ret
41eff4:	55                   	push   %ebp
41eff5:	8b ec                	mov    %esp,%ebp
41eff7:	53                   	push   %ebx
41eff8:	8b 45 08             	mov    0x8(%ebp),%eax
41effb:	8b 40 fc             	mov    -0x4(%eax),%eax
41effe:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41f002:	74 37                	je     0x41f03b
41f004:	8b 45 08             	mov    0x8(%ebp),%eax
41f007:	8b 40 fc             	mov    -0x4(%eax),%eax
41f00a:	8b 58 20             	mov    0x20(%eax),%ebx
41f00d:	8b c3                	mov    %ebx,%eax
41f00f:	8b 15 6c b7 41 00    	mov    0x41b76c,%edx
41f015:	e8 de 43 fe ff       	call   0x4033f8
41f01a:	84 c0                	test   %al,%al
41f01c:	74 18                	je     0x41f036
41f01e:	8b 45 08             	mov    0x8(%ebp),%eax
41f021:	8b d3                	mov    %ebx,%edx
41f023:	8b 45 08             	mov    0x8(%ebp),%eax
41f026:	8b 40 f8             	mov    -0x8(%eax),%eax
41f029:	8b 08                	mov    (%eax),%ecx
41f02b:	ff 51 18             	call   *0x18(%ecx)
41f02e:	84 c0                	test   %al,%al
41f030:	74 04                	je     0x41f036
41f032:	33 c0                	xor    %eax,%eax
41f034:	eb 12                	jmp    0x41f048
41f036:	b0 01                	mov    $0x1,%al
41f038:	5b                   	pop    %ebx
41f039:	5d                   	pop    %ebp
41f03a:	c3                   	ret
41f03b:	8b 45 08             	mov    0x8(%ebp),%eax
41f03e:	8b 40 f8             	mov    -0x8(%eax),%eax
41f041:	8b 10                	mov    (%eax),%edx
41f043:	ff 52 1c             	call   *0x1c(%edx)
41f046:	34 01                	xor    $0x1,%al
41f048:	5b                   	pop    %ebx
41f049:	5d                   	pop    %ebp
41f04a:	c3                   	ret
41f04b:	90                   	nop
41f04c:	55                   	push   %ebp
41f04d:	8b ec                	mov    %esp,%ebp
41f04f:	83 c4 f8             	add    $0xfffffff8,%esp
41f052:	53                   	push   %ebx
41f053:	89 55 fc             	mov    %edx,-0x4(%ebp)
41f056:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f059:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f05c:	50                   	push   %eax
41f05d:	8b 00                	mov    (%eax),%eax
41f05f:	8b 40 30             	mov    0x30(%eax),%eax
41f062:	50                   	push   %eax
41f063:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f066:	50                   	push   %eax
41f067:	8b 00                	mov    (%eax),%eax
41f069:	8b 40 44             	mov    0x44(%eax),%eax
41f06c:	50                   	push   %eax
41f06d:	55                   	push   %ebp
41f06e:	e8 81 ff ff ff       	call   0x41eff4
41f073:	59                   	pop    %ecx
41f074:	8b c8                	mov    %eax,%ecx
41f076:	ba 90 f0 41 00       	mov    $0x41f090,%edx
41f07b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f07e:	8b 18                	mov    (%eax),%ebx
41f080:	ff 53 08             	call   *0x8(%ebx)
41f083:	5b                   	pop    %ebx
41f084:	59                   	pop    %ecx