410a0c:	51                   	push   %ecx
410a0d:	57                   	push   %edi
410a0e:	56                   	push   %esi
410a0f:	50                   	push   %eax
410a10:	e8 e1 0f 00 00       	call   0x4119f6
410a15:	83 c4 10             	add    $0x10,%esp
410a18:	85 c0                	test   %eax,%eax
410a1a:	74 0d                	je     0x410a29
410a1c:	53                   	push   %ebx
410a1d:	53                   	push   %ebx
410a1e:	53                   	push   %ebx
410a1f:	53                   	push   %ebx
410a20:	53                   	push   %ebx
410a21:	e8 2e 6b ff ff       	call   0x407554
410a26:	83 c4 14             	add    $0x14,%esp
410a29:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
410a2c:	74 07                	je     0x410a35
410a2e:	57                   	push   %edi
410a2f:	e8 1f 5a ff ff       	call   0x406453
410a34:	59                   	pop    %ecx
410a35:	33 c0                	xor    %eax,%eax
410a37:	eb be                	jmp    0x4109f7
410a39:	39 5d 70             	cmp    %ebx,0x70(%ebp)
410a3c:	75 b6                	jne    0x4109f4
410a3e:	53                   	push   %ebx
410a3f:	6a 04                	push   $0x4
410a41:	bf 64 e3 41 00       	mov    $0x41e364,%edi
410a46:	57                   	push   %edi
410a47:	ff 75 78             	push   0x78(%ebp)
410a4a:	ff 75 74             	push   0x74(%ebp)
410a4d:	50                   	push   %eax
410a4e:	e8 e3 45 00 00       	call   0x415036
410a53:	83 c4 18             	add    $0x18,%esp
410a56:	85 c0                	test   %eax,%eax
410a58:	74 9a                	je     0x4109f4
410a5a:	88 1e                	mov    %bl,(%esi)
410a5c:	8a 1f                	mov    (%edi),%bl
410a5e:	0f b6 c3             	movzbl %bl,%eax
410a61:	50                   	push   %eax
410a62:	e8 3c 84 ff ff       	call   0x408ea3
410a67:	85 c0                	test   %eax,%eax
410a69:	59                   	pop    %ecx
410a6a:	74 c9                	je     0x410a35
410a6c:	8a 06                	mov    (%esi),%al
410a6e:	b1 0a                	mov    $0xa,%cl
410a70:	f6 e9                	imul   %cl
410a72:	02 c3                	add    %bl,%al
410a74:	2c 30                	sub    $0x30,%al
410a76:	47                   	inc    %edi
410a77:	47                   	inc    %edi
410a78:	81 ff 6c e3 41 00    	cmp    $0x41e36c,%edi
410a7e:	88 06                	mov    %al,(%esi)
410a80:	7c da                	jl     0x410a5c
410a82:	eb b1                	jmp    0x410a35
410a84:	8b 44 24 04          	mov    0x4(%esp),%eax
410a88:	a3 6c e3 41 00       	mov    %eax,0x41e36c
410a8d:	c3                   	ret
410a8e:	6a 0c                	push   $0xc
410a90:	68 38 ae 41 00       	push   $0x41ae38
410a95:	e8 ae cb ff ff       	call   0x40d648
410a9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
410a9d:	33 ff                	xor    %edi,%edi
410a9f:	3b cf                	cmp    %edi,%ecx
410aa1:	76 2e                	jbe    0x410ad1
410aa3:	6a e0                	push   $0xffffffe0
410aa5:	58                   	pop    %eax
410aa6:	33 d2                	xor    %edx,%edx
410aa8:	f7 f1                	div    %ecx
410aaa:	3b 45 0c             	cmp    0xc(%ebp),%eax
410aad:	1b c0                	sbb    %eax,%eax
410aaf:	40                   	inc    %eax
410ab0:	75 1f                	jne    0x410ad1
410ab2:	e8 43 89 ff ff       	call   0x4093fa
410ab7:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410abd:	57                   	push   %edi
410abe:	57                   	push   %edi
410abf:	57                   	push   %edi
410ac0:	57                   	push   %edi
410ac1:	57                   	push   %edi
410ac2:	e8 89 6b ff ff       	call   0x407650
410ac7:	83 c4 14             	add    $0x14,%esp
410aca:	33 c0                	xor    %eax,%eax
410acc:	e9 d5 00 00 00       	jmp    0x410ba6
410ad1:	0f af 4d 0c          	imul   0xc(%ebp),%ecx
410ad5:	8b f1                	mov    %ecx,%esi
410ad7:	89 75 08             	mov    %esi,0x8(%ebp)
410ada:	3b f7                	cmp    %edi,%esi
410adc:	75 03                	jne    0x410ae1
410ade:	33 f6                	xor    %esi,%esi
410ae0:	46                   	inc    %esi
410ae1:	33 db                	xor    %ebx,%ebx
410ae3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
410ae6:	83 fe e0             	cmp    $0xffffffe0,%esi
410ae9:	77 69                	ja     0x410b54
410aeb:	83 3d f0 e5 41 00 03 	cmpl   $0x3,0x41e5f0
410af2:	75 4b                	jne    0x410b3f
410af4:	83 c6 0f             	add    $0xf,%esi
410af7:	83 e6 f0             	and    $0xfffffff0,%esi
410afa:	89 75 0c             	mov    %esi,0xc(%ebp)
410afd:	8b 45 08             	mov    0x8(%ebp),%eax
410b00:	3b 05 e0 e5 41 00    	cmp    0x41e5e0,%eax
410b06:	77 37                	ja     0x410b3f
410b08:	6a 04                	push   $0x4
410b0a:	e8 08 c0 ff ff       	call   0x40cb17
410b0f:	59                   	pop    %ecx
410b10:	89 7d fc             	mov    %edi,-0x4(%ebp)
410b13:	ff 75 08             	push   0x8(%ebp)
410b16:	e8 49 c8 ff ff       	call   0x40d364
410b1b:	59                   	pop    %ecx
410b1c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410b1f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410b26:	e8 5f 00 00 00       	call   0x410b8a
410b2b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
410b2e:	3b df                	cmp    %edi,%ebx
410b30:	74 11                	je     0x410b43
410b32:	ff 75 08             	push   0x8(%ebp)
410b35:	57                   	push   %edi
410b36:	53                   	push   %ebx
410b37:	e8 14 50 ff ff       	call   0x405b50
410b3c:	83 c4 0c             	add    $0xc,%esp
410b3f:	3b df                	cmp    %edi,%ebx
410b41:	75 61                	jne    0x410ba4
410b43:	56                   	push   %esi
410b44:	6a 08                	push   $0x8
410b46:	ff 35 5c dd 41 00    	push   0x41dd5c
410b4c:	ff 15 c0 70 41 00    	call   *0x4170c0
410b52:	8b d8                	mov    %eax,%ebx
410b54:	3b df                	cmp    %edi,%ebx
410b56:	75 4c                	jne    0x410ba4
410b58:	39 3d 88 e3 41 00    	cmp    %edi,0x41e388
410b5e:	74 33                	je     0x410b93
410b60:	56                   	push   %esi
410b61:	e8 9d b6 ff ff       	call   0x40c203
410b66:	59                   	pop    %ecx
410b67:	85 c0                	test   %eax,%eax
410b69:	0f 85 72 ff ff ff    	jne    0x410ae1
410b6f:	8b 45 10             	mov    0x10(%ebp),%eax
410b72:	3b c7                	cmp    %edi,%eax
410b74:	0f 84 50 ff ff ff    	je     0x410aca
410b7a:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410b80:	e9 45 ff ff ff       	jmp    0x410aca
410b85:	33 ff                	xor    %edi,%edi
410b87:	8b 75 0c             	mov    0xc(%ebp),%esi
410b8a:	6a 04                	push   $0x4
410b8c:	e8 ae be ff ff       	call   0x40ca3f
410b91:	59                   	pop    %ecx
410b92:	c3                   	ret
410b93:	3b df                	cmp    %edi,%ebx
410b95:	75 0d                	jne    0x410ba4
410b97:	8b 45 10             	mov    0x10(%ebp),%eax
410b9a:	3b c7                	cmp    %edi,%eax
410b9c:	74 06                	je     0x410ba4
410b9e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410ba4:	8b c3                	mov    %ebx,%eax
410ba6:	e8 e2 ca ff ff       	call   0x40d68d
410bab:	c3                   	ret
410bac:	6a 10                	push   $0x10
410bae:	68 58 ae 41 00       	push   $0x41ae58
410bb3:	e8 90 ca ff ff       	call   0x40d648
410bb8:	8b 5d 08             	mov    0x8(%ebp),%ebx
410bbb:	85 db                	test   %ebx,%ebx
410bbd:	75 0e                	jne    0x410bcd
410bbf:	ff 75 0c             	push   0xc(%ebp)
410bc2:	e8 88 a1 ff ff       	call   0x40ad4f
410bc7:	59                   	pop    %ecx
410bc8:	e9 cc 01 00 00       	jmp    0x410d99
410bcd:	8b 75 0c             	mov    0xc(%ebp),%esi
410bd0:	85 f6                	test   %esi,%esi
410bd2:	75 0c                	jne    0x410be0
410bd4:	53                   	push   %ebx
410bd5:	e8 79 58 ff ff       	call   0x406453
410bda:	59                   	pop    %ecx
410bdb:	e9 b7 01 00 00       	jmp    0x410d97
410be0:	83 3d f0 e5 41 00 03 	cmpl   $0x3,0x41e5f0
410be7:	0f 85 93 01 00 00    	jne    0x410d80
410bed:	33 ff                	xor    %edi,%edi
410bef:	89 7d e4             	mov    %edi,-0x1c(%ebp)
410bf2:	83 fe e0             	cmp    $0xffffffe0,%esi
410bf5:	0f 87 8a 01 00 00    	ja     0x410d85
410bfb:	6a 04                	push   $0x4
410bfd:	e8 15 bf ff ff       	call   0x40cb17
410c02:	59                   	pop    %ecx
410c03:	89 7d fc             	mov    %edi,-0x4(%ebp)
410c06:	53                   	push   %ebx
410c07:	e8 84 bf ff ff       	call   0x40cb90
410c0c:	59                   	pop    %ecx
410c0d:	89 45 e0             	mov    %eax,-0x20(%ebp)
410c10:	3b c7                	cmp    %edi,%eax
410c12:	0f 84 9e 00 00 00    	je     0x410cb6
410c18:	3b 35 e0 e5 41 00    	cmp    0x41e5e0,%esi
410c1e:	77 49                	ja     0x410c69
410c20:	56                   	push   %esi
410c21:	53                   	push   %ebx
410c22:	50                   	push   %eax
410c23:	e8 5d c4 ff ff       	call   0x40d085
410c28:	83 c4 0c             	add    $0xc,%esp
410c2b:	85 c0                	test   %eax,%eax
410c2d:	74 05                	je     0x410c34
410c2f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
410c32:	eb 35                	jmp    0x410c69
410c34:	56                   	push   %esi
410c35:	e8 2a c7 ff ff       	call   0x40d364
410c3a:	59                   	pop    %ecx
410c3b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410c3e:	3b c7                	cmp    %edi,%eax
410c40:	74 27                	je     0x410c69
410c42:	8b 43 fc             	mov    -0x4(%ebx),%eax
410c45:	48                   	dec    %eax
410c46:	3b c6                	cmp    %esi,%eax
410c48:	72 02                	jb     0x410c4c
410c4a:	8b c6                	mov    %esi,%eax
410c4c:	50                   	push   %eax
410c4d:	53                   	push   %ebx
410c4e:	ff 75 e4             	push   -0x1c(%ebp)
410c51:	e8 7a 4f ff ff       	call   0x405bd0
410c56:	53                   	push   %ebx
410c57:	e8 34 bf ff ff       	call   0x40cb90
410c5c:	89 45 e0             	mov    %eax,-0x20(%ebp)
410c5f:	53                   	push   %ebx
410c60:	50                   	push   %eax
410c61:	e8 55 bf ff ff       	call   0x40cbbb
410c66:	83 c4 18             	add    $0x18,%esp
410c69:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
410c6c:	75 48                	jne    0x410cb6
410c6e:	3b f7                	cmp    %edi,%esi
410c70:	75 06                	jne    0x410c78
410c72:	33 f6                	xor    %esi,%esi
410c74:	46                   	inc    %esi
410c75:	89 75 0c             	mov    %esi,0xc(%ebp)
410c78:	83 c6 0f             	add    $0xf,%esi
410c7b:	83 e6 f0             	and    $0xfffffff0,%esi
410c7e:	89 75 0c             	mov    %esi,0xc(%ebp)
410c81:	56                   	push   %esi
410c82:	57                   	push   %edi
410c83:	ff 35 5c dd 41 00    	push   0x41dd5c
410c89:	ff 15 c0 70 41 00    	call   *0x4170c0
410c8f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410c92:	3b c7                	cmp    %edi,%eax
410c94:	74 20                	je     0x410cb6
410c96:	8b 43 fc             	mov    -0x4(%ebx),%eax
410c99:	48                   	dec    %eax
410c9a:	3b c6                	cmp    %esi,%eax
410c9c:	72 02                	jb     0x410ca0
410c9e:	8b c6                	mov    %esi,%eax
410ca0:	50                   	push   %eax
410ca1:	53                   	push   %ebx
410ca2:	ff 75 e4             	push   -0x1c(%ebp)
410ca5:	e8 26 4f ff ff       	call   0x405bd0
410caa:	53                   	push   %ebx
410cab:	ff 75 e0             	push   -0x20(%ebp)
410cae:	e8 08 bf ff ff       	call   0x40cbbb
410cb3:	83 c4 14             	add    $0x14,%esp
410cb6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410cbd:	e8 2e 00 00 00       	call   0x410cf0
410cc2:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
410cc6:	75 31                	jne    0x410cf9
410cc8:	85 f6                	test   %esi,%esi
410cca:	75 01                	jne    0x410ccd
410ccc:	46                   	inc    %esi
410ccd:	83 c6 0f             	add    $0xf,%esi
410cd0:	83 e6 f0             	and    $0xfffffff0,%esi
410cd3:	89 75 0c             	mov    %esi,0xc(%ebp)
410cd6:	56                   	push   %esi
410cd7:	53                   	push   %ebx
410cd8:	6a 00                	push   $0x0
410cda:	ff 35 5c dd 41 00    	push   0x41dd5c
410ce0:	ff 15 18 71 41 00    	call   *0x417118
410ce6:	8b f8                	mov    %eax,%edi
410ce8:	eb 12                	jmp    0x410cfc
410cea:	8b 75 0c             	mov    0xc(%ebp),%esi
410ced:	8b 5d 08             	mov    0x8(%ebp),%ebx
410cf0:	6a 04                	push   $0x4
410cf2:	e8 48 bd ff ff       	call   0x40ca3f
410cf7:	59                   	pop    %ecx
410cf8:	c3                   	ret
410cf9:	8b 7d e4             	mov    -0x1c(%ebp),%edi
410cfc:	85 ff                	test   %edi,%edi
410cfe:	0f 85 bf 00 00 00    	jne    0x410dc3
410d04:	39 3d 88 e3 41 00    	cmp    %edi,0x41e388
410d0a:	74 2c                	je     0x410d38
410d0c:	56                   	push   %esi
410d0d:	e8 f1 b4 ff ff       	call   0x40c203
410d12:	59                   	pop    %ecx
410d13:	85 c0                	test   %eax,%eax
410d15:	0f 85 d2 fe ff ff    	jne    0x410bed
410d1b:	e8 da 86 ff ff       	call   0x4093fa
410d20:	39 7d e0             	cmp    %edi,-0x20(%ebp)
410d23:	75 6c                	jne    0x410d91
410d25:	8b f0                	mov    %eax,%esi
410d27:	ff 15 b0 70 41 00    	call   *0x4170b0
410d2d:	50                   	push   %eax
410d2e:	e8 8c 86 ff ff       	call   0x4093bf
410d33:	59                   	pop    %ecx
410d34:	89 06                	mov    %eax,(%esi)
410d36:	eb 5f                	jmp    0x410d97
410d38:	85 ff                	test   %edi,%edi
410d3a:	0f 85 83 00 00 00    	jne    0x410dc3
410d40:	e8 b5 86 ff ff       	call   0x4093fa
410d45:	39 7d e0             	cmp    %edi,-0x20(%ebp)
410d48:	74 68                	je     0x410db2
410d4a:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410d50:	eb 71                	jmp    0x410dc3
410d52:	85 f6                	test   %esi,%esi
410d54:	75 01                	jne    0x410d57
410d56:	46                   	inc    %esi
410d57:	56                   	push   %esi
410d58:	53                   	push   %ebx
410d59:	6a 00                	push   $0x0
410d5b:	ff 35 5c dd 41 00    	push   0x41dd5c
410d61:	ff 15 18 71 41 00    	call   *0x417118
410d67:	8b f8                	mov    %eax,%edi
410d69:	85 ff                	test   %edi,%edi
410d6b:	75 56                	jne    0x410dc3
410d6d:	39 05 88 e3 41 00    	cmp    %eax,0x41e388
410d73:	74 34                	je     0x410da9
410d75:	56                   	push   %esi
410d76:	e8 88 b4 ff ff       	call   0x40c203
410d7b:	59                   	pop    %ecx
410d7c:	85 c0                	test   %eax,%eax
410d7e:	74 1f                	je     0x410d9f
410d80:	83 fe e0             	cmp    $0xffffffe0,%esi
410d83:	76 cd                	jbe    0x410d52
410d85:	56                   	push   %esi
410d86:	e8 78 b4 ff ff       	call   0x40c203
410d8b:	59                   	pop    %ecx
410d8c:	e8 69 86 ff ff       	call   0x4093fa
410d91:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410d97:	33 c0                	xor    %eax,%eax
410d99:	e8 ef c8 ff ff       	call   0x40d68d
410d9e:	c3                   	ret
410d9f:	e8 56 86 ff ff       	call   0x4093fa
410da4:	e9 7c ff ff ff       	jmp    0x410d25
410da9:	85 ff                	test   %edi,%edi
410dab:	75 16                	jne    0x410dc3
410dad:	e8 48 86 ff ff       	call   0x4093fa
410db2:	8b f0                	mov    %eax,%esi
410db4:	ff 15 b0 70 41 00    	call   *0x4170b0
410dba:	50                   	push   %eax
410dbb:	e8 ff 85 ff ff       	call   0x4093bf
410dc0:	89 06                	mov    %eax,(%esi)
410dc2:	59                   	pop    %ecx
410dc3:	8b c7                	mov    %edi,%eax
410dc5:	eb d2                	jmp    0x410d99
410dc7:	55                   	push   %ebp
410dc8:	8b ec                	mov    %esp,%ebp
410dca:	83 ec 10             	sub    $0x10,%esp
410dcd:	85 f6                	test   %esi,%esi
410dcf:	0f b7 48 42          	movzwl 0x42(%eax),%ecx
410dd3:	0f b7 50 44          	movzwl 0x44(%eax),%edx
410dd7:	89 4d fc             	mov    %ecx,-0x4(%ebp)