41e944:	50                   	push   %eax
41e945:	6a 00                	push   $0x0
41e947:	e8 9c 7e fe ff       	call   0x4067e8
41e94c:	c3                   	ret
41e94d:	e9 6e 50 fe ff       	jmp    0x4039c0
41e952:	eb ed                	jmp    0x41e941
41e954:	33 c0                	xor    %eax,%eax
41e956:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e959:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e95c:	0f b7 40 02          	movzwl 0x2(%eax),%eax
41e960:	e8 63 fe ff ff       	call   0x41e7c8
41e965:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e968:	8b 7d f4             	mov    -0xc(%ebp),%edi
41e96b:	4f                   	dec    %edi
41e96c:	85 ff                	test   %edi,%edi
41e96e:	7e 4c                	jle    0x41e9bc
41e970:	be 01 00 00 00       	mov    $0x1,%esi
41e975:	8b c6                	mov    %esi,%eax
41e977:	03 c0                	add    %eax,%eax
41e979:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e97c:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
41e981:	e8 42 fe ff ff       	call   0x41e7c8
41e986:	8b d8                	mov    %eax,%ebx
41e988:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
41e98b:	7f 2b                	jg     0x41e9b8
41e98d:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
41e990:	7c 26                	jl     0x41e9b8
41e992:	55                   	push   %ebp
41e993:	8b c6                	mov    %esi,%eax
41e995:	03 c0                	add    %eax,%eax
41e997:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e99a:	8d 14 c2             	lea    (%edx,%eax,8),%edx
41e99d:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e9a0:	03 c0                	add    %eax,%eax
41e9a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e9a5:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
41e9a8:	e8 27 fe ff ff       	call   0x41e7d4
41e9ad:	59                   	pop    %ecx
41e9ae:	84 c0                	test   %al,%al
41e9b0:	74 06                	je     0x41e9b8
41e9b2:	89 75 dc             	mov    %esi,-0x24(%ebp)
41e9b5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41e9b8:	46                   	inc    %esi
41e9b9:	4f                   	dec    %edi
41e9ba:	75 b9                	jne    0x41e975
41e9bc:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e9bf:	03 c0                	add    %eax,%eax
41e9c1:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e9c4:	8d 04 c2             	lea    (%edx,%eax,8),%eax
41e9c7:	89 45 c0             	mov    %eax,-0x40(%ebp)
41e9ca:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e9cd:	0f b6 00             	movzbl (%eax),%eax
41e9d0:	8b 55 08             	mov    0x8(%ebp),%edx
41e9d3:	89 02                	mov    %eax,(%edx)
41e9d5:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e9d8:	0f b6 40 01          	movzbl 0x1(%eax),%eax
41e9dc:	8b 55 08             	mov    0x8(%ebp),%edx
41e9df:	89 42 04             	mov    %eax,0x4(%edx)
41e9e2:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e9e5:	8b 40 08             	mov    0x8(%eax),%eax
41e9e8:	e8 0f 91 fe ff       	call   0x407afc
41e9ed:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41e9f0:	33 c0                	xor    %eax,%eax
41e9f2:	55                   	push   %ebp
41e9f3:	68 3b eb 41 00       	push   $0x41eb3b
41e9f8:	64 ff 30             	push   %fs:(%eax)
41e9fb:	64 89 20             	mov    %esp,%fs:(%eax)
41e9fe:	8b 45 c0             	mov    -0x40(%ebp),%eax
41ea01:	8b 50 0c             	mov    0xc(%eax),%edx
41ea04:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ea07:	03 45 10             	add    0x10(%ebp),%eax
41ea0a:	2b d0                	sub    %eax,%edx
41ea0c:	66 b9 01 00          	mov    $0x1,%cx
41ea10:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea13:	8b 18                	mov    (%eax),%ebx
41ea15:	ff 53 14             	call   *0x14(%ebx)
41ea18:	8b 45 c0             	mov    -0x40(%ebp),%eax
41ea1b:	8b 48 08             	mov    0x8(%eax),%ecx
41ea1e:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41ea21:	8b d3                	mov    %ebx,%edx
41ea23:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea26:	8b 30                	mov    (%eax),%esi
41ea28:	ff 56 0c             	call   *0xc(%esi)
41ea2b:	8b 45 08             	mov    0x8(%ebp),%eax
41ea2e:	50                   	push   %eax
41ea2f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41ea32:	8d 55 cc             	lea    -0x34(%ebp),%edx
41ea35:	8b c3                	mov    %ebx,%eax
41ea37:	e8 d0 fb ff ff       	call   0x41e60c
41ea3c:	8d 45 90             	lea    -0x70(%ebp),%eax
41ea3f:	50                   	push   %eax
41ea40:	6a 18                	push   $0x18
41ea42:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ea45:	50                   	push   %eax
41ea46:	e8 95 78 fe ff       	call   0x4062e0
41ea4b:	8d 45 a8             	lea    -0x58(%ebp),%eax
41ea4e:	50                   	push   %eax
41ea4f:	6a 18                	push   $0x18
41ea51:	8b 45 cc             	mov    -0x34(%ebp),%eax
41ea54:	50                   	push   %eax
41ea55:	e8 86 78 fe ff       	call   0x4062e0
41ea5a:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
41ea5d:	0f af 5d 98          	imul   -0x68(%ebp),%ebx
41ea61:	0f b7 45 a0          	movzwl -0x60(%ebp),%eax
41ea65:	0f af d8             	imul   %eax,%ebx
41ea68:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41ea6b:	f7 6d b0             	imull  -0x50(%ebp)
41ea6e:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
41ea72:	f7 ea                	imul   %edx
41ea74:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41ea77:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41ea7a:	03 c3                	add    %ebx,%eax
41ea7c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ea7f:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ea82:	e8 75 90 fe ff       	call   0x407afc
41ea87:	89 45 d0             	mov    %eax,-0x30(%ebp)
41ea8a:	33 c0                	xor    %eax,%eax
41ea8c:	55                   	push   %ebp
41ea8d:	68 18 eb 41 00       	push   $0x41eb18
41ea92:	64 ff 30             	push   %fs:(%eax)
41ea95:	64 89 20             	mov    %esp,%fs:(%eax)
41ea98:	8b 7d d0             	mov    -0x30(%ebp),%edi
41ea9b:	8b 75 d0             	mov    -0x30(%ebp),%esi
41ea9e:	03 f3                	add    %ebx,%esi
41eaa0:	57                   	push   %edi
41eaa1:	53                   	push   %ebx
41eaa2:	8b 45 c8             	mov    -0x38(%ebp),%eax
41eaa5:	50                   	push   %eax
41eaa6:	e8 dd 77 fe ff       	call   0x406288
41eaab:	56                   	push   %esi
41eaac:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41eaaf:	50                   	push   %eax
41eab0:	8b 45 cc             	mov    -0x34(%ebp),%eax
41eab3:	50                   	push   %eax
41eab4:	e8 cf 77 fe ff       	call   0x406288
41eab9:	8b 45 cc             	mov    -0x34(%ebp),%eax
41eabc:	50                   	push   %eax
41eabd:	e8 b6 77 fe ff       	call   0x406278
41eac2:	8b 45 c8             	mov    -0x38(%ebp),%eax
41eac5:	50                   	push   %eax
41eac6:	e8 ad 77 fe ff       	call   0x406278
41eacb:	56                   	push   %esi
41eacc:	57                   	push   %edi
41eacd:	8a 45 ba             	mov    -0x46(%ebp),%al
41ead0:	50                   	push   %eax
41ead1:	8a 45 b8             	mov    -0x48(%ebp),%al
41ead4:	50                   	push   %eax
41ead5:	8b 45 08             	mov    0x8(%ebp),%eax
41ead8:	8b 40 04             	mov    0x4(%eax),%eax
41eadb:	50                   	push   %eax
41eadc:	8b 45 08             	mov    0x8(%ebp),%eax
41eadf:	8b 00                	mov    (%eax),%eax
41eae1:	50                   	push   %eax
41eae2:	a1 64 96 46 00       	mov    0x469664,%eax
41eae7:	50                   	push   %eax
41eae8:	e8 8b 79 fe ff       	call   0x406478
41eaed:	8b 55 f8             	mov    -0x8(%ebp),%edx
41eaf0:	89 02                	mov    %eax,(%edx)
41eaf2:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eaf5:	83 38 00             	cmpl   $0x0,(%eax)
41eaf8:	75 05                	jne    0x41eaff
41eafa:	e8 7d f2 ff ff       	call   0x41dd7c
41eaff:	33 c0                	xor    %eax,%eax
41eb01:	5a                   	pop    %edx
41eb02:	59                   	pop    %ecx
41eb03:	59                   	pop    %ecx
41eb04:	64 89 10             	mov    %edx,%fs:(%eax)
41eb07:	68 1f eb 41 00       	push   $0x41eb1f
41eb0c:	8b 55 e8             	mov    -0x18(%ebp),%edx
41eb0f:	8b 45 d0             	mov    -0x30(%ebp),%eax
41eb12:	e8 c5 3b fe ff       	call   0x4026dc
41eb17:	c3                   	ret
41eb18:	e9 a3 4e fe ff       	jmp    0x4039c0
41eb1d:	eb ed                	jmp    0x41eb0c
41eb1f:	33 c0                	xor    %eax,%eax
41eb21:	5a                   	pop    %edx
41eb22:	59                   	pop    %ecx
41eb23:	59                   	pop    %ecx
41eb24:	64 89 10             	mov    %edx,%fs:(%eax)
41eb27:	68 42 eb 41 00       	push   $0x41eb42
41eb2c:	8b 45 c0             	mov    -0x40(%ebp),%eax
41eb2f:	8b 50 08             	mov    0x8(%eax),%edx
41eb32:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41eb35:	e8 a2 3b fe ff       	call   0x4026dc
41eb3a:	c3                   	ret
41eb3b:	e9 80 4e fe ff       	jmp    0x4039c0
41eb40:	eb ea                	jmp    0x41eb2c
41eb42:	33 c0                	xor    %eax,%eax
41eb44:	5a                   	pop    %edx
41eb45:	59                   	pop    %ecx
41eb46:	59                   	pop    %ecx
41eb47:	64 89 10             	mov    %edx,%fs:(%eax)
41eb4a:	68 62 eb 41 00       	push   $0x41eb62
41eb4f:	8b 55 ec             	mov    -0x14(%ebp),%edx
41eb52:	8b 45 f0             	mov    -0x10(%ebp),%eax
41eb55:	e8 82 3b fe ff       	call   0x4026dc
41eb5a:	c3                   	ret
41eb5b:	e9 60 4e fe ff       	jmp    0x4039c0
41eb60:	eb ed                	jmp    0x41eb4f
41eb62:	5f                   	pop    %edi
41eb63:	5e                   	pop    %esi
41eb64:	5b                   	pop    %ebx
41eb65:	8b e5                	mov    %ebp,%esp
41eb67:	5d                   	pop    %ebp
41eb68:	c2 0c 00             	ret    $0xc
41eb6b:	90                   	nop
41eb6c:	33 c9                	xor    %ecx,%ecx
41eb6e:	8b d0                	mov    %eax,%edx
41eb70:	83 c0 14             	add    $0x14,%eax
41eb73:	eb 06                	jmp    0x41eb7b
41eb75:	66 33 0a             	xor    (%edx),%cx
41eb78:	83 c2 02             	add    $0x2,%edx
41eb7b:	3b d0                	cmp    %eax,%edx
41eb7d:	7c f6                	jl     0x41eb75
41eb7f:	8b c1                	mov    %ecx,%eax
41eb81:	c3                   	ret
41eb82:	8b c0                	mov    %eax,%eax
41eb84:	53                   	push   %ebx
41eb85:	56                   	push   %esi
41eb86:	57                   	push   %edi
41eb87:	83 c4 ac             	add    $0xffffffac,%esp
41eb8a:	8b f1                	mov    %ecx,%esi
41eb8c:	8b da                	mov    %edx,%ebx
41eb8e:	33 d2                	xor    %edx,%edx
41eb90:	89 54 24 18          	mov    %edx,0x18(%esp)
41eb94:	54                   	push   %esp
41eb95:	6a 54                	push   $0x54
41eb97:	50                   	push   %eax
41eb98:	e8 43 77 fe ff       	call   0x4062e0
41eb9d:	85 c0                	test   %eax,%eax
41eb9f:	75 07                	jne    0x41eba8
41eba1:	e8 5e f1 ff ff       	call   0x41dd04
41eba6:	eb 3f                	jmp    0x41ebe7
41eba8:	83 f8 40             	cmp    $0x40,%eax
41ebab:	7c 18                	jl     0x41ebc5
41ebad:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
41ebb2:	72 11                	jb     0x41ebc5
41ebb4:	56                   	push   %esi
41ebb5:	8b fb                	mov    %ebx,%edi
41ebb7:	8d 74 24 1c          	lea    0x1c(%esp),%esi
41ebbb:	b9 0a 00 00 00       	mov    $0xa,%ecx
41ebc0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41ebc2:	5e                   	pop    %esi
41ebc3:	eb 22                	jmp    0x41ebe7
41ebc5:	8b c3                	mov    %ebx,%eax
41ebc7:	33 c9                	xor    %ecx,%ecx
41ebc9:	ba 28 00 00 00       	mov    $0x28,%edx
41ebce:	e8 b5 40 fe ff       	call   0x402c88
41ebd3:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41ebd9:	8b 44 24 04          	mov    0x4(%esp),%eax
41ebdd:	89 43 04             	mov    %eax,0x4(%ebx)
41ebe0:	8b 44 24 08          	mov    0x8(%esp),%eax
41ebe4:	89 43 08             	mov    %eax,0x8(%ebx)
41ebe7:	8b c6                	mov    %esi,%eax
41ebe9:	83 e8 02             	sub    $0x2,%eax
41ebec:	74 0f                	je     0x41ebfd
41ebee:	48                   	dec    %eax
41ebef:	83 e8 0e             	sub    $0xe,%eax
41ebf2:	72 11                	jb     0x41ec05
41ebf4:	2d f0 00 00 00       	sub    $0xf0,%eax
41ebf9:	72 15                	jb     0x41ec10
41ebfb:	eb 1e                	jmp    0x41ec1b
41ebfd:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
41ec03:	eb 24                	jmp    0x41ec29
41ec05:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
41ec0b:	89 73 20             	mov    %esi,0x20(%ebx)
41ec0e:	eb 19                	jmp    0x41ec29
41ec10:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
41ec16:	89 73 20             	mov    %esi,0x20(%ebx)
41ec19:	eb 0e                	jmp    0x41ec29
41ec1b:	66 8b 44 24 12       	mov    0x12(%esp),%ax
41ec20:	66 f7 6c 24 10       	imulw  0x10(%esp)
41ec25:	66 89 43 0e          	mov    %ax,0xe(%ebx)
41ec29:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
41ec2f:	8b 43 20             	mov    0x20(%ebx),%eax
41ec32:	3b 43 24             	cmp    0x24(%ebx),%eax
41ec35:	73 03                	jae    0x41ec3a
41ec37:	89 43 24             	mov    %eax,0x24(%ebx)
41ec3a:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41ec3e:	75 21                	jne    0x41ec61
41ec40:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
41ec44:	8b 43 04             	mov    0x4(%ebx),%eax
41ec47:	b9 20 00 00 00       	mov    $0x20,%ecx
41ec4c:	e8 63 f3 ff ff       	call   0x41dfb4
41ec51:	8b c8                	mov    %eax,%ecx
41ec53:	8b 43 08             	mov    0x8(%ebx),%eax
41ec56:	99                   	cltd
41ec57:	33 c2                	xor    %edx,%eax
41ec59:	2b c2                	sub    %edx,%eax
41ec5b:	0f af c8             	imul   %eax,%ecx
41ec5e:	89 4b 14             	mov    %ecx,0x14(%ebx)
41ec61:	83 c4 54             	add    $0x54,%esp
41ec64:	5f                   	pop    %edi
41ec65:	5e                   	pop    %esi
41ec66:	5b                   	pop    %ebx
41ec67:	c3                   	ret
41ec68:	55                   	push   %ebp
41ec69:	8b ec                	mov    %esp,%ebp
41ec6b:	83 c4 d8             	add    $0xffffffd8,%esp
41ec6e:	53                   	push   %ebx
41ec6f:	56                   	push   %esi
41ec70:	8b f1                	mov    %ecx,%esi
41ec72:	8b da                	mov    %edx,%ebx
41ec74:	8d 55 d8             	lea    -0x28(%ebp),%edx
41ec77:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ec7a:	e8 05 ff ff ff       	call   0x41eb84
41ec7f:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
41ec83:	66 83 f8 08          	cmp    $0x8,%ax
41ec87:	76 11                	jbe    0x41ec9a
41ec89:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
41ec8f:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
41ec93:	74 29                	je     0x41ecbe
41ec95:	83 03 0c             	addl   $0xc,(%ebx)
41ec98:	eb 24                	jmp    0x41ecbe
41ec9a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41ec9d:	85 d2                	test   %edx,%edx
41ec9f:	75 13                	jne    0x41ecb4
41eca1:	8b c8                	mov    %eax,%ecx
41eca3:	b8 01 00 00 00       	mov    $0x1,%eax
41eca8:	d3 e0                	shl    %cl,%eax
41ecaa:	c1 e0 02             	shl    $0x2,%eax
41ecad:	83 c0 28             	add    $0x28,%eax
41ecb0:	89 03                	mov    %eax,(%ebx)
41ecb2:	eb 0a                	jmp    0x41ecbe
41ecb4:	8b c2                	mov    %edx,%eax
41ecb6:	c1 e0 02             	shl    $0x2,%eax
41ecb9:	83 c0 28             	add    $0x28,%eax
41ecbc:	89 03                	mov    %eax,(%ebx)
41ecbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ecc1:	89 06                	mov    %eax,(%esi)
41ecc3:	5e                   	pop    %esi
41ecc4:	5b                   	pop    %ebx
41ecc5:	8b e5                	mov    %ebp,%esp
41ecc7:	5d                   	pop    %ebp
41ecc8:	c2 04 00             	ret    $0x4
41eccb:	90                   	nop
41eccc:	6a 00                	push   $0x0
41ecce:	e8 95 ff ff ff       	call   0x41ec68
41ecd3:	c3                   	ret
41ecd4:	55                   	push   %ebp
41ecd5:	8b ec                	mov    %esp,%ebp
41ecd7:	83 c4 f4             	add    $0xfffffff4,%esp
41ecda:	53                   	push   %ebx
41ecdb:	56                   	push   %esi
41ecdc:	57                   	push   %edi
41ecdd:	8b d9                	mov    %ecx,%ebx
41ecdf:	8b fa                	mov    %edx,%edi
41ece1:	8b f0                	mov    %eax,%esi
41ece3:	8b d3                	mov    %ebx,%edx
41ece5:	8b 4d 08             	mov    0x8(%ebp),%ecx