41ea1a:	59                   	pop    %ecx
41ea1b:	64 89 10             	mov    %edx,%fs:(%eax)
41ea1e:	68 39 ea 41 00       	push   $0x41ea39
41ea23:	8b 45 bc             	mov    -0x44(%ebp),%eax
41ea26:	8b 50 08             	mov    0x8(%eax),%edx
41ea29:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41ea2c:	e8 37 40 fe ff       	call   0x402a68
41ea31:	c3                   	ret
41ea32:	e9 15 55 fe ff       	jmp    0x403f4c
41ea37:	eb ea                	jmp    0x41ea23
41ea39:	33 c0                	xor    %eax,%eax
41ea3b:	5a                   	pop    %edx
41ea3c:	59                   	pop    %ecx
41ea3d:	59                   	pop    %ecx
41ea3e:	64 89 10             	mov    %edx,%fs:(%eax)
41ea41:	68 59 ea 41 00       	push   $0x41ea59
41ea46:	8b 55 ec             	mov    -0x14(%ebp),%edx
41ea49:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ea4c:	e8 17 40 fe ff       	call   0x402a68
41ea51:	c3                   	ret
41ea52:	e9 f5 54 fe ff       	jmp    0x403f4c
41ea57:	eb ed                	jmp    0x41ea46
41ea59:	5f                   	pop    %edi
41ea5a:	5e                   	pop    %esi
41ea5b:	5b                   	pop    %ebx
41ea5c:	8b e5                	mov    %ebp,%esp
41ea5e:	5d                   	pop    %ebp
41ea5f:	c2 0c 00             	ret    $0xc
41ea62:	8b c0                	mov    %eax,%eax
41ea64:	53                   	push   %ebx
41ea65:	56                   	push   %esi
41ea66:	57                   	push   %edi
41ea67:	83 c4 ac             	add    $0xffffffac,%esp
41ea6a:	8b f1                	mov    %ecx,%esi
41ea6c:	8b da                	mov    %edx,%ebx
41ea6e:	33 d2                	xor    %edx,%edx
41ea70:	89 54 24 18          	mov    %edx,0x18(%esp)
41ea74:	54                   	push   %esp
41ea75:	6a 54                	push   $0x54
41ea77:	50                   	push   %eax
41ea78:	e8 57 7e fe ff       	call   0x4068d4
41ea7d:	85 c0                	test   %eax,%eax
41ea7f:	75 07                	jne    0x41ea88
41ea81:	e8 62 f1 ff ff       	call   0x41dbe8
41ea86:	eb 3f                	jmp    0x41eac7
41ea88:	83 f8 40             	cmp    $0x40,%eax
41ea8b:	7c 18                	jl     0x41eaa5
41ea8d:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
41ea92:	72 11                	jb     0x41eaa5
41ea94:	56                   	push   %esi
41ea95:	8b fb                	mov    %ebx,%edi
41ea97:	8d 74 24 1c          	lea    0x1c(%esp),%esi
41ea9b:	b9 0a 00 00 00       	mov    $0xa,%ecx
41eaa0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41eaa2:	5e                   	pop    %esi
41eaa3:	eb 22                	jmp    0x41eac7
41eaa5:	8b c3                	mov    %ebx,%eax
41eaa7:	33 c9                	xor    %ecx,%ecx
41eaa9:	ba 28 00 00 00       	mov    $0x28,%edx
41eaae:	e8 69 44 fe ff       	call   0x402f1c
41eab3:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41eab9:	8b 44 24 04          	mov    0x4(%esp),%eax
41eabd:	89 43 04             	mov    %eax,0x4(%ebx)
41eac0:	8b 44 24 08          	mov    0x8(%esp),%eax
41eac4:	89 43 08             	mov    %eax,0x8(%ebx)
41eac7:	8b c6                	mov    %esi,%eax
41eac9:	83 e8 02             	sub    $0x2,%eax
41eacc:	74 0f                	je     0x41eadd
41eace:	48                   	dec    %eax
41eacf:	83 e8 0e             	sub    $0xe,%eax
41ead2:	72 11                	jb     0x41eae5
41ead4:	2d f0 00 00 00       	sub    $0xf0,%eax
41ead9:	72 15                	jb     0x41eaf0
41eadb:	eb 1e                	jmp    0x41eafb
41eadd:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
41eae3:	eb 24                	jmp    0x41eb09
41eae5:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
41eaeb:	89 73 20             	mov    %esi,0x20(%ebx)
41eaee:	eb 19                	jmp    0x41eb09
41eaf0:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
41eaf6:	89 73 20             	mov    %esi,0x20(%ebx)
41eaf9:	eb 0e                	jmp    0x41eb09
41eafb:	66 8b 44 24 12       	mov    0x12(%esp),%ax
41eb00:	66 f7 6c 24 10       	imulw  0x10(%esp)
41eb05:	66 89 43 0e          	mov    %ax,0xe(%ebx)
41eb09:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
41eb0f:	8b 43 20             	mov    0x20(%ebx),%eax
41eb12:	3b 43 24             	cmp    0x24(%ebx),%eax
41eb15:	73 03                	jae    0x41eb1a
41eb17:	89 43 24             	mov    %eax,0x24(%ebx)
41eb1a:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41eb1e:	75 21                	jne    0x41eb41
41eb20:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
41eb24:	8b 43 04             	mov    0x4(%ebx),%eax
41eb27:	b9 20 00 00 00       	mov    $0x20,%ecx
41eb2c:	e8 5b f3 ff ff       	call   0x41de8c
41eb31:	8b c8                	mov    %eax,%ecx
41eb33:	8b 43 08             	mov    0x8(%ebx),%eax
41eb36:	99                   	cltd
41eb37:	33 c2                	xor    %edx,%eax
41eb39:	2b c2                	sub    %edx,%eax
41eb3b:	0f af c8             	imul   %eax,%ecx
41eb3e:	89 4b 14             	mov    %ecx,0x14(%ebx)
41eb41:	83 c4 54             	add    $0x54,%esp
41eb44:	5f                   	pop    %edi
41eb45:	5e                   	pop    %esi
41eb46:	5b                   	pop    %ebx
41eb47:	c3                   	ret
41eb48:	55                   	push   %ebp
41eb49:	8b ec                	mov    %esp,%ebp
41eb4b:	83 c4 d8             	add    $0xffffffd8,%esp
41eb4e:	53                   	push   %ebx
41eb4f:	56                   	push   %esi
41eb50:	8b f1                	mov    %ecx,%esi
41eb52:	8b da                	mov    %edx,%ebx
41eb54:	8d 55 d8             	lea    -0x28(%ebp),%edx
41eb57:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eb5a:	e8 05 ff ff ff       	call   0x41ea64
41eb5f:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
41eb63:	66 83 f8 08          	cmp    $0x8,%ax
41eb67:	76 11                	jbe    0x41eb7a
41eb69:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41eb6f:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
41eb73:	74 29                	je     0x41eb9e
41eb75:	83 03 0c             	addl   $0xc,(%ebx)
41eb78:	eb 24                	jmp    0x41eb9e
41eb7a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41eb7d:	85 d2                	test   %edx,%edx
41eb7f:	75 13                	jne    0x41eb94
41eb81:	8b c8                	mov    %eax,%ecx
41eb83:	b8 01 00 00 00       	mov    $0x1,%eax
41eb88:	d3 e0                	shl    %cl,%eax
41eb8a:	c1 e0 02             	shl    $0x2,%eax
41eb8d:	83 c0 28             	add    $0x28,%eax
41eb90:	89 03                	mov    %eax,(%ebx)
41eb92:	eb 0a                	jmp    0x41eb9e
41eb94:	8b c2                	mov    %edx,%eax
41eb96:	c1 e0 02             	shl    $0x2,%eax
41eb99:	83 c0 28             	add    $0x28,%eax
41eb9c:	89 03                	mov    %eax,(%ebx)
41eb9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41eba1:	89 06                	mov    %eax,(%esi)
41eba3:	5e                   	pop    %esi
41eba4:	5b                   	pop    %ebx
41eba5:	8b e5                	mov    %ebp,%esp
41eba7:	5d                   	pop    %ebp
41eba8:	c2 04 00             	ret    $0x4
41ebab:	90                   	nop
41ebac:	6a 00                	push   $0x0
41ebae:	e8 95 ff ff ff       	call   0x41eb48
41ebb3:	c3                   	ret
41ebb4:	55                   	push   %ebp
41ebb5:	8b ec                	mov    %esp,%ebp
41ebb7:	83 c4 f4             	add    $0xfffffff4,%esp
41ebba:	53                   	push   %ebx
41ebbb:	56                   	push   %esi
41ebbc:	57                   	push   %edi
41ebbd:	8b d9                	mov    %ecx,%ebx
41ebbf:	8b fa                	mov    %edx,%edi
41ebc1:	8b f0                	mov    %eax,%esi
41ebc3:	8b d3                	mov    %ebx,%edx
41ebc5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ebc8:	8b c6                	mov    %esi,%eax
41ebca:	e8 95 fe ff ff       	call   0x41ea64
41ebcf:	33 c0                	xor    %eax,%eax
41ebd1:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ebd4:	6a 00                	push   $0x0
41ebd6:	e8 51 7c fe ff       	call   0x40682c
41ebdb:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ebde:	33 c0                	xor    %eax,%eax
41ebe0:	55                   	push   %ebp
41ebe1:	68 51 ec 41 00       	push   $0x41ec51
41ebe6:	64 ff 30             	push   %fs:(%eax)
41ebe9:	64 89 20             	mov    %esp,%fs:(%eax)
41ebec:	85 ff                	test   %edi,%edi
41ebee:	74 18                	je     0x41ec08
41ebf0:	6a 00                	push   $0x0
41ebf2:	57                   	push   %edi
41ebf3:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ebf6:	50                   	push   %eax
41ebf7:	e8 68 7d fe ff       	call   0x406964
41ebfc:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ebff:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ec02:	50                   	push   %eax
41ec03:	e8 34 7d fe ff       	call   0x40693c
41ec08:	6a 00                	push   $0x0
41ec0a:	53                   	push   %ebx
41ec0b:	8b 45 0c             	mov    0xc(%ebp),%eax
41ec0e:	50                   	push   %eax
41ec0f:	8b 43 08             	mov    0x8(%ebx),%eax
41ec12:	50                   	push   %eax
41ec13:	6a 00                	push   $0x0
41ec15:	56                   	push   %esi
41ec16:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ec19:	50                   	push   %eax
41ec1a:	e8 9d 7c fe ff       	call   0x4068bc
41ec1f:	85 c0                	test   %eax,%eax
41ec21:	0f 95 45 ff          	setne  -0x1(%ebp)
41ec25:	33 c0                	xor    %eax,%eax
41ec27:	5a                   	pop    %edx
41ec28:	59                   	pop    %ecx
41ec29:	59                   	pop    %ecx
41ec2a:	64 89 10             	mov    %edx,%fs:(%eax)
41ec2d:	68 58 ec 41 00       	push   $0x41ec58
41ec32:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41ec36:	74 0f                	je     0x41ec47
41ec38:	6a 00                	push   $0x0
41ec3a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ec3d:	50                   	push   %eax
41ec3e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ec41:	50                   	push   %eax
41ec42:	e8 1d 7d fe ff       	call   0x406964
41ec47:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ec4a:	50                   	push   %eax
41ec4b:	e8 24 7c fe ff       	call   0x406874
41ec50:	c3                   	ret
41ec51:	e9 f6 52 fe ff       	jmp    0x403f4c
41ec56:	eb da                	jmp    0x41ec32
41ec58:	8a 45 ff             	mov    -0x1(%ebp),%al
41ec5b:	5f                   	pop    %edi
41ec5c:	5e                   	pop    %esi
41ec5d:	5b                   	pop    %ebx
41ec5e:	8b e5                	mov    %ebp,%esp
41ec60:	5d                   	pop    %ebp
41ec61:	c2 08 00             	ret    $0x8
41ec64:	55                   	push   %ebp
41ec65:	8b ec                	mov    %esp,%ebp
41ec67:	53                   	push   %ebx
41ec68:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ec6b:	53                   	push   %ebx
41ec6c:	6a 00                	push   $0x0
41ec6e:	e8 41 ff ff ff       	call   0x41ebb4
41ec73:	5b                   	pop    %ebx
41ec74:	5d                   	pop    %ebp
41ec75:	c2 04 00             	ret    $0x4
41ec78:	c3                   	ret
41ec79:	8d 40 00             	lea    0x0(%eax),%eax
41ec7c:	85 c0                	test   %eax,%eax
41ec7e:	75 05                	jne    0x41ec85
41ec80:	e8 f3 ff ff ff       	call   0x41ec78
41ec85:	c3                   	ret
41ec86:	8b c0                	mov    %eax,%eax
41ec88:	55                   	push   %ebp
41ec89:	8b ec                	mov    %esp,%ebp
41ec8b:	83 c4 ac             	add    $0xffffffac,%esp
41ec8e:	53                   	push   %ebx
41ec8f:	56                   	push   %esi
41ec90:	88 4d ff             	mov    %cl,-0x1(%ebp)
41ec93:	8b f2                	mov    %edx,%esi
41ec95:	8b d8                	mov    %eax,%ebx
41ec97:	8d 45 d6             	lea    -0x2a(%ebp),%eax
41ec9a:	33 c9                	xor    %ecx,%ecx
41ec9c:	ba 06 00 00 00       	mov    $0x6,%edx
41eca1:	e8 76 42 fe ff       	call   0x402f1c
41eca6:	8d 45 ac             	lea    -0x54(%ebp),%eax
41eca9:	33 c9                	xor    %ecx,%ecx
41ecab:	ba 10 00 00 00       	mov    $0x10,%edx
41ecb0:	e8 67 42 fe ff       	call   0x402f1c
41ecb5:	8d 45 bc             	lea    -0x44(%ebp),%eax
41ecb8:	50                   	push   %eax
41ecb9:	56                   	push   %esi
41ecba:	e8 b5 7e fe ff       	call   0x406b74
41ecbf:	e8 b8 ff ff ff       	call   0x41ec7c
41ecc4:	33 d2                	xor    %edx,%edx
41ecc6:	55                   	push   %ebp
41ecc7:	68 74 ee 41 00       	push   $0x41ee74
41eccc:	64 ff 32             	push   %fs:(%edx)
41eccf:	64 89 22             	mov    %esp,%fs:(%edx)
41ecd2:	6a 02                	push   $0x2
41ecd4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41ecd7:	8d 55 f8             	lea    -0x8(%ebp),%edx
41ecda:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ecdd:	e8 66 fe ff ff       	call   0x41eb48
41ece2:	6a 10                	push   $0x10
41ece4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41ece7:	8d 55 f4             	lea    -0xc(%ebp),%edx
41ecea:	8b 45 cc             	mov    -0x34(%ebp),%eax
41eced:	e8 56 fe ff ff       	call   0x41eb48
41ecf2:	33 c0                	xor    %eax,%eax
41ecf4:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ecf7:	33 c0                	xor    %eax,%eax
41ecf9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ecfc:	33 c0                	xor    %eax,%eax
41ecfe:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ed01:	33 c0                	xor    %eax,%eax
41ed03:	89 45 dc             	mov    %eax,-0x24(%ebp)
41ed06:	33 d2                	xor    %edx,%edx
41ed08:	55                   	push   %ebp
41ed09:	68 4d ee 41 00       	push   $0x41ee4d
41ed0e:	64 ff 32             	push   %fs:(%edx)
41ed11:	64 89 22             	mov    %esp,%fs:(%edx)
41ed14:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ed17:	e8 f0 93 fe ff       	call   0x40810c
41ed1c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ed1f:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ed22:	e8 e5 93 fe ff       	call   0x40810c
41ed27:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ed2a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed2d:	e8 da 93 fe ff       	call   0x40810c
41ed32:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ed35:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ed38:	e8 cf 93 fe ff       	call   0x40810c
41ed3d:	89 45 dc             	mov    %eax,-0x24(%ebp)
41ed40:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ed43:	50                   	push   %eax
41ed44:	6a 02                	push   $0x2
41ed46:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ed49:	33 d2                	xor    %edx,%edx
41ed4b:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ed4e:	e8 61 fe ff ff       	call   0x41ebb4
41ed53:	8b 45 dc             	mov    -0x24(%ebp),%eax
41ed56:	50                   	push   %eax
41ed57:	6a 10                	push   $0x10
41ed59:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41ed5c:	33 d2                	xor    %edx,%edx
41ed5e:	8b 45 cc             	mov    -0x34(%ebp),%eax
41ed61:	e8 4e fe ff ff       	call   0x41ebb4
41ed66:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41ed6a:	74 1e                	je     0x41ed8a
41ed6c:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ed6f:	83 c0 16             	add    $0x16,%eax
41ed72:	03 45 ec             	add    -0x14(%ebp),%eax
41ed75:	03 45 f0             	add    -0x10(%ebp),%eax
41ed78:	89 45 d0             	mov    %eax,-0x30(%ebp)
41ed7b:	8d 55 d0             	lea    -0x30(%ebp),%edx
41ed7e:	b9 04 00 00 00       	mov    $0x4,%ecx
41ed83:	8b c3                	mov    %ebx,%eax
41ed85:	8b 30                	mov    (%eax),%esi
41ed87:	ff 56 10             	call   *0x10(%esi)
41ed8a:	66 c7 45 d8 01 00    	movw   $0x1,-0x28(%ebp)
41ed90:	66 c7 45 da 01 00    	movw   $0x1,-0x26(%ebp)
41ed96:	8d 55 d6             	lea    -0x2a(%ebp),%edx
41ed99:	b9 06 00 00 00       	mov    $0x6,%ecx
41ed9e:	8b c3                	mov    %ebx,%eax
41eda0:	8b 30                	mov    (%eax),%esi
41eda2:	ff 56 10             	call   *0x10(%esi)
41eda5:	8b 45 e0             	mov    -0x20(%ebp),%eax
41eda8:	8a 50 04             	mov    0x4(%eax),%dl
41edab:	88 55 ac             	mov    %dl,-0x54(%ebp)
41edae:	8a 50 08             	mov    0x8(%eax),%dl
41edb1:	88 55 ad             	mov    %dl,-0x53(%ebp)
41edb4:	66 8b 50 0c          	mov    0xc(%eax),%dx
41edb8:	66 0f af 50 0e       	imul   0xe(%eax),%dx
41edbd:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
41edc1:	8b 45 f4             	mov    -0xc(%ebp),%eax
41edc4:	03 45 ec             	add    -0x14(%ebp),%eax
41edc7:	03 45 f0             	add    -0x10(%ebp),%eax
41edca:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41edcd:	c7 45 b8 16 00 00 00 	movl   $0x16,-0x48(%ebp)
41edd4:	8d 55 ac             	lea    -0x54(%ebp),%edx