40d769:	8b d9                	mov    %ecx,%ebx
40d76b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d76e:	0f 84 c6 ff 00 00    	je     0x41d73a
40d774:	8b cf                	mov    %edi,%ecx
40d776:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40d779:	85 db                	test   %ebx,%ebx
40d77b:	7e 35                	jle    0x40d7b2
40d77d:	8d 49 00             	lea    0x0(%ecx),%ecx
40d780:	83 fe 03             	cmp    $0x3,%esi
40d783:	7c 0e                	jl     0x40d793
40d785:	8a 07                	mov    (%edi),%al
40d787:	3c 0a                	cmp    $0xa,%al
40d789:	0f 84 f0 ff 00 00    	je     0x41d77f
40d78f:	3c 0d                	cmp    $0xd,%al
40d791:	74 24                	je     0x40d7b7
40d793:	0f b6 07             	movzbl (%edi),%eax
40d796:	80 b8 f0 8a 44 00 00 	cmpb   $0x0,0x448af0(%eax)
40d79d:	0f 85 eb ff 00 00    	jne    0x41d78e
40d7a3:	4e                   	dec    %esi
40d7a4:	b8 01 00 00 00       	mov    $0x1,%eax
40d7a9:	03 f8                	add    %eax,%edi
40d7ab:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d7ae:	85 f6                	test   %esi,%esi
40d7b0:	7f ce                	jg     0x40d780
40d7b2:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40d7b5:	eb 22                	jmp    0x40d7d9
40d7b7:	80 7f 01 0a          	cmpb   $0xa,0x1(%edi)
40d7bb:	75 d6                	jne    0x40d793
40d7bd:	8b df                	mov    %edi,%ebx
40d7bf:	c6 47 02 00          	movb   $0x0,0x2(%edi)
40d7c3:	2b d9                	sub    %ecx,%ebx
40d7c5:	83 c3 02             	add    $0x2,%ebx
40d7c8:	6a 00                	push   $0x0
40d7ca:	6a 00                	push   $0x0
40d7cc:	8d 04 13             	lea    (%ebx,%edx,1),%eax
40d7cf:	50                   	push   %eax
40d7d0:	ff 75 e8             	push   -0x18(%ebp)
40d7d3:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40d7d9:	8b 0d a0 25 43 00    	mov    0x4325a0,%ecx
40d7df:	e8 64 0a 00 00       	call   0x40e248
40d7e4:	85 c0                	test   %eax,%eax
40d7e6:	0f 84 fd ff 00 00    	je     0x41d7e9
40d7ec:	b8 01 00 00 00       	mov    $0x1,%eax
40d7f1:	68 ff 1f 00 00       	push   $0x1fff
40d7f6:	68 30 ca 43 00       	push   $0x43ca30
40d7fb:	53                   	push   %ebx
40d7fc:	ff 75 ec             	push   -0x14(%ebp)
40d7ff:	50                   	push   %eax
40d800:	51                   	push   %ecx
40d801:	ff 15 68 a2 44 00    	call   *0x44a268
40d807:	8b c8                	mov    %eax,%ecx
40d809:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d80c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40d80f:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
40d816:	0f 85 d4 ff 00 00    	jne    0x41d7f0
40d81c:	85 c0                	test   %eax,%eax
40d81e:	0f 84 d3 01 00 00    	je     0x40d9f7
40d824:	85 c9                	test   %ecx,%ecx
40d826:	0f 8e cb 01 00 00    	jle    0x40d9f7
40d82c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40d833:	a1 d4 65 43 00       	mov    0x4365d4,%eax
40d838:	85 c9                	test   %ecx,%ecx
40d83a:	0f 84 d2 01 00 00    	je     0x40da12
40d840:	83 3d 54 90 44 00 00 	cmpl   $0x0,0x449054
40d847:	75 0c                	jne    0x40d855
40d849:	85 c9                	test   %ecx,%ecx
40d84b:	74 08                	je     0x40d855
40d84d:	85 c0                	test   %eax,%eax
40d84f:	0f 84 07 00 01 00    	je     0x41d85c
40d855:	81 f9 fe ff ff 7f    	cmp    $0x7ffffffe,%ecx
40d85b:	0f 87 0a 00 01 00    	ja     0x41d86b
40d861:	b8 c2 25 43 00       	mov    $0x4325c2,%eax
40d866:	be 30 ca 43 00       	mov    $0x43ca30,%esi
40d86b:	ba 02 20 00 00       	mov    $0x2002,%edx
40d870:	2b f0                	sub    %eax,%esi
40d872:	81 c1 fe df ff ff    	add    $0xffffdffe,%ecx
40d878:	03 ca                	add    %edx,%ecx
40d87a:	74 1c                	je     0x40d898
40d87c:	0f b7 0c 06          	movzwl (%esi,%eax,1),%ecx
40d880:	66 85 c9             	test   %cx,%cx
40d883:	74 13                	je     0x40d898
40d885:	66 89 08             	mov    %cx,(%eax)
40d888:	83 c0 02             	add    $0x2,%eax
40d88b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d88e:	83 ea 01             	sub    $0x1,%edx
40d891:	75 df                	jne    0x40d872
40d893:	e9 e1 ff 00 00       	jmp    0x41d879
40d898:	85 d2                	test   %edx,%edx
40d89a:	0f 84 d9 ff 00 00    	je     0x41d879
40d8a0:	33 c9                	xor    %ecx,%ecx
40d8a2:	66 89 08             	mov    %cx,(%eax)
40d8a5:	66 8b 15 c2 25 43 00 	mov    0x4325c2,%dx
40d8ac:	b9 c2 25 43 00       	mov    $0x4325c2,%ecx
40d8b1:	8d 71 02             	lea    0x2(%ecx),%esi
40d8b4:	66 8b 01             	mov    (%ecx),%ax
40d8b7:	83 c1 02             	add    $0x2,%ecx
40d8ba:	66 85 c0             	test   %ax,%ax
40d8bd:	75 f5                	jne    0x40d8b4
40d8bf:	2b ce                	sub    %esi,%ecx
40d8c1:	0f b7 c2             	movzwl %dx,%eax
40d8c4:	d1 f9                	sar    $1,%ecx
40d8c6:	33 ff                	xor    %edi,%edi
40d8c8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d8cb:	8b d9                	mov    %ecx,%ebx
40d8cd:	be c2 25 43 00       	mov    $0x4325c2,%esi
40d8d2:	66 85 c0             	test   %ax,%ax
40d8d5:	74 22                	je     0x40d8f9
40d8d7:	50                   	push   %eax
40d8d8:	68 d8 22 40 00       	push   $0x4022d8
40d8dd:	8d 76 02             	lea    0x2(%esi),%esi
40d8e0:	ff 15 b0 a3 44 00    	call   *0x44a3b0
40d8e6:	83 c4 08             	add    $0x8,%esp
40d8e9:	85 c0                	test   %eax,%eax
40d8eb:	75 09                	jne    0x40d8f6
40d8ed:	0f b7 06             	movzwl (%esi),%eax
40d8f0:	47                   	inc    %edi
40d8f1:	66 85 c0             	test   %ax,%ax
40d8f4:	75 e1                	jne    0x40d8d7
40d8f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d8f9:	89 7d f4             	mov    %edi,-0xc(%ebp)
40d8fc:	3b fb                	cmp    %ebx,%edi
40d8fe:	0f 83 d7 00 00 00    	jae    0x40d9db
40d904:	0f b7 04 7d c2 25 43 	movzwl 0x4325c2(,%edi,2),%eax
40d90b:	00
40d90c:	8d 14 7d c2 25 43 00 	lea    0x4325c2(,%edi,2),%edx
40d913:	8b f0                	mov    %eax,%esi
40d915:	83 f8 1a             	cmp    $0x1a,%eax
40d918:	0f 84 ea ff 00 00    	je     0x41d908
40d91e:	83 fe 0a             	cmp    $0xa,%esi
40d921:	0f 85 f8 00 00 00    	jne    0x40da1f
40d927:	2b f9                	sub    %ecx,%edi
40d929:	83 c2 02             	add    $0x2,%edx
40d92c:	b8 01 00 00 00       	mov    $0x1,%eax
40d931:	47                   	inc    %edi
40d932:	8b 0d d4 65 43 00    	mov    0x4365d4,%ecx
40d938:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d93b:	33 c0                	xor    %eax,%eax
40d93d:	66 89 02             	mov    %ax,(%edx)
40d940:	e8 53 04 00 00       	call   0x40dd98
40d945:	85 c0                	test   %eax,%eax
40d947:	75 28                	jne    0x40d971
40d949:	ff 75 f4             	push   -0xc(%ebp)
40d94c:	50                   	push   %eax
40d94d:	57                   	push   %edi
40d94e:	ff 35 d4 65 43 00    	push   0x4365d4
40d954:	ff 15 2c a4 44 00    	call   *0x44a42c
40d95a:	83 c4 04             	add    $0x4,%esp
40d95d:	50                   	push   %eax
40d95e:	ff 15 a0 a0 44 00    	call   *0x44a0a0
40d964:	83 3d d4 65 43 00 00 	cmpl   $0x0,0x4365d4
40d96b:	0f 84 a4 ff 00 00    	je     0x41d915
40d971:	c7 05 cc 65 43 00 c2 	movl   $0x4325c2,0x4365cc
40d978:	25 43 00
40d97b:	e8 b0 00 00 00       	call   0x40da30
40d980:	a1 cc 65 43 00       	mov    0x4365cc,%eax
40d985:	5f                   	pop    %edi
40d986:	5e                   	pop    %esi
40d987:	a3 c8 65 43 00       	mov    %eax,0x4365c8
40d98c:	5b                   	pop    %ebx
40d98d:	8b e5                	mov    %ebp,%esp
40d98f:	5d                   	pop    %ebp
40d990:	c3                   	ret
40d991:	8b d0                	mov    %eax,%edx
40d993:	83 ea 01             	sub    $0x1,%edx
40d996:	0f 85 dd fb 00 00    	jne    0x41d579
40d99c:	8b 35 d4 65 43 00    	mov    0x4365d4,%esi
40d9a2:	33 c0                	xor    %eax,%eax
40d9a4:	56                   	push   %esi
40d9a5:	ba 02 20 00 00       	mov    $0x2002,%edx
40d9aa:	66 a3 c2 65 43 00    	mov    %ax,0x4365c2
40d9b0:	b9 c2 25 43 00       	mov    $0x4325c2,%ecx
40d9b5:	e8 e6 19 00 00       	call   0x40f3a0
40d9ba:	b9 c2 25 43 00       	mov    $0x4325c2,%ecx
40d9bf:	8d 51 02             	lea    0x2(%ecx),%edx
40d9c2:	66 8b 01             	mov    (%ecx),%ax
40d9c5:	83 c1 02             	add    $0x2,%ecx
40d9c8:	66 85 c0             	test   %ax,%ax
40d9cb:	75 f5                	jne    0x40d9c2
40d9cd:	2b ca                	sub    %edx,%ecx
40d9cf:	d1 f9                	sar    $1,%ecx
40d9d1:	8d 04 4e             	lea    (%esi,%ecx,2),%eax
40d9d4:	a3 d4 65 43 00       	mov    %eax,0x4365d4
40d9d9:	eb 96                	jmp    0x40d971
40d9db:	85 c9                	test   %ecx,%ecx
40d9dd:	0f 84 21 ff ff ff    	je     0x40d904
40d9e3:	81 ff 00 20 00 00    	cmp    $0x2000,%edi
40d9e9:	72 86                	jb     0x40d971
40d9eb:	e9 91 fe 00 00       	jmp    0x41d881
40d9f0:	33 c0                	xor    %eax,%eax
40d9f2:	e9 18 fe ff ff       	jmp    0x40d80f
40d9f7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40d9fe:	ff 15 80 a0 44 00    	call   *0x44a080
40da04:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40da07:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40da0a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40da0d:	e9 21 fe ff ff       	jmp    0x40d833
40da12:	85 c0                	test   %eax,%eax
40da14:	0f 85 26 fe ff ff    	jne    0x40d840
40da1a:	e9 00 fe 00 00       	jmp    0x41d81f
40da1f:	b8 02 00 00 00       	mov    $0x2,%eax
40da24:	33 ff                	xor    %edi,%edi
40da26:	e9 07 ff ff ff       	jmp    0x40d932
40da2b:	cc                   	int3
40da2c:	cc                   	int3
40da2d:	cc                   	int3
40da2e:	cc                   	int3
40da2f:	cc                   	int3
40da30:	8b ff                	mov    %edi,%edi
40da32:	55                   	push   %ebp
40da33:	8b ec                	mov    %esp,%ebp
40da35:	83 ec 14             	sub    $0x14,%esp
40da38:	53                   	push   %ebx
40da39:	56                   	push   %esi
40da3a:	57                   	push   %edi
40da3b:	b9 02 40 00 00       	mov    $0x4002,%ecx
40da40:	e8 8b 02 00 00       	call   0x40dcd0
40da45:	89 45 fc             	mov    %eax,-0x4(%ebp)
40da48:	8b f8                	mov    %eax,%edi
40da4a:	85 c0                	test   %eax,%eax
40da4c:	0f 84 f6 fe 00 00    	je     0x41d948
40da52:	8b 35 cc 65 43 00    	mov    0x4365cc,%esi
40da58:	ba 01 20 00 00       	mov    $0x2001,%edx
40da5d:	8b de                	mov    %esi,%ebx
40da5f:	8b c8                	mov    %eax,%ecx
40da61:	2b d8                	sub    %eax,%ebx
40da63:	8d 82 fd df ff 7f    	lea    0x7fffdffd(%edx),%eax
40da69:	85 c0                	test   %eax,%eax
40da6b:	74 19                	je     0x40da86
40da6d:	0f b7 04 0b          	movzwl (%ebx,%ecx,1),%eax
40da71:	66 85 c0             	test   %ax,%ax
40da74:	74 10                	je     0x40da86
40da76:	66 89 01             	mov    %ax,(%ecx)
40da79:	83 c1 02             	add    $0x2,%ecx
40da7c:	83 ea 01             	sub    $0x1,%edx
40da7f:	75 e2                	jne    0x40da63
40da81:	e9 ed fe 00 00       	jmp    0x41d973
40da86:	85 d2                	test   %edx,%edx
40da88:	0f 84 e5 fe 00 00    	je     0x41d973
40da8e:	33 c0                	xor    %eax,%eax
40da90:	33 db                	xor    %ebx,%ebx
40da92:	66 89 01             	mov    %ax,(%ecx)
40da95:	8b cf                	mov    %edi,%ecx
40da97:	89 45 f8             	mov    %eax,-0x8(%ebp)
40da9a:	0f b7 01             	movzwl (%ecx),%eax
40da9d:	66 85 c0             	test   %ax,%ax
40daa0:	74 34                	je     0x40dad6
40daa2:	8b cf                	mov    %edi,%ecx
40daa4:	83 c7 02             	add    $0x2,%edi
40daa7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40daaa:	81 fb 01 20 00 00    	cmp    $0x2001,%ebx
40dab0:	7f 21                	jg     0x40dad3
40dab2:	66 83 f8 25          	cmp    $0x25,%ax
40dab6:	74 45                	je     0x40dafd
40dab8:	66 89 06             	mov    %ax,(%esi)
40dabb:	43                   	inc    %ebx
40dabc:	83 c6 02             	add    $0x2,%esi
40dabf:	89 35 cc 65 43 00    	mov    %esi,0x4365cc
40dac5:	66 83 f8 0a          	cmp    $0xa,%ax
40dac9:	74 08                	je     0x40dad3
40dacb:	0f b7 07             	movzwl (%edi),%eax
40dace:	66 85 c0             	test   %ax,%ax
40dad1:	75 cf                	jne    0x40daa2
40dad3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40dad6:	33 c0                	xor    %eax,%eax
40dad8:	c7 05 cc 65 43 00 c2 	movl   $0x4325c2,0x4365cc
40dadf:	25 43 00
40dae2:	66 89 06             	mov    %ax,(%esi)
40dae5:	81 fb 01 20 00 00    	cmp    $0x2001,%ebx
40daeb:	0f 8f bc fe 00 00    	jg     0x41d9ad
40daf1:	e8 6a 01 00 00       	call   0x40dc60
40daf6:	5f                   	pop    %edi
40daf7:	5e                   	pop    %esi
40daf8:	5b                   	pop    %ebx
40daf9:	8b e5                	mov    %ebp,%esp
40dafb:	5d                   	pop    %ebp
40dafc:	c3                   	ret
40dafd:	8b 15 48 67 43 00    	mov    0x436748,%edx
40db03:	85 d2                	test   %edx,%edx
40db05:	74 34                	je     0x40db3b
40db07:	0f b7 07             	movzwl (%edi),%eax
40db0a:	83 f8 25             	cmp    $0x25,%eax
40db0d:	0f 84 1b 01 00 00    	je     0x40dc2e
40db13:	83 f8 2a             	cmp    $0x2a,%eax
40db16:	0f 84 97 00 00 00    	je     0x40dbb3
40db1c:	8d 42 3c             	lea    0x3c(%edx),%eax
40db1f:	b9 70 0a 44 00       	mov    $0x440a70,%ecx
40db24:	50                   	push   %eax
40db25:	68 7c 23 40 00       	push   $0x40237c
40db2a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40db2d:	8b d7                	mov    %edi,%edx
40db2f:	50                   	push   %eax
40db30:	e8 ce 12 00 00       	call   0x40ee03
40db35:	8b c8                	mov    %eax,%ecx
40db37:	85 c9                	test   %ecx,%ecx
40db39:	75 1c                	jne    0x40db57
40db3b:	6a 25                	push   $0x25
40db3d:	8d 45 f8             	lea    -0x8(%ebp),%eax
40db40:	8b d7                	mov    %edi,%edx
40db42:	50                   	push   %eax
40db43:	b9 70 0a 44 00       	mov    $0x440a70,%ecx
40db48:	e8 23 e4 ff ff       	call   0x40bf70
40db4d:	8b c8                	mov    %eax,%ecx
40db4f:	85 c9                	test   %ecx,%ecx
40db51:	0f 84 eb 00 00 00    	je     0x40dc42
40db57:	8b f9                	mov    %ecx,%edi
40db59:	8d 57 02             	lea    0x2(%edi),%edx
40db5c:	8d 64 24 00          	lea    0x0(%esp),%esp
40db60:	66 8b 07             	mov    (%edi),%ax
40db63:	83 c7 02             	add    $0x2,%edi
40db66:	66 85 c0             	test   %ax,%ax
40db69:	75 f5                	jne    0x40db60
40db6b:	2b fa                	sub    %edx,%edi
40db6d:	d1 ff                	sar    $1,%edi
40db6f:	03 df                	add    %edi,%ebx
40db71:	81 fb 01 20 00 00    	cmp    $0x2001,%ebx
40db77:	0f 8f 38 fe 00 00    	jg     0x41d9b5
40db7d:	8b 35 cc 65 43 00    	mov    0x4365cc,%esi
40db83:	ba 03 20 00 00       	mov    $0x2003,%edx
40db88:	8b c6                	mov    %esi,%eax
40db8a:	2d c0 25 43 00       	sub    $0x4325c0,%eax
40db8f:	d1 f8                	sar    $1,%eax
40db91:	51                   	push   %ecx
40db92:	2b d0                	sub    %eax,%edx
40db94:	8b ce                	mov    %esi,%ecx
40db96:	e8 05 18 00 00       	call   0x40f3a0
40db9b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40db9e:	8d 34 7e             	lea    (%esi,%edi,2),%esi
40dba1:	8b 7d f8             	mov    -0x8(%ebp),%edi
40dba4:	47                   	inc    %edi
40dba5:	8d 3c 79             	lea    (%ecx,%edi,2),%edi
40dba8:	89 35 cc 65 43 00    	mov    %esi,0x4365cc
40dbae:	e9 18 ff ff ff       	jmp    0x40dacb
40dbb3:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
40dbba:	0f 84 5c ff ff ff    	je     0x40db1c
40dbc0:	8b 52 34             	mov    0x34(%edx),%edx
40dbc3:	8d 79 04             	lea    0x4(%ecx),%edi
40dbc6:	85 d2                	test   %edx,%edx
40dbc8:	0f 84 fd fe ff ff    	je     0x40dacb
40dbce:	8b ca                	mov    %edx,%ecx
40dbd0:	8d 41 02             	lea    0x2(%ecx),%eax
40dbd3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40dbd6:	66 8b 01             	mov    (%ecx),%ax
40dbd9:	83 c1 02             	add    $0x2,%ecx
40dbdc:	66 85 c0             	test   %ax,%ax
40dbdf:	75 f5                	jne    0x40dbd6
40dbe1:	2b 4d f4             	sub    -0xc(%ebp),%ecx
40dbe4:	d1 f9                	sar    $1,%ecx
40dbe6:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40dbe9:	85 c9                	test   %ecx,%ecx
40dbeb:	0f 8e da fe ff ff    	jle    0x40dacb