40b9f1:	75 07                	jne    0x40b9fa
40b9f3:	8b cb                	mov    %ebx,%ecx
40b9f5:	e8 56 b6 ff ff       	call   0x407050
40b9fa:	8b 43 0c             	mov    0xc(%ebx),%eax
40b9fd:	8b 75 08             	mov    0x8(%ebp),%esi
40ba00:	8b fe                	mov    %esi,%edi
40ba02:	8b 48 08             	mov    0x8(%eax),%ecx
40ba05:	33 c0                	xor    %eax,%eax
40ba07:	ab                   	stos   %eax,%es:(%edi)
40ba08:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40ba0b:	ab                   	stos   %eax,%es:(%edi)
40ba0c:	ab                   	stos   %eax,%es:(%edi)
40ba0d:	8b 45 a0             	mov    -0x60(%ebp),%eax
40ba10:	8b d0                	mov    %eax,%edx
40ba12:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40ba15:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40ba18:	0f 83 09 03 00 00    	jae    0x40bd27
40ba1e:	8b 7d b0             	mov    -0x50(%ebp),%edi
40ba21:	33 db                	xor    %ebx,%ebx
40ba23:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40ba26:	8a 02                	mov    (%edx),%al
40ba28:	88 45 d3             	mov    %al,-0x2d(%ebp)
40ba2b:	8b 45 bc             	mov    -0x44(%ebp),%eax
40ba2e:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40ba31:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40ba38:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
40ba3e:	0f 85 2c 01 00 00    	jne    0x40bb70
40ba44:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
40ba4b:	8b cb                	mov    %ebx,%ecx
40ba4d:	83 c0 2e             	add    $0x2e,%eax
40ba50:	03 c7                	add    %edi,%eax
40ba52:	89 45 b8             	mov    %eax,-0x48(%ebp)
40ba55:	80 38 00             	cmpb   $0x0,(%eax)
40ba58:	74 07                	je     0x40ba61
40ba5a:	41                   	inc    %ecx
40ba5b:	40                   	inc    %eax
40ba5c:	83 f9 05             	cmp    $0x5,%ecx
40ba5f:	7c f4                	jl     0x40ba55
40ba61:	8b 7d ac             	mov    -0x54(%ebp),%edi
40ba64:	2b fa                	sub    %edx,%edi
40ba66:	89 4d cc             	mov    %ecx,-0x34(%ebp)
40ba69:	85 c9                	test   %ecx,%ecx
40ba6b:	0f 8e a4 00 00 00    	jle    0x40bb15
40ba71:	8b 45 b8             	mov    -0x48(%ebp),%eax
40ba74:	0f b6 00             	movzbl (%eax),%eax
40ba77:	0f be 80 58 67 41 00 	movsbl 0x416758(%eax),%eax
40ba7e:	40                   	inc    %eax
40ba7f:	89 45 c8             	mov    %eax,-0x38(%ebp)
40ba82:	2b c1                	sub    %ecx,%eax
40ba84:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40ba87:	3b c7                	cmp    %edi,%eax
40ba89:	0f 8f 21 02 00 00    	jg     0x40bcb0
40ba8f:	8b fb                	mov    %ebx,%edi
40ba91:	8b 5d b8             	mov    -0x48(%ebp),%ebx
40ba94:	8a 03                	mov    (%ebx),%al
40ba96:	88 44 3d e8          	mov    %al,-0x18(%ebp,%edi,1)
40ba9a:	47                   	inc    %edi
40ba9b:	43                   	inc    %ebx
40ba9c:	3b f9                	cmp    %ecx,%edi
40ba9e:	7c f4                	jl     0x40ba94
40baa0:	8b 75 b4             	mov    -0x4c(%ebp),%esi
40baa3:	33 db                	xor    %ebx,%ebx
40baa5:	85 f6                	test   %esi,%esi
40baa7:	7e 13                	jle    0x40babc
40baa9:	56                   	push   %esi
40baaa:	8d 45 e8             	lea    -0x18(%ebp),%eax
40baad:	03 c1                	add    %ecx,%eax
40baaf:	52                   	push   %edx
40bab0:	50                   	push   %eax
40bab1:	e8 9a 99 ff ff       	call   0x405450
40bab6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40bab9:	83 c4 0c             	add    $0xc,%esp
40babc:	8b 7d b0             	mov    -0x50(%ebp),%edi
40babf:	8b d3                	mov    %ebx,%edx
40bac1:	8b 75 bc             	mov    -0x44(%ebp),%esi
40bac4:	8b 04 b5 78 70 41 00 	mov    0x417078(,%esi,4),%eax
40bacb:	03 c7                	add    %edi,%eax
40bacd:	88 5c 10 2e          	mov    %bl,0x2e(%eax,%edx,1)
40bad1:	42                   	inc    %edx
40bad2:	3b d1                	cmp    %ecx,%edx
40bad4:	7c ee                	jl     0x40bac4
40bad6:	ff 75 c4             	push   -0x3c(%ebp)
40bad9:	8b 75 08             	mov    0x8(%ebp),%esi
40badc:	8d 45 e8             	lea    -0x18(%ebp),%eax
40badf:	89 45 98             	mov    %eax,-0x68(%ebp)
40bae2:	8d 4d 88             	lea    -0x78(%ebp),%ecx
40bae5:	33 c0                	xor    %eax,%eax
40bae7:	89 5d 88             	mov    %ebx,-0x78(%ebp)
40baea:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
40baee:	51                   	push   %ecx
40baef:	0f 94 c0             	sete   %al
40baf2:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
40baf5:	40                   	inc    %eax
40baf6:	50                   	push   %eax
40baf7:	89 45 cc             	mov    %eax,-0x34(%ebp)
40bafa:	8d 45 98             	lea    -0x68(%ebp),%eax
40bafd:	50                   	push   %eax
40bafe:	8d 45 c0             	lea    -0x40(%ebp),%eax
40bb01:	50                   	push   %eax
40bb02:	e8 2a 0c 00 00       	call   0x40c731
40bb07:	83 c4 14             	add    $0x14,%esp
40bb0a:	83 f8 ff             	cmp    $0xffffffff,%eax
40bb0d:	0f 84 14 02 00 00    	je     0x40bd27
40bb13:	eb 4f                	jmp    0x40bb64
40bb15:	0f b6 02             	movzbl (%edx),%eax
40bb18:	0f be 88 58 67 41 00 	movsbl 0x416758(%eax),%ecx
40bb1f:	41                   	inc    %ecx
40bb20:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
40bb23:	3b cf                	cmp    %edi,%ecx
40bb25:	0f 8f b2 01 00 00    	jg     0x40bcdd
40bb2b:	ff 75 c4             	push   -0x3c(%ebp)
40bb2e:	33 c0                	xor    %eax,%eax
40bb30:	89 5d 80             	mov    %ebx,-0x80(%ebp)
40bb33:	83 f9 04             	cmp    $0x4,%ecx
40bb36:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
40bb39:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40bb3c:	89 55 c8             	mov    %edx,-0x38(%ebp)
40bb3f:	0f 94 c0             	sete   %al
40bb42:	40                   	inc    %eax
40bb43:	51                   	push   %ecx
40bb44:	50                   	push   %eax
40bb45:	89 45 cc             	mov    %eax,-0x34(%ebp)
40bb48:	8d 45 c8             	lea    -0x38(%ebp),%eax
40bb4b:	50                   	push   %eax
40bb4c:	8d 45 c0             	lea    -0x40(%ebp),%eax
40bb4f:	50                   	push   %eax
40bb50:	e8 dc 0b 00 00       	call   0x40c731
40bb55:	83 c4 14             	add    $0x14,%esp
40bb58:	83 f8 ff             	cmp    $0xffffffff,%eax
40bb5b:	0f 84 c6 01 00 00    	je     0x40bd27
40bb61:	8b 7d b0             	mov    -0x50(%ebp),%edi
40bb64:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40bb67:	03 45 b4             	add    -0x4c(%ebp),%eax
40bb6a:	48                   	dec    %eax
40bb6b:	e9 8f 00 00 00       	jmp    0x40bbff
40bb70:	8b 0c 85 78 70 41 00 	mov    0x417078(,%eax,4),%ecx
40bb77:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
40bb7a:	8a 64 39 2d          	mov    0x2d(%ecx,%edi,1),%ah
40bb7e:	f6 c4 04             	test   $0x4,%ah
40bb81:	74 1e                	je     0x40bba1
40bb83:	8a 44 39 2e          	mov    0x2e(%ecx,%edi,1),%al
40bb87:	80 e4 fb             	and    $0xfb,%ah
40bb8a:	ff 75 c4             	push   -0x3c(%ebp)
40bb8d:	88 45 e0             	mov    %al,-0x20(%ebp)
40bb90:	8a 02                	mov    (%edx),%al
40bb92:	88 45 e1             	mov    %al,-0x1f(%ebp)
40bb95:	88 64 39 2d          	mov    %ah,0x2d(%ecx,%edi,1)
40bb99:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bb9c:	6a 02                	push   $0x2
40bb9e:	50                   	push   %eax
40bb9f:	eb 46                	jmp    0x40bbe7
40bba1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40bba4:	0f b6 0a             	movzbl (%edx),%ecx
40bba7:	8b 40 0c             	mov    0xc(%eax),%eax
40bbaa:	8b 00                	mov    (%eax),%eax
40bbac:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
40bbb0:	7d 2f                	jge    0x40bbe1
40bbb2:	8d 42 01             	lea    0x1(%edx),%eax
40bbb5:	89 45 c8             	mov    %eax,-0x38(%ebp)
40bbb8:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40bbbb:	0f 83 3d 01 00 00    	jae    0x40bcfe
40bbc1:	ff 75 c4             	push   -0x3c(%ebp)
40bbc4:	8d 45 c0             	lea    -0x40(%ebp),%eax
40bbc7:	6a 02                	push   $0x2
40bbc9:	52                   	push   %edx
40bbca:	50                   	push   %eax
40bbcb:	e8 f6 f0 ff ff       	call   0x40acc6
40bbd0:	83 c4 10             	add    $0x10,%esp
40bbd3:	83 f8 ff             	cmp    $0xffffffff,%eax
40bbd6:	0f 84 4b 01 00 00    	je     0x40bd27
40bbdc:	8b 45 c8             	mov    -0x38(%ebp),%eax
40bbdf:	eb 1e                	jmp    0x40bbff
40bbe1:	ff 75 c4             	push   -0x3c(%ebp)
40bbe4:	6a 01                	push   $0x1
40bbe6:	52                   	push   %edx
40bbe7:	8d 45 c0             	lea    -0x40(%ebp),%eax
40bbea:	50                   	push   %eax
40bbeb:	e8 d6 f0 ff ff       	call   0x40acc6
40bbf0:	83 c4 10             	add    $0x10,%esp
40bbf3:	83 f8 ff             	cmp    $0xffffffff,%eax
40bbf6:	0f 84 2b 01 00 00    	je     0x40bd27
40bbfc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40bbff:	53                   	push   %ebx
40bc00:	53                   	push   %ebx
40bc01:	40                   	inc    %eax
40bc02:	6a 05                	push   $0x5
40bc04:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40bc07:	8d 45 d8             	lea    -0x28(%ebp),%eax
40bc0a:	50                   	push   %eax
40bc0b:	ff 75 cc             	push   -0x34(%ebp)
40bc0e:	8d 45 c0             	lea    -0x40(%ebp),%eax
40bc11:	50                   	push   %eax
40bc12:	53                   	push   %ebx
40bc13:	ff 75 94             	push   -0x6c(%ebp)
40bc16:	e8 23 d2 ff ff       	call   0x408e3e
40bc1b:	83 c4 20             	add    $0x20,%esp
40bc1e:	89 45 c8             	mov    %eax,-0x38(%ebp)
40bc21:	85 c0                	test   %eax,%eax
40bc23:	0f 84 fe 00 00 00    	je     0x40bd27
40bc29:	53                   	push   %ebx
40bc2a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40bc2d:	51                   	push   %ecx
40bc2e:	50                   	push   %eax
40bc2f:	8d 45 d8             	lea    -0x28(%ebp),%eax
40bc32:	50                   	push   %eax
40bc33:	ff 75 9c             	push   -0x64(%ebp)
40bc36:	ff 15 94 f0 40 00    	call   *0x40f094
40bc3c:	85 c0                	test   %eax,%eax
40bc3e:	0f 84 db 00 00 00    	je     0x40bd1f
40bc44:	8b 46 08             	mov    0x8(%esi),%eax
40bc47:	2b 45 a0             	sub    -0x60(%ebp),%eax
40bc4a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40bc4d:	03 c2                	add    %edx,%eax
40bc4f:	89 45 b8             	mov    %eax,-0x48(%ebp)
40bc52:	89 46 04             	mov    %eax,0x4(%esi)
40bc55:	8b 45 c8             	mov    -0x38(%ebp),%eax
40bc58:	39 45 a4             	cmp    %eax,-0x5c(%ebp)
40bc5b:	0f 82 c6 00 00 00    	jb     0x40bd27
40bc61:	80 7d d3 0a          	cmpb   $0xa,-0x2d(%ebp)
40bc65:	75 3c                	jne    0x40bca3
40bc67:	6a 0d                	push   $0xd
40bc69:	58                   	pop    %eax
40bc6a:	53                   	push   %ebx
40bc6b:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
40bc6f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40bc72:	50                   	push   %eax
40bc73:	6a 01                	push   $0x1
40bc75:	8d 45 a8             	lea    -0x58(%ebp),%eax
40bc78:	50                   	push   %eax
40bc79:	ff 75 9c             	push   -0x64(%ebp)
40bc7c:	ff 15 94 f0 40 00    	call   *0x40f094
40bc82:	85 c0                	test   %eax,%eax
40bc84:	0f 84 95 00 00 00    	je     0x40bd1f
40bc8a:	83 7d a4 01          	cmpl   $0x1,-0x5c(%ebp)
40bc8e:	0f 82 93 00 00 00    	jb     0x40bd27
40bc94:	ff 46 08             	incl   0x8(%esi)
40bc97:	ff 46 04             	incl   0x4(%esi)
40bc9a:	8b 46 04             	mov    0x4(%esi),%eax
40bc9d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40bca0:	89 45 b8             	mov    %eax,-0x48(%ebp)
40bca3:	3b 55 ac             	cmp    -0x54(%ebp),%edx
40bca6:	73 7f                	jae    0x40bd27
40bca8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40bcab:	e9 76 fd ff ff       	jmp    0x40ba26
40bcb0:	85 ff                	test   %edi,%edi
40bcb2:	7e 24                	jle    0x40bcd8
40bcb4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40bcb7:	8b 75 cc             	mov    -0x34(%ebp),%esi
40bcba:	8b 4d bc             	mov    -0x44(%ebp),%ecx
40bcbd:	8b 14 8d 78 70 41 00 	mov    0x417078(,%ecx,4),%edx
40bcc4:	03 55 b0             	add    -0x50(%ebp),%edx
40bcc7:	8a 0c 03             	mov    (%ebx,%eax,1),%cl
40bcca:	03 d3                	add    %ebx,%edx
40bccc:	43                   	inc    %ebx
40bccd:	88 4c 32 2e          	mov    %cl,0x2e(%edx,%esi,1)
40bcd1:	3b df                	cmp    %edi,%ebx
40bcd3:	7c e5                	jl     0x40bcba
40bcd5:	8b 75 08             	mov    0x8(%ebp),%esi
40bcd8:	01 7e 04             	add    %edi,0x4(%esi)
40bcdb:	eb 4a                	jmp    0x40bd27
40bcdd:	85 ff                	test   %edi,%edi
40bcdf:	7e f7                	jle    0x40bcd8
40bce1:	8b 75 b0             	mov    -0x50(%ebp),%esi
40bce4:	8b 45 bc             	mov    -0x44(%ebp),%eax
40bce7:	8b 0c 85 78 70 41 00 	mov    0x417078(,%eax,4),%ecx
40bcee:	8a 04 13             	mov    (%ebx,%edx,1),%al
40bcf1:	03 ce                	add    %esi,%ecx
40bcf3:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
40bcf7:	43                   	inc    %ebx
40bcf8:	3b df                	cmp    %edi,%ebx
40bcfa:	7c e8                	jl     0x40bce4
40bcfc:	eb d7                	jmp    0x40bcd5
40bcfe:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40bd01:	8a 0a                	mov    (%edx),%cl
40bd03:	88 4c 38 2e          	mov    %cl,0x2e(%eax,%edi,1)
40bd07:	8b 45 bc             	mov    -0x44(%ebp),%eax
40bd0a:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
40bd11:	80 4c 38 2d 04       	orb    $0x4,0x2d(%eax,%edi,1)
40bd16:	8b 45 b8             	mov    -0x48(%ebp),%eax
40bd19:	40                   	inc    %eax
40bd1a:	89 46 04             	mov    %eax,0x4(%esi)
40bd1d:	eb 08                	jmp    0x40bd27
40bd1f:	ff 15 58 f0 40 00    	call   *0x40f058
40bd25:	89 06                	mov    %eax,(%esi)
40bd27:	8b c6                	mov    %esi,%eax
40bd29:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bd2c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bd33:	59                   	pop    %ecx
40bd34:	5f                   	pop    %edi
40bd35:	5e                   	pop    %esi
40bd36:	5b                   	pop    %ebx
40bd37:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bd3a:	33 cd                	xor    %ebp,%ecx
40bd3c:	e8 f4 78 ff ff       	call   0x403635
40bd41:	c9                   	leave
40bd42:	c3                   	ret
40bd43:	cc                   	int3
40bd44:	cc                   	int3
40bd45:	cc                   	int3
40bd46:	cc                   	int3
40bd47:	cc                   	int3
40bd48:	8b ff                	mov    %edi,%edi
40bd4a:	55                   	push   %ebp
40bd4b:	8b ec                	mov    %esp,%ebp
40bd4d:	51                   	push   %ecx
40bd4e:	53                   	push   %ebx
40bd4f:	56                   	push   %esi
40bd50:	8b 75 08             	mov    0x8(%ebp),%esi
40bd53:	33 c0                	xor    %eax,%eax
40bd55:	57                   	push   %edi
40bd56:	8b fe                	mov    %esi,%edi
40bd58:	ab                   	stos   %eax,%es:(%edi)
40bd59:	ab                   	stos   %eax,%es:(%edi)
40bd5a:	ab                   	stos   %eax,%es:(%edi)
40bd5b:	8b 7d 0c             	mov    0xc(%ebp),%edi
40bd5e:	8b 45 10             	mov    0x10(%ebp),%eax
40bd61:	03 c7                	add    %edi,%eax
40bd63:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bd66:	3b f8                	cmp    %eax,%edi
40bd68:	73 3f                	jae    0x40bda9
40bd6a:	0f b7 1f             	movzwl (%edi),%ebx
40bd6d:	53                   	push   %ebx
40bd6e:	e8 83 0b 00 00       	call   0x40c8f6
40bd73:	59                   	pop    %ecx
40bd74:	66 3b c3             	cmp    %bx,%ax
40bd77:	75 28                	jne    0x40bda1
40bd79:	83 46 04 02          	addl   $0x2,0x4(%esi)
40bd7d:	83 fb 0a             	cmp    $0xa,%ebx
40bd80:	75 15                	jne    0x40bd97
40bd82:	6a 0d                	push   $0xd
40bd84:	5b                   	pop    %ebx
40bd85:	53                   	push   %ebx
40bd86:	e8 6b 0b 00 00       	call   0x40c8f6
40bd8b:	59                   	pop    %ecx
40bd8c:	66 3b c3             	cmp    %bx,%ax
40bd8f:	75 10                	jne    0x40bda1
40bd91:	ff 46 04             	incl   0x4(%esi)
40bd94:	ff 46 08             	incl   0x8(%esi)
40bd97:	83 c7 02             	add    $0x2,%edi
40bd9a:	3b 7d fc             	cmp    -0x4(%ebp),%edi
40bd9d:	72 cb                	jb     0x40bd6a
40bd9f:	eb 08                	jmp    0x40bda9
40bda1:	ff 15 58 f0 40 00    	call   *0x40f058
40bda7:	89 06                	mov    %eax,(%esi)
40bda9:	5f                   	pop    %edi
40bdaa:	8b c6                	mov    %esi,%eax
40bdac:	5e                   	pop    %esi
40bdad:	5b                   	pop    %ebx
40bdae:	c9                   	leave
40bdaf:	c3                   	ret