41ec41:	8b c6                	mov    %esi,%eax
41ec43:	e8 ac ab fe ff       	call   0x4097f4
41ec48:	8b c8                	mov    %eax,%ecx
41ec4a:	33 d2                	xor    %edx,%edx
41ec4c:	8b c3                	mov    %ebx,%eax
41ec4e:	e8 bd fe ff ff       	call   0x41eb10
41ec53:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41ec57:	7d 65                	jge    0x41ecbe
41ec59:	89 75 f4             	mov    %esi,-0xc(%ebp)
41ec5c:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41ec60:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ec63:	50                   	push   %eax
41ec64:	6a 00                	push   $0x0
41ec66:	8b 0d f8 70 6a 00    	mov    0x6a70f8,%ecx
41ec6c:	b2 01                	mov    $0x1,%dl
41ec6e:	a1 88 8f 41 00       	mov    0x418f88,%eax
41ec73:	e8 c8 e2 fe ff       	call   0x40cf40
41ec78:	e8 c7 55 fe ff       	call   0x404244
41ec7d:	eb 3f                	jmp    0x41ecbe
41ec7f:	0f b7 d7             	movzwl %di,%edx
41ec82:	8b c6                	mov    %esi,%eax
41ec84:	e8 eb aa fe ff       	call   0x409774
41ec89:	8b c8                	mov    %eax,%ecx
41ec8b:	33 d2                	xor    %edx,%edx
41ec8d:	8b c3                	mov    %ebx,%eax
41ec8f:	e8 7c fe ff ff       	call   0x41eb10
41ec94:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41ec98:	7d 24                	jge    0x41ecbe
41ec9a:	89 75 f4             	mov    %esi,-0xc(%ebp)
41ec9d:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41eca1:	8d 45 f4             	lea    -0xc(%ebp),%eax
41eca4:	50                   	push   %eax
41eca5:	6a 00                	push   $0x0
41eca7:	8b 0d 2c 71 6a 00    	mov    0x6a712c,%ecx
41ecad:	b2 01                	mov    $0x1,%dl
41ecaf:	a1 e4 8f 41 00       	mov    0x418fe4,%eax
41ecb4:	e8 87 e2 fe ff       	call   0x40cf40
41ecb9:	e8 86 55 fe ff       	call   0x404244
41ecbe:	8b c3                	mov    %ebx,%eax
41ecc0:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41ecc4:	74 0f                	je     0x41ecd5
41ecc6:	e8 69 51 fe ff       	call   0x403e34
41eccb:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41ecd2:	83 c4 0c             	add    $0xc,%esp
41ecd5:	8b c3                	mov    %ebx,%eax
41ecd7:	5f                   	pop    %edi
41ecd8:	5e                   	pop    %esi
41ecd9:	5b                   	pop    %ebx
41ecda:	8b e5                	mov    %ebp,%esp
41ecdc:	5d                   	pop    %ebp
41ecdd:	c2 08 00             	ret    $0x8
41ece0:	53                   	push   %ebx
41ece1:	56                   	push   %esi
41ece2:	e8 5d 51 fe ff       	call   0x403e44
41ece7:	8b da                	mov    %edx,%ebx
41ece9:	8b f0                	mov    %eax,%esi
41eceb:	8b 46 04             	mov    0x4(%esi),%eax
41ecee:	85 c0                	test   %eax,%eax
41ecf0:	7c 05                	jl     0x41ecf7
41ecf2:	e8 95 ab fe ff       	call   0x40988c
41ecf7:	8b d3                	mov    %ebx,%edx
41ecf9:	80 e2 fc             	and    $0xfc,%dl
41ecfc:	8b c6                	mov    %esi,%eax
41ecfe:	e8 65 4d fe ff       	call   0x403a68
41ed03:	84 db                	test   %bl,%bl
41ed05:	7e 07                	jle    0x41ed0e
41ed07:	8b c6                	mov    %esi,%eax
41ed09:	e8 1e 51 fe ff       	call   0x403e2c
41ed0e:	5e                   	pop    %esi
41ed0f:	5b                   	pop    %ebx
41ed10:	c3                   	ret
41ed11:	8d 40 00             	lea    0x0(%eax),%eax
41ed14:	89 50 04             	mov    %edx,0x4(%eax)
41ed17:	89 48 08             	mov    %ecx,0x8(%eax)
41ed1a:	c3                   	ret
41ed1b:	90                   	nop
41ed1c:	53                   	push   %ebx
41ed1d:	56                   	push   %esi
41ed1e:	57                   	push   %edi
41ed1f:	8b d8                	mov    %eax,%ebx
41ed21:	8b 7b 0c             	mov    0xc(%ebx),%edi
41ed24:	85 ff                	test   %edi,%edi
41ed26:	7c 24                	jl     0x41ed4c
41ed28:	85 c9                	test   %ecx,%ecx
41ed2a:	7c 20                	jl     0x41ed4c
41ed2c:	8b 73 08             	mov    0x8(%ebx),%esi
41ed2f:	2b f7                	sub    %edi,%esi
41ed31:	85 f6                	test   %esi,%esi
41ed33:	7e 17                	jle    0x41ed4c
41ed35:	3b ce                	cmp    %esi,%ecx
41ed37:	7d 02                	jge    0x41ed3b
41ed39:	8b f1                	mov    %ecx,%esi
41ed3b:	8b 43 04             	mov    0x4(%ebx),%eax
41ed3e:	03 c7                	add    %edi,%eax
41ed40:	8b ce                	mov    %esi,%ecx
41ed42:	e8 d9 3c fe ff       	call   0x402a20
41ed47:	01 73 0c             	add    %esi,0xc(%ebx)
41ed4a:	eb 02                	jmp    0x41ed4e
41ed4c:	33 f6                	xor    %esi,%esi
41ed4e:	8b c6                	mov    %esi,%eax
41ed50:	5f                   	pop    %edi
41ed51:	5e                   	pop    %esi
41ed52:	5b                   	pop    %ebx
41ed53:	c3                   	ret
41ed54:	66 83 e9 01          	sub    $0x1,%cx
41ed58:	72 09                	jb     0x41ed63
41ed5a:	74 0c                	je     0x41ed68
41ed5c:	66 ff c9             	dec    %cx
41ed5f:	74 0c                	je     0x41ed6d
41ed61:	eb 10                	jmp    0x41ed73
41ed63:	89 50 0c             	mov    %edx,0xc(%eax)
41ed66:	eb 0b                	jmp    0x41ed73
41ed68:	01 50 0c             	add    %edx,0xc(%eax)
41ed6b:	eb 06                	jmp    0x41ed73
41ed6d:	03 50 08             	add    0x8(%eax),%edx
41ed70:	89 50 0c             	mov    %edx,0xc(%eax)
41ed73:	8b 40 0c             	mov    0xc(%eax),%eax
41ed76:	c3                   	ret
41ed77:	90                   	nop
41ed78:	53                   	push   %ebx
41ed79:	8b 48 08             	mov    0x8(%eax),%ecx
41ed7c:	85 c9                	test   %ecx,%ecx
41ed7e:	74 0c                	je     0x41ed8c
41ed80:	8b 58 04             	mov    0x4(%eax),%ebx
41ed83:	87 da                	xchg   %ebx,%edx
41ed85:	8b c3                	mov    %ebx,%eax
41ed87:	e8 90 fb ff ff       	call   0x41e91c
41ed8c:	5b                   	pop    %ebx
41ed8d:	c3                   	ret
41ed8e:	8b c0                	mov    %eax,%eax
41ed90:	55                   	push   %ebp
41ed91:	8b ec                	mov    %esp,%ebp
41ed93:	51                   	push   %ecx
41ed94:	53                   	push   %ebx
41ed95:	8b d8                	mov    %eax,%ebx
41ed97:	68 ff ff 00 00       	push   $0xffff
41ed9c:	8b ca                	mov    %edx,%ecx
41ed9e:	a1 88 9c 41 00       	mov    0x419c88,%eax
41eda3:	b2 01                	mov    $0x1,%dl
41eda5:	e8 2a fe ff ff       	call   0x41ebd4
41edaa:	89 45 fc             	mov    %eax,-0x4(%ebp)
41edad:	33 c0                	xor    %eax,%eax
41edaf:	55                   	push   %ebp
41edb0:	68 db ed 41 00       	push   $0x41eddb
41edb5:	64 ff 30             	push   %fs:(%eax)
41edb8:	64 89 20             	mov    %esp,%fs:(%eax)
41edbb:	8b 55 fc             	mov    -0x4(%ebp),%edx
41edbe:	8b c3                	mov    %ebx,%eax
41edc0:	e8 b3 ff ff ff       	call   0x41ed78
41edc5:	33 c0                	xor    %eax,%eax
41edc7:	5a                   	pop    %edx
41edc8:	59                   	pop    %ecx
41edc9:	59                   	pop    %ecx
41edca:	64 89 10             	mov    %edx,%fs:(%eax)
41edcd:	68 e2 ed 41 00       	push   $0x41ede2
41edd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41edd5:	e8 9e 4c fe ff       	call   0x403a78
41edda:	c3                   	ret
41eddb:	e9 2c 54 fe ff       	jmp    0x40420c
41ede0:	eb f0                	jmp    0x41edd2
41ede2:	5b                   	pop    %ebx
41ede3:	59                   	pop    %ecx
41ede4:	5d                   	pop    %ebp
41ede5:	c3                   	ret
41ede6:	8b c0                	mov    %eax,%eax
41ede8:	53                   	push   %ebx
41ede9:	56                   	push   %esi
41edea:	e8 55 50 fe ff       	call   0x403e44
41edef:	8b da                	mov    %edx,%ebx
41edf1:	8b f0                	mov    %eax,%esi
41edf3:	8b c6                	mov    %esi,%eax
41edf5:	e8 1a 00 00 00       	call   0x41ee14
41edfa:	8b d3                	mov    %ebx,%edx
41edfc:	80 e2 fc             	and    $0xfc,%dl
41edff:	8b c6                	mov    %esi,%eax
41ee01:	e8 62 4c fe ff       	call   0x403a68
41ee06:	84 db                	test   %bl,%bl
41ee08:	7e 07                	jle    0x41ee11
41ee0a:	8b c6                	mov    %esi,%eax
41ee0c:	e8 1b 50 fe ff       	call   0x403e2c
41ee11:	5e                   	pop    %esi
41ee12:	5b                   	pop    %ebx
41ee13:	c3                   	ret
41ee14:	53                   	push   %ebx
41ee15:	8b d8                	mov    %eax,%ebx
41ee17:	33 d2                	xor    %edx,%edx
41ee19:	8b c3                	mov    %ebx,%eax
41ee1b:	e8 98 00 00 00       	call   0x41eeb8
41ee20:	33 c0                	xor    %eax,%eax
41ee22:	89 43 08             	mov    %eax,0x8(%ebx)
41ee25:	33 c0                	xor    %eax,%eax
41ee27:	89 43 0c             	mov    %eax,0xc(%ebx)
41ee2a:	5b                   	pop    %ebx
41ee2b:	c3                   	ret
41ee2c:	53                   	push   %ebx
41ee2d:	56                   	push   %esi
41ee2e:	57                   	push   %edi
41ee2f:	8b fa                	mov    %edx,%edi
41ee31:	8b f0                	mov    %eax,%esi
41ee33:	6a 00                	push   $0x0
41ee35:	6a 00                	push   $0x0
41ee37:	8b c7                	mov    %edi,%eax
41ee39:	e8 9a f8 ff ff       	call   0x41e6d8
41ee3e:	8b c7                	mov    %edi,%eax
41ee40:	e8 a7 f8 ff ff       	call   0x41e6ec
41ee45:	8b d8                	mov    %eax,%ebx
41ee47:	8b d3                	mov    %ebx,%edx
41ee49:	8b c6                	mov    %esi,%eax
41ee4b:	8b 08                	mov    (%eax),%ecx
41ee4d:	ff 11                	call   *(%ecx)
41ee4f:	85 db                	test   %ebx,%ebx
41ee51:	74 0c                	je     0x41ee5f
41ee53:	8b 56 04             	mov    0x4(%esi),%edx
41ee56:	8b cb                	mov    %ebx,%ecx
41ee58:	8b c7                	mov    %edi,%eax
41ee5a:	e8 85 fa ff ff       	call   0x41e8e4
41ee5f:	5f                   	pop    %edi
41ee60:	5e                   	pop    %esi
41ee61:	5b                   	pop    %ebx
41ee62:	c3                   	ret
41ee63:	90                   	nop
41ee64:	55                   	push   %ebp
41ee65:	8b ec                	mov    %esp,%ebp
41ee67:	51                   	push   %ecx
41ee68:	53                   	push   %ebx
41ee69:	8b d8                	mov    %eax,%ebx
41ee6b:	6a 20                	push   $0x20
41ee6d:	8b ca                	mov    %edx,%ecx
41ee6f:	a1 88 9c 41 00       	mov    0x419c88,%eax
41ee74:	b2 01                	mov    $0x1,%dl
41ee76:	e8 59 fd ff ff       	call   0x41ebd4
41ee7b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ee7e:	33 c0                	xor    %eax,%eax
41ee80:	55                   	push   %ebp
41ee81:	68 ac ee 41 00       	push   $0x41eeac
41ee86:	64 ff 30             	push   %fs:(%eax)
41ee89:	64 89 20             	mov    %esp,%fs:(%eax)
41ee8c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ee8f:	8b c3                	mov    %ebx,%eax
41ee91:	e8 96 ff ff ff       	call   0x41ee2c
41ee96:	33 c0                	xor    %eax,%eax
41ee98:	5a                   	pop    %edx
41ee99:	59                   	pop    %ecx
41ee9a:	59                   	pop    %ecx
41ee9b:	64 89 10             	mov    %edx,%fs:(%eax)
41ee9e:	68 b3 ee 41 00       	push   $0x41eeb3
41eea3:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eea6:	e8 cd 4b fe ff       	call   0x403a78
41eeab:	c3                   	ret
41eeac:	e9 5b 53 fe ff       	jmp    0x40420c
41eeb1:	eb f0                	jmp    0x41eea3
41eeb3:	5b                   	pop    %ebx
41eeb4:	59                   	pop    %ecx
41eeb5:	5d                   	pop    %ebp
41eeb6:	c3                   	ret
41eeb7:	90                   	nop
41eeb8:	53                   	push   %ebx
41eeb9:	51                   	push   %ecx
41eeba:	89 14 24             	mov    %edx,(%esp)
41eebd:	8b d8                	mov    %eax,%ebx
41eebf:	8b d4                	mov    %esp,%edx
41eec1:	8b c3                	mov    %ebx,%eax
41eec3:	8b 08                	mov    (%eax),%ecx
41eec5:	ff 51 1c             	call   *0x1c(%ecx)
41eec8:	8b d0                	mov    %eax,%edx
41eeca:	8b 4b 08             	mov    0x8(%ebx),%ecx
41eecd:	8b c3                	mov    %ebx,%eax
41eecf:	e8 40 fe ff ff       	call   0x41ed14
41eed4:	8b 04 24             	mov    (%esp),%eax
41eed7:	89 43 10             	mov    %eax,0x10(%ebx)
41eeda:	5a                   	pop    %edx
41eedb:	5b                   	pop    %ebx
41eedc:	c3                   	ret
41eedd:	8d 40 00             	lea    0x0(%eax),%eax
41eee0:	53                   	push   %ebx
41eee1:	56                   	push   %esi
41eee2:	57                   	push   %edi
41eee3:	8b f2                	mov    %edx,%esi
41eee5:	8b d8                	mov    %eax,%ebx
41eee7:	8b 7b 0c             	mov    0xc(%ebx),%edi
41eeea:	8b d6                	mov    %esi,%edx
41eeec:	8b c3                	mov    %ebx,%eax
41eeee:	e8 c5 ff ff ff       	call   0x41eeb8
41eef3:	89 73 08             	mov    %esi,0x8(%ebx)
41eef6:	3b f7                	cmp    %edi,%esi
41eef8:	7d 0d                	jge    0x41ef07
41eefa:	66 b9 02 00          	mov    $0x2,%cx
41eefe:	33 d2                	xor    %edx,%edx
41ef00:	8b c3                	mov    %ebx,%eax
41ef02:	8b 18                	mov    (%eax),%ebx
41ef04:	ff 53 10             	call   *0x10(%ebx)
41ef07:	5f                   	pop    %edi
41ef08:	5e                   	pop    %esi
41ef09:	5b                   	pop    %ebx
41ef0a:	c3                   	ret
41ef0b:	90                   	nop
41ef0c:	53                   	push   %ebx
41ef0d:	56                   	push   %esi
41ef0e:	57                   	push   %edi
41ef0f:	83 3a 00             	cmpl   $0x0,(%edx)
41ef12:	7e 17                	jle    0x41ef2b
41ef14:	8b 0a                	mov    (%edx),%ecx
41ef16:	3b 48 08             	cmp    0x8(%eax),%ecx
41ef19:	74 10                	je     0x41ef2b
41ef1b:	8b 0a                	mov    (%edx),%ecx
41ef1d:	81 c1 ff 1f 00 00    	add    $0x1fff,%ecx
41ef23:	81 e1 00 e0 ff ff    	and    $0xffffe000,%ecx
41ef29:	89 0a                	mov    %ecx,(%edx)
41ef2b:	8b 70 04             	mov    0x4(%eax),%esi
41ef2e:	8b ce                	mov    %esi,%ecx
41ef30:	8b 3a                	mov    (%edx),%edi
41ef32:	8b 58 10             	mov    0x10(%eax),%ebx
41ef35:	3b fb                	cmp    %ebx,%edi
41ef37:	74 56                	je     0x41ef8f
41ef39:	83 3a 00             	cmpl   $0x0,(%edx)
41ef3c:	75 0b                	jne    0x41ef49
41ef3e:	8b c6                	mov    %esi,%eax
41ef40:	e8 c7 8f fe ff       	call   0x407f0c
41ef45:	33 c9                	xor    %ecx,%ecx
41ef47:	eb 46                	jmp    0x41ef8f
41ef49:	85 db                	test   %ebx,%ebx
41ef4b:	75 13                	jne    0x41ef60
41ef4d:	a1 1c 71 6a 00       	mov    0x6a711c,%eax
41ef52:	0f b7 00             	movzwl (%eax),%eax
41ef55:	8b 12                	mov    (%edx),%edx
41ef57:	e8 84 8f fe ff       	call   0x407ee0
41ef5c:	8b c8                	mov    %eax,%ecx
41ef5e:	eb 14                	jmp    0x41ef74
41ef60:	8b 0d 1c 71 6a 00    	mov    0x6a711c,%ecx
41ef66:	0f b7 09             	movzwl (%ecx),%ecx
41ef69:	8b 12                	mov    (%edx),%edx
41ef6b:	8b c6                	mov    %esi,%eax
41ef6d:	e8 7e 8f fe ff       	call   0x407ef0
41ef72:	8b c8                	mov    %eax,%ecx
41ef74:	85 c9                	test   %ecx,%ecx
41ef76:	75 17                	jne    0x41ef8f
41ef78:	8b 0d ec 71 6a 00    	mov    0x6a71ec,%ecx
41ef7e:	b2 01                	mov    $0x1,%dl
41ef80:	a1 2c 8f 41 00       	mov    0x418f2c,%eax
41ef85:	e8 7a df fe ff       	call   0x40cf04
41ef8a:	e8 b5 52 fe ff       	call   0x404244
41ef8f:	8b c1                	mov    %ecx,%eax
41ef91:	5f                   	pop    %edi
41ef92:	5e                   	pop    %esi
41ef93:	5b                   	pop    %ebx
41ef94:	c3                   	ret
41ef95:	8d 40 00             	lea    0x0(%eax),%eax
41ef98:	53                   	push   %ebx
41ef99:	56                   	push   %esi
41ef9a:	57                   	push   %edi