40bacf:	c3                   	ret
40bad0:	8b ff                	mov    %edi,%edi
40bad2:	55                   	push   %ebp
40bad3:	8b ec                	mov    %esp,%ebp
40bad5:	53                   	push   %ebx
40bad6:	56                   	push   %esi
40bad7:	8b f1                	mov    %ecx,%esi
40bad9:	57                   	push   %edi
40bada:	8d 4e 40             	lea    0x40(%esi),%ecx
40badd:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
40bae3:	85 ff                	test   %edi,%edi
40bae5:	75 02                	jne    0x40bae9
40bae7:	8b f9                	mov    %ecx,%edi
40bae9:	e8 fe fe ff ff       	call   0x40b9ec
40baee:	8b 5d 08             	mov    0x8(%ebp),%ebx
40baf1:	48                   	dec    %eax
40baf2:	03 f8                	add    %eax,%edi
40baf4:	89 7e 34             	mov    %edi,0x34(%esi)
40baf7:	8b cf                	mov    %edi,%ecx
40baf9:	8b 56 28             	mov    0x28(%esi),%edx
40bafc:	85 d2                	test   %edx,%edx
40bafe:	7f 04                	jg     0x40bb04
40bb00:	85 db                	test   %ebx,%ebx
40bb02:	74 30                	je     0x40bb34
40bb04:	8d 4a ff             	lea    -0x1(%edx),%ecx
40bb07:	8b c3                	mov    %ebx,%eax
40bb09:	33 d2                	xor    %edx,%edx
40bb0b:	89 4e 28             	mov    %ecx,0x28(%esi)
40bb0e:	f7 75 0c             	divl   0xc(%ebp)
40bb11:	80 c2 30             	add    $0x30,%dl
40bb14:	8b d8                	mov    %eax,%ebx
40bb16:	80 fa 39             	cmp    $0x39,%dl
40bb19:	7e 0c                	jle    0x40bb27
40bb1b:	8a 45 10             	mov    0x10(%ebp),%al
40bb1e:	34 01                	xor    $0x1,%al
40bb20:	c0 e0 05             	shl    $0x5,%al
40bb23:	04 07                	add    $0x7,%al
40bb25:	02 d0                	add    %al,%dl
40bb27:	8b 46 34             	mov    0x34(%esi),%eax
40bb2a:	88 10                	mov    %dl,(%eax)
40bb2c:	ff 4e 34             	decl   0x34(%esi)
40bb2f:	8b 4e 34             	mov    0x34(%esi),%ecx
40bb32:	eb c5                	jmp    0x40baf9
40bb34:	2b f9                	sub    %ecx,%edi
40bb36:	89 7e 38             	mov    %edi,0x38(%esi)
40bb39:	ff 46 34             	incl   0x34(%esi)
40bb3c:	5f                   	pop    %edi
40bb3d:	5e                   	pop    %esi
40bb3e:	5b                   	pop    %ebx
40bb3f:	5d                   	pop    %ebp
40bb40:	c2 0c 00             	ret    $0xc
40bb43:	8b ff                	mov    %edi,%edi
40bb45:	55                   	push   %ebp
40bb46:	8b ec                	mov    %esp,%ebp
40bb48:	83 ec 0c             	sub    $0xc,%esp
40bb4b:	53                   	push   %ebx
40bb4c:	56                   	push   %esi
40bb4d:	8b f1                	mov    %ecx,%esi
40bb4f:	57                   	push   %edi
40bb50:	8d 4e 40             	lea    0x40(%esi),%ecx
40bb53:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
40bb59:	85 ff                	test   %edi,%edi
40bb5b:	75 02                	jne    0x40bb5f
40bb5d:	8b f9                	mov    %ecx,%edi
40bb5f:	e8 88 fe ff ff       	call   0x40b9ec
40bb64:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40bb67:	48                   	dec    %eax
40bb68:	03 f8                	add    %eax,%edi
40bb6a:	89 7d fc             	mov    %edi,-0x4(%ebp)
40bb6d:	8b cf                	mov    %edi,%ecx
40bb6f:	89 7e 34             	mov    %edi,0x34(%esi)
40bb72:	8b 7d 08             	mov    0x8(%ebp),%edi
40bb75:	8b 56 28             	mov    0x28(%esi),%edx
40bb78:	85 d2                	test   %edx,%edx
40bb7a:	7f 06                	jg     0x40bb82
40bb7c:	8b c7                	mov    %edi,%eax
40bb7e:	0b c3                	or     %ebx,%eax
40bb80:	74 3d                	je     0x40bbbf
40bb82:	53                   	push   %ebx
40bb83:	6a 00                	push   $0x0
40bb85:	ff 75 10             	push   0x10(%ebp)
40bb88:	8d 42 ff             	lea    -0x1(%edx),%eax
40bb8b:	53                   	push   %ebx
40bb8c:	57                   	push   %edi
40bb8d:	89 46 28             	mov    %eax,0x28(%esi)
40bb90:	e8 5b 69 01 00       	call   0x4224f0
40bb95:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40bb98:	5b                   	pop    %ebx
40bb99:	90                   	nop
40bb9a:	80 c1 30             	add    $0x30,%cl
40bb9d:	8b f8                	mov    %eax,%edi
40bb9f:	8b da                	mov    %edx,%ebx
40bba1:	80 f9 39             	cmp    $0x39,%cl
40bba4:	7e 0c                	jle    0x40bbb2
40bba6:	8a 45 14             	mov    0x14(%ebp),%al
40bba9:	34 01                	xor    $0x1,%al
40bbab:	c0 e0 05             	shl    $0x5,%al
40bbae:	04 07                	add    $0x7,%al
40bbb0:	02 c8                	add    %al,%cl
40bbb2:	8b 46 34             	mov    0x34(%esi),%eax
40bbb5:	88 08                	mov    %cl,(%eax)
40bbb7:	ff 4e 34             	decl   0x34(%esi)
40bbba:	8b 4e 34             	mov    0x34(%esi),%ecx
40bbbd:	eb b6                	jmp    0x40bb75
40bbbf:	8b 7d fc             	mov    -0x4(%ebp),%edi
40bbc2:	2b f9                	sub    %ecx,%edi
40bbc4:	89 7e 38             	mov    %edi,0x38(%esi)
40bbc7:	ff 46 34             	incl   0x34(%esi)
40bbca:	5f                   	pop    %edi
40bbcb:	5e                   	pop    %esi
40bbcc:	5b                   	pop    %ebx
40bbcd:	c9                   	leave
40bbce:	c2 10 00             	ret    $0x10
40bbd1:	8b ff                	mov    %edi,%edi
40bbd3:	55                   	push   %ebp
40bbd4:	8b ec                	mov    %esp,%ebp
40bbd6:	56                   	push   %esi
40bbd7:	33 f6                	xor    %esi,%esi
40bbd9:	39 75 10             	cmp    %esi,0x10(%ebp)
40bbdc:	7e 1c                	jle    0x40bbfa
40bbde:	57                   	push   %edi
40bbdf:	8b 7d 14             	mov    0x14(%ebp),%edi
40bbe2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bbe5:	57                   	push   %edi
40bbe6:	ff 75 0c             	push   0xc(%ebp)
40bbe9:	e8 26 0e 00 00       	call   0x40ca14
40bbee:	83 3f ff             	cmpl   $0xffffffff,(%edi)
40bbf1:	74 06                	je     0x40bbf9
40bbf3:	46                   	inc    %esi
40bbf4:	3b 75 10             	cmp    0x10(%ebp),%esi
40bbf7:	7c e9                	jl     0x40bbe2
40bbf9:	5f                   	pop    %edi
40bbfa:	5e                   	pop    %esi
40bbfb:	5d                   	pop    %ebp
40bbfc:	c3                   	ret
40bbfd:	8b ff                	mov    %edi,%edi
40bbff:	55                   	push   %ebp
40bc00:	8b ec                	mov    %esp,%ebp
40bc02:	51                   	push   %ecx
40bc03:	33 c0                	xor    %eax,%eax
40bc05:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40bc08:	89 01                	mov    %eax,(%ecx)
40bc0a:	89 41 04             	mov    %eax,0x4(%ecx)
40bc0d:	89 41 08             	mov    %eax,0x8(%ecx)
40bc10:	89 41 0c             	mov    %eax,0xc(%ecx)
40bc13:	89 41 10             	mov    %eax,0x10(%ecx)
40bc16:	89 41 14             	mov    %eax,0x14(%ecx)
40bc19:	89 41 18             	mov    %eax,0x18(%ecx)
40bc1c:	89 41 1c             	mov    %eax,0x1c(%ecx)
40bc1f:	89 41 20             	mov    %eax,0x20(%ecx)
40bc22:	89 41 24             	mov    %eax,0x24(%ecx)
40bc25:	89 41 28             	mov    %eax,0x28(%ecx)
40bc28:	66 89 41 30          	mov    %ax,0x30(%ecx)
40bc2c:	89 41 38             	mov    %eax,0x38(%ecx)
40bc2f:	88 41 3c             	mov    %al,0x3c(%ecx)
40bc32:	89 81 40 04 00 00    	mov    %eax,0x440(%ecx)
40bc38:	89 81 44 04 00 00    	mov    %eax,0x444(%ecx)
40bc3e:	8b c1                	mov    %ecx,%eax
40bc40:	c9                   	leave
40bc41:	c3                   	ret
40bc42:	8b ff                	mov    %edi,%edi
40bc44:	55                   	push   %ebp
40bc45:	8b ec                	mov    %esp,%ebp
40bc47:	56                   	push   %esi
40bc48:	8b f1                	mov    %ecx,%esi
40bc4a:	e8 ae ff ff ff       	call   0x40bbfd
40bc4f:	8b 45 08             	mov    0x8(%ebp),%eax
40bc52:	8b 00                	mov    (%eax),%eax
40bc54:	89 86 48 04 00 00    	mov    %eax,0x448(%esi)
40bc5a:	8b 45 0c             	mov    0xc(%ebp),%eax
40bc5d:	89 06                	mov    %eax,(%esi)
40bc5f:	8b 45 10             	mov    0x10(%ebp),%eax
40bc62:	89 46 04             	mov    %eax,0x4(%esi)
40bc65:	8b 45 18             	mov    0x18(%ebp),%eax
40bc68:	89 46 08             	mov    %eax,0x8(%esi)
40bc6b:	8b 45 14             	mov    0x14(%ebp),%eax
40bc6e:	89 46 10             	mov    %eax,0x10(%esi)
40bc71:	8b 45 1c             	mov    0x1c(%ebp),%eax
40bc74:	89 46 14             	mov    %eax,0x14(%esi)
40bc77:	8b c6                	mov    %esi,%eax
40bc79:	5e                   	pop    %esi
40bc7a:	5d                   	pop    %ebp
40bc7b:	c2 18 00             	ret    $0x18
40bc7e:	8b ff                	mov    %edi,%edi
40bc80:	55                   	push   %ebp
40bc81:	8b ec                	mov    %esp,%ebp
40bc83:	53                   	push   %ebx
40bc84:	57                   	push   %edi
40bc85:	8b f9                	mov    %ecx,%edi
40bc87:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bc8a:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
40bc8e:	8d 5f 04             	lea    0x4(%edi),%ebx
40bc91:	85 c9                	test   %ecx,%ecx
40bc93:	74 09                	je     0x40bc9e
40bc95:	8b 01                	mov    (%ecx),%eax
40bc97:	89 03                	mov    %eax,(%ebx)
40bc99:	8b 41 04             	mov    0x4(%ecx),%eax
40bc9c:	eb 15                	jmp    0x40bcb3
40bc9e:	83 3d bc 49 43 00 00 	cmpl   $0x0,0x4349bc
40bca5:	75 11                	jne    0x40bcb8
40bca7:	a1 88 32 43 00       	mov    0x433288,%eax
40bcac:	89 03                	mov    %eax,(%ebx)
40bcae:	a1 8c 32 43 00       	mov    0x43328c,%eax
40bcb3:	89 43 04             	mov    %eax,0x4(%ebx)
40bcb6:	eb 41                	jmp    0x40bcf9
40bcb8:	56                   	push   %esi
40bcb9:	e8 15 85 00 00       	call   0x4141d3
40bcbe:	89 07                	mov    %eax,(%edi)
40bcc0:	8d 77 08             	lea    0x8(%edi),%esi
40bcc3:	53                   	push   %ebx
40bcc4:	50                   	push   %eax
40bcc5:	8b 48 4c             	mov    0x4c(%eax),%ecx
40bcc8:	89 0b                	mov    %ecx,(%ebx)
40bcca:	8b 48 48             	mov    0x48(%eax),%ecx
40bccd:	89 0e                	mov    %ecx,(%esi)
40bccf:	e8 51 87 00 00       	call   0x414425
40bcd4:	56                   	push   %esi
40bcd5:	ff 37                	push   (%edi)
40bcd7:	e8 76 87 00 00       	call   0x414452
40bcdc:	8b 0f                	mov    (%edi),%ecx
40bcde:	83 c4 10             	add    $0x10,%esp
40bce1:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
40bce7:	5e                   	pop    %esi
40bce8:	a8 02                	test   $0x2,%al
40bcea:	75 0d                	jne    0x40bcf9
40bcec:	83 c8 02             	or     $0x2,%eax
40bcef:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
40bcf5:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40bcf9:	8b c7                	mov    %edi,%eax
40bcfb:	5f                   	pop    %edi
40bcfc:	5b                   	pop    %ebx
40bcfd:	5d                   	pop    %ebp
40bcfe:	c2 04 00             	ret    $0x4
40bd01:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
40bd05:	74 09                	je     0x40bd10
40bd07:	8b 01                	mov    (%ecx),%eax
40bd09:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
40bd10:	c3                   	ret
40bd11:	8b ff                	mov    %edi,%edi
40bd13:	56                   	push   %esi
40bd14:	8b f1                	mov    %ecx,%esi
40bd16:	ff b6 04 04 00 00    	push   0x404(%esi)
40bd1c:	e8 ea 73 00 00       	call   0x41310b
40bd21:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
40bd28:	59                   	pop    %ecx
40bd29:	5e                   	pop    %esi
40bd2a:	c3                   	ret
40bd2b:	8b ff                	mov    %edi,%edi
40bd2d:	55                   	push   %ebp
40bd2e:	8b ec                	mov    %esp,%ebp
40bd30:	56                   	push   %esi
40bd31:	8b f1                	mov    %ecx,%esi
40bd33:	ff 36                	push   (%esi)
40bd35:	e8 d1 73 00 00       	call   0x41310b
40bd3a:	8b 55 08             	mov    0x8(%ebp),%edx
40bd3d:	83 26 00             	andl   $0x0,(%esi)
40bd40:	59                   	pop    %ecx
40bd41:	8b 02                	mov    (%edx),%eax
40bd43:	89 06                	mov    %eax,(%esi)
40bd45:	8b c6                	mov    %esi,%eax
40bd47:	83 22 00             	andl   $0x0,(%edx)
40bd4a:	5e                   	pop    %esi
40bd4b:	5d                   	pop    %ebp
40bd4c:	c2 04 00             	ret    $0x4
40bd4f:	cc                   	int3
40bd50:	8b ff                	mov    %edi,%edi
40bd52:	55                   	push   %ebp
40bd53:	8b ec                	mov    %esp,%ebp
40bd55:	8b 45 0c             	mov    0xc(%ebp),%eax
40bd58:	53                   	push   %ebx
40bd59:	8b 00                	mov    (%eax),%eax
40bd5b:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40bd61:	8b 00                	mov    (%eax),%eax
40bd63:	8a 18                	mov    (%eax),%bl
40bd65:	8b 45 08             	mov    0x8(%ebp),%eax
40bd68:	8a 08                	mov    (%eax),%cl
40bd6a:	84 c9                	test   %cl,%cl
40bd6c:	74 12                	je     0x40bd80
40bd6e:	8a d1                	mov    %cl,%dl
40bd70:	8a ca                	mov    %dl,%cl
40bd72:	3a d3                	cmp    %bl,%dl
40bd74:	74 0a                	je     0x40bd80
40bd76:	8a 48 01             	mov    0x1(%eax),%cl
40bd79:	40                   	inc    %eax
40bd7a:	8a d1                	mov    %cl,%dl
40bd7c:	84 c9                	test   %cl,%cl
40bd7e:	75 f0                	jne    0x40bd70
40bd80:	40                   	inc    %eax
40bd81:	84 c9                	test   %cl,%cl
40bd83:	74 49                	je     0x40bdce
40bd85:	8a 08                	mov    (%eax),%cl
40bd87:	84 c9                	test   %cl,%cl
40bd89:	74 17                	je     0x40bda2
40bd8b:	eb 03                	jmp    0x40bd90
40bd8d:	8d 49 00             	lea    0x0(%ecx),%ecx
40bd90:	80 f9 65             	cmp    $0x65,%cl
40bd93:	74 0d                	je     0x40bda2
40bd95:	80 f9 45             	cmp    $0x45,%cl
40bd98:	74 08                	je     0x40bda2
40bd9a:	8a 48 01             	mov    0x1(%eax),%cl
40bd9d:	40                   	inc    %eax
40bd9e:	84 c9                	test   %cl,%cl
40bda0:	75 ee                	jne    0x40bd90
40bda2:	8a 48 ff             	mov    -0x1(%eax),%cl
40bda5:	8b d0                	mov    %eax,%edx
40bda7:	48                   	dec    %eax
40bda8:	80 f9 30             	cmp    $0x30,%cl
40bdab:	75 0c                	jne    0x40bdb9
40bdad:	8d 49 00             	lea    0x0(%ecx),%ecx
40bdb0:	8a 48 ff             	mov    -0x1(%eax),%cl
40bdb3:	48                   	dec    %eax
40bdb4:	80 f9 30             	cmp    $0x30,%cl
40bdb7:	74 f7                	je     0x40bdb0
40bdb9:	3a cb                	cmp    %bl,%cl
40bdbb:	75 03                	jne    0x40bdc0
40bdbd:	48                   	dec    %eax
40bdbe:	8b ff                	mov    %edi,%edi
40bdc0:	8a 0a                	mov    (%edx),%cl
40bdc2:	8d 40 01             	lea    0x1(%eax),%eax
40bdc5:	88 08                	mov    %cl,(%eax)
40bdc7:	8d 52 01             	lea    0x1(%edx),%edx
40bdca:	84 c9                	test   %cl,%cl
40bdcc:	75 f2                	jne    0x40bdc0
40bdce:	5b                   	pop    %ebx
40bdcf:	5d                   	pop    %ebp
40bdd0:	c3                   	ret
40bdd1:	8b ff                	mov    %edi,%edi
40bdd3:	55                   	push   %ebp
40bdd4:	8b ec                	mov    %esp,%ebp
40bdd6:	8a 4d 08             	mov    0x8(%ebp),%cl
40bdd9:	8d 41 e0             	lea    -0x20(%ecx),%eax
40bddc:	3c 5a                	cmp    $0x5a,%al
40bdde:	77 12                	ja     0x40bdf2
40bde0:	0f be c1             	movsbl %cl,%eax
40bde3:	83 e8 20             	sub    $0x20,%eax
40bde6:	83 e0 7f             	and    $0x7f,%eax
40bde9:	8b 04 c5 bc 5c 42 00 	mov    0x425cbc(,%eax,8),%eax
40bdf0:	eb 02                	jmp    0x40bdf4
40bdf2:	33 c0                	xor    %eax,%eax
40bdf4:	6b c0 09             	imul   $0x9,%eax,%eax
40bdf7:	03 45 0c             	add    0xc(%ebp),%eax
40bdfa:	83 e0 7f             	and    $0x7f,%eax
40bdfd:	8b 04 c5 b8 5c 42 00 	mov    0x425cb8(,%eax,8),%eax
40be04:	5d                   	pop    %ebp
40be05:	c2 08 00             	ret    $0x8
40be08:	cc                   	int3
40be09:	cc                   	int3
40be0a:	cc                   	int3
40be0b:	cc                   	int3
40be0c:	cc                   	int3