41e839:	e9 0e 57 fe ff       	jmp    0x403f4c
41e83e:	eb ed                	jmp    0x41e82d
41e840:	33 c0                	xor    %eax,%eax
41e842:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e845:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e848:	0f b7 40 02          	movzwl 0x2(%eax),%eax
41e84c:	e8 63 fe ff ff       	call   0x41e6b4
41e851:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e854:	8b 7d f4             	mov    -0xc(%ebp),%edi
41e857:	4f                   	dec    %edi
41e858:	85 ff                	test   %edi,%edi
41e85a:	7e 4c                	jle    0x41e8a8
41e85c:	be 01 00 00 00       	mov    $0x1,%esi
41e861:	8b c6                	mov    %esi,%eax
41e863:	03 c0                	add    %eax,%eax
41e865:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e868:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
41e86d:	e8 42 fe ff ff       	call   0x41e6b4
41e872:	8b d8                	mov    %eax,%ebx
41e874:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
41e877:	7f 2b                	jg     0x41e8a4
41e879:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
41e87c:	7c 26                	jl     0x41e8a4
41e87e:	55                   	push   %ebp
41e87f:	8b c6                	mov    %esi,%eax
41e881:	03 c0                	add    %eax,%eax
41e883:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e886:	8d 14 c2             	lea    (%edx,%eax,8),%edx
41e889:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e88c:	03 c0                	add    %eax,%eax
41e88e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e891:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
41e894:	e8 27 fe ff ff       	call   0x41e6c0
41e899:	59                   	pop    %ecx
41e89a:	84 c0                	test   %al,%al
41e89c:	74 06                	je     0x41e8a4
41e89e:	89 75 dc             	mov    %esi,-0x24(%ebp)
41e8a1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41e8a4:	46                   	inc    %esi
41e8a5:	4f                   	dec    %edi
41e8a6:	75 b9                	jne    0x41e861
41e8a8:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e8ab:	03 c0                	add    %eax,%eax
41e8ad:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e8b0:	8d 04 c2             	lea    (%edx,%eax,8),%eax
41e8b3:	89 45 bc             	mov    %eax,-0x44(%ebp)
41e8b6:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8b9:	0f b6 00             	movzbl (%eax),%eax
41e8bc:	8b 55 08             	mov    0x8(%ebp),%edx
41e8bf:	89 02                	mov    %eax,(%edx)
41e8c1:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8c4:	0f b6 40 01          	movzbl 0x1(%eax),%eax
41e8c8:	8b 55 08             	mov    0x8(%ebp),%edx
41e8cb:	89 42 04             	mov    %eax,0x4(%edx)
41e8ce:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8d1:	8b 40 08             	mov    0x8(%eax),%eax
41e8d4:	e8 33 98 fe ff       	call   0x40810c
41e8d9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41e8dc:	33 c0                	xor    %eax,%eax
41e8de:	55                   	push   %ebp
41e8df:	68 32 ea 41 00       	push   $0x41ea32
41e8e4:	64 ff 30             	push   %fs:(%eax)
41e8e7:	64 89 20             	mov    %esp,%fs:(%eax)
41e8ea:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e8ed:	8b 50 0c             	mov    0xc(%eax),%edx
41e8f0:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e8f3:	03 45 10             	add    0x10(%ebp),%eax
41e8f6:	2b d0                	sub    %eax,%edx
41e8f8:	66 b9 01 00          	mov    $0x1,%cx
41e8fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8ff:	8b 18                	mov    (%eax),%ebx
41e901:	ff 53 14             	call   *0x14(%ebx)
41e904:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e907:	8b 48 08             	mov    0x8(%eax),%ecx
41e90a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41e90d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e910:	8b 18                	mov    (%eax),%ebx
41e912:	ff 53 0c             	call   *0xc(%ebx)
41e915:	8b 45 08             	mov    0x8(%ebp),%eax
41e918:	50                   	push   %eax
41e919:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41e91c:	8d 55 cc             	lea    -0x34(%ebp),%edx
41e91f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41e922:	e8 c9 fb ff ff       	call   0x41e4f0
41e927:	8d 45 8c             	lea    -0x74(%ebp),%eax
41e92a:	50                   	push   %eax
41e92b:	6a 18                	push   $0x18
41e92d:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e930:	50                   	push   %eax
41e931:	e8 9e 7f fe ff       	call   0x4068d4
41e936:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41e939:	50                   	push   %eax
41e93a:	6a 18                	push   $0x18
41e93c:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e93f:	50                   	push   %eax
41e940:	e8 8f 7f fe ff       	call   0x4068d4
41e945:	8b 5d 98             	mov    -0x68(%ebp),%ebx
41e948:	0f af 5d 94          	imul   -0x6c(%ebp),%ebx
41e94c:	0f b7 45 9c          	movzwl -0x64(%ebp),%eax
41e950:	0f af d8             	imul   %eax,%ebx
41e953:	8b 75 b0             	mov    -0x50(%ebp),%esi
41e956:	0f af 75 ac          	imul   -0x54(%ebp),%esi
41e95a:	0f b7 45 b4          	movzwl -0x4c(%ebp),%eax
41e95e:	0f af f0             	imul   %eax,%esi
41e961:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
41e964:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e967:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e96a:	e8 9d 97 fe ff       	call   0x40810c
41e96f:	89 45 d0             	mov    %eax,-0x30(%ebp)
41e972:	33 c0                	xor    %eax,%eax
41e974:	55                   	push   %ebp
41e975:	68 0f ea 41 00       	push   $0x41ea0f
41e97a:	64 ff 30             	push   %fs:(%eax)
41e97d:	64 89 20             	mov    %esp,%fs:(%eax)
41e980:	8b 45 d0             	mov    -0x30(%ebp),%eax
41e983:	89 45 c0             	mov    %eax,-0x40(%ebp)
41e986:	8b 45 d0             	mov    -0x30(%ebp),%eax
41e989:	03 c3                	add    %ebx,%eax
41e98b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41e98e:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e991:	50                   	push   %eax
41e992:	53                   	push   %ebx
41e993:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e996:	50                   	push   %eax
41e997:	e8 f0 7e fe ff       	call   0x40688c
41e99c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41e99f:	50                   	push   %eax
41e9a0:	56                   	push   %esi
41e9a1:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e9a4:	50                   	push   %eax
41e9a5:	e8 e2 7e fe ff       	call   0x40688c
41e9aa:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e9ad:	50                   	push   %eax
41e9ae:	e8 c9 7e fe ff       	call   0x40687c
41e9b3:	8b 45 c8             	mov    -0x38(%ebp),%eax
41e9b6:	50                   	push   %eax
41e9b7:	e8 c0 7e fe ff       	call   0x40687c
41e9bc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41e9bf:	50                   	push   %eax
41e9c0:	8b 45 c0             	mov    -0x40(%ebp),%eax
41e9c3:	50                   	push   %eax
41e9c4:	8a 45 b6             	mov    -0x4a(%ebp),%al
41e9c7:	50                   	push   %eax
41e9c8:	8a 45 b4             	mov    -0x4c(%ebp),%al
41e9cb:	50                   	push   %eax
41e9cc:	8b 45 08             	mov    0x8(%ebp),%eax
41e9cf:	8b 40 04             	mov    0x4(%eax),%eax
41e9d2:	50                   	push   %eax
41e9d3:	8b 45 08             	mov    0x8(%ebp),%eax
41e9d6:	8b 00                	mov    (%eax),%eax
41e9d8:	50                   	push   %eax
41e9d9:	a1 60 16 46 00       	mov    0x461660,%eax
41e9de:	50                   	push   %eax
41e9df:	e8 50 80 fe ff       	call   0x406a34
41e9e4:	8b 55 f8             	mov    -0x8(%ebp),%edx
41e9e7:	89 02                	mov    %eax,(%edx)
41e9e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e9ec:	83 38 00             	cmpl   $0x0,(%eax)
41e9ef:	75 05                	jne    0x41e9f6
41e9f1:	e8 5e f2 ff ff       	call   0x41dc54
41e9f6:	33 c0                	xor    %eax,%eax
41e9f8:	5a                   	pop    %edx
41e9f9:	59                   	pop    %ecx
41e9fa:	59                   	pop    %ecx
41e9fb:	64 89 10             	mov    %edx,%fs:(%eax)
41e9fe:	68 16 ea 41 00       	push   $0x41ea16
41ea03:	8b 55 e8             	mov    -0x18(%ebp),%edx
41ea06:	8b 45 d0             	mov    -0x30(%ebp),%eax
41ea09:	e8 5a 40 fe ff       	call   0x402a68
41ea0e:	c3                   	ret
41ea0f:	e9 38 55 fe ff       	jmp    0x403f4c
41ea14:	eb ed                	jmp    0x41ea03
41ea16:	33 c0                	xor    %eax,%eax
41ea18:	5a                   	pop    %edx
41ea19:	59                   	pop    %ecx
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