40f98e:	eb 45                	jmp    0x40f9d5
40f990:	40                   	inc    %eax
40f991:	85 f6                	test   %esi,%esi
40f993:	74 35                	je     0x40f9ca
40f995:	3b c7                	cmp    %edi,%eax
40f997:	76 27                	jbe    0x40f9c0
40f999:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
40f99d:	74 1a                	je     0x40f9b9
40f99f:	c6 06 00             	movb   $0x0,(%esi)
40f9a2:	3b f8                	cmp    %eax,%edi
40f9a4:	77 13                	ja     0x40f9b9
40f9a6:	e8 d2 87 ff ff       	call   0x40817d
40f9ab:	6a 22                	push   $0x22
40f9ad:	5e                   	pop    %esi
40f9ae:	89 30                	mov    %esi,(%eax)
40f9b0:	e8 40 bc ff ff       	call   0x40b5f5
40f9b5:	8b c6                	mov    %esi,%eax
40f9b7:	eb 1c                	jmp    0x40f9d5
40f9b9:	6a 50                	push   $0x50
40f9bb:	8b c7                	mov    %edi,%eax
40f9bd:	59                   	pop    %ecx
40f9be:	eb 03                	jmp    0x40f9c3
40f9c0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f9c3:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
40f9c8:	eb 03                	jmp    0x40f9cd
40f9ca:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f9cd:	85 db                	test   %ebx,%ebx
40f9cf:	74 02                	je     0x40f9d3
40f9d1:	89 03                	mov    %eax,(%ebx)
40f9d3:	8b c1                	mov    %ecx,%eax
40f9d5:	5b                   	pop    %ebx
40f9d6:	5f                   	pop    %edi
40f9d7:	5e                   	pop    %esi
40f9d8:	c9                   	leave
40f9d9:	c3                   	ret
40f9da:	55                   	push   %ebp
40f9db:	8b ec                	mov    %esp,%ebp
40f9dd:	ff 75 08             	push   0x8(%ebp)
40f9e0:	ff 15 0c 91 41 00    	call   *0x41910c
40f9e6:	5d                   	pop    %ebp
40f9e7:	c3                   	ret
40f9e8:	55                   	push   %ebp
40f9e9:	8b ec                	mov    %esp,%ebp
40f9eb:	ff 75 08             	push   0x8(%ebp)
40f9ee:	ff 15 18 91 41 00    	call   *0x419118
40f9f4:	5d                   	pop    %ebp
40f9f5:	c3                   	ret
40f9f6:	55                   	push   %ebp
40f9f7:	8b ec                	mov    %esp,%ebp
40f9f9:	ff 75 08             	push   0x8(%ebp)
40f9fc:	ff 15 10 91 41 00    	call   *0x419110
40fa02:	5d                   	pop    %ebp
40fa03:	c3                   	ret
40fa04:	55                   	push   %ebp
40fa05:	8b ec                	mov    %esp,%ebp
40fa07:	ff 75 0c             	push   0xc(%ebp)
40fa0a:	ff 75 08             	push   0x8(%ebp)
40fa0d:	ff 15 14 91 41 00    	call   *0x419114
40fa13:	5d                   	pop    %ebp
40fa14:	c3                   	ret
40fa15:	55                   	push   %ebp
40fa16:	8b ec                	mov    %esp,%ebp
40fa18:	51                   	push   %ecx
40fa19:	56                   	push   %esi
40fa1a:	8b 35 60 10 42 00    	mov    0x421060,%esi
40fa20:	85 f6                	test   %esi,%esi
40fa22:	79 33                	jns    0x40fa57
40fa24:	68 08 bc 41 00       	push   $0x41bc08
40fa29:	33 f6                	xor    %esi,%esi
40fa2b:	68 1c bc 41 00       	push   $0x41bc1c
40fa30:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fa33:	ff 15 1c 91 41 00    	call   *0x41911c
40fa39:	50                   	push   %eax
40fa3a:	ff 15 2c 90 41 00    	call   *0x41902c
40fa40:	85 c0                	test   %eax,%eax
40fa42:	74 0d                	je     0x40fa51
40fa44:	56                   	push   %esi
40fa45:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40fa48:	51                   	push   %ecx
40fa49:	ff d0                	call   *%eax
40fa4b:	83 f8 7a             	cmp    $0x7a,%eax
40fa4e:	75 01                	jne    0x40fa51
40fa50:	46                   	inc    %esi
40fa51:	89 35 60 10 42 00    	mov    %esi,0x421060
40fa57:	33 c0                	xor    %eax,%eax
40fa59:	85 f6                	test   %esi,%esi
40fa5b:	0f 9f c0             	setg   %al
40fa5e:	5e                   	pop    %esi
40fa5f:	c9                   	leave
40fa60:	c3                   	ret
40fa61:	55                   	push   %ebp
40fa62:	8b ec                	mov    %esp,%ebp
40fa64:	ff 75 08             	push   0x8(%ebp)
40fa67:	ff 15 08 91 41 00    	call   *0x419108
40fa6d:	5d                   	pop    %ebp
40fa6e:	c3                   	ret
40fa6f:	55                   	push   %ebp
40fa70:	8b ec                	mov    %esp,%ebp
40fa72:	ff 75 08             	push   0x8(%ebp)
40fa75:	ff 15 04 90 41 00    	call   *0x419004
40fa7b:	50                   	push   %eax
40fa7c:	ff 15 30 90 41 00    	call   *0x419030
40fa82:	5d                   	pop    %ebp
40fa83:	c3                   	ret
40fa84:	55                   	push   %ebp
40fa85:	8b ec                	mov    %esp,%ebp
40fa87:	6a 00                	push   $0x0
40fa89:	ff 15 08 91 41 00    	call   *0x419108
40fa8f:	ff 75 08             	push   0x8(%ebp)
40fa92:	ff 15 04 91 41 00    	call   *0x419104
40fa98:	5d                   	pop    %ebp
40fa99:	c3                   	ret
40fa9a:	55                   	push   %ebp
40fa9b:	8b ec                	mov    %esp,%ebp
40fa9d:	51                   	push   %ecx
40fa9e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40faa2:	56                   	push   %esi
40faa3:	8d 45 fc             	lea    -0x4(%ebp),%eax
40faa6:	50                   	push   %eax
40faa7:	ff 75 0c             	push   0xc(%ebp)
40faaa:	ff 75 08             	push   0x8(%ebp)
40faad:	e8 d5 01 00 00       	call   0x40fc87
40fab2:	8b f0                	mov    %eax,%esi
40fab4:	83 c4 0c             	add    $0xc,%esp
40fab7:	85 f6                	test   %esi,%esi
40fab9:	75 18                	jne    0x40fad3
40fabb:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40fabe:	74 13                	je     0x40fad3
40fac0:	e8 b8 86 ff ff       	call   0x40817d
40fac5:	85 c0                	test   %eax,%eax
40fac7:	74 0a                	je     0x40fad3
40fac9:	e8 af 86 ff ff       	call   0x40817d
40face:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fad1:	89 08                	mov    %ecx,(%eax)
40fad3:	8b c6                	mov    %esi,%eax
40fad5:	5e                   	pop    %esi
40fad6:	c9                   	leave
40fad7:	c3                   	ret
40fad8:	55                   	push   %ebp
40fad9:	8b ec                	mov    %esp,%ebp
40fadb:	56                   	push   %esi
40fadc:	8b 75 08             	mov    0x8(%ebp),%esi
40fadf:	85 f6                	test   %esi,%esi
40fae1:	74 13                	je     0x40faf6
40fae3:	8b 55 0c             	mov    0xc(%ebp),%edx
40fae6:	85 d2                	test   %edx,%edx
40fae8:	74 0c                	je     0x40faf6
40faea:	8b 4d 10             	mov    0x10(%ebp),%ecx
40faed:	85 c9                	test   %ecx,%ecx
40faef:	75 19                	jne    0x40fb0a
40faf1:	33 c0                	xor    %eax,%eax
40faf3:	66 89 06             	mov    %ax,(%esi)
40faf6:	e8 82 86 ff ff       	call   0x40817d
40fafb:	6a 16                	push   $0x16
40fafd:	5e                   	pop    %esi
40fafe:	89 30                	mov    %esi,(%eax)
40fb00:	e8 f0 ba ff ff       	call   0x40b5f5
40fb05:	8b c6                	mov    %esi,%eax
40fb07:	5e                   	pop    %esi
40fb08:	5d                   	pop    %ebp
40fb09:	c3                   	ret
40fb0a:	57                   	push   %edi
40fb0b:	8b fe                	mov    %esi,%edi
40fb0d:	2b f9                	sub    %ecx,%edi
40fb0f:	0f b7 01             	movzwl (%ecx),%eax
40fb12:	66 89 04 0f          	mov    %ax,(%edi,%ecx,1)
40fb16:	8d 49 02             	lea    0x2(%ecx),%ecx
40fb19:	66 85 c0             	test   %ax,%ax
40fb1c:	74 03                	je     0x40fb21
40fb1e:	4a                   	dec    %edx
40fb1f:	75 ee                	jne    0x40fb0f
40fb21:	33 c0                	xor    %eax,%eax
40fb23:	5f                   	pop    %edi
40fb24:	85 d2                	test   %edx,%edx
40fb26:	75 df                	jne    0x40fb07
40fb28:	66 89 06             	mov    %ax,(%esi)
40fb2b:	e8 4d 86 ff ff       	call   0x40817d
40fb30:	6a 22                	push   $0x22
40fb32:	eb c9                	jmp    0x40fafd
40fb34:	55                   	push   %ebp
40fb35:	8b ec                	mov    %esp,%ebp
40fb37:	6a 00                	push   $0x0
40fb39:	ff 75 10             	push   0x10(%ebp)
40fb3c:	ff 75 0c             	push   0xc(%ebp)
40fb3f:	ff 75 08             	push   0x8(%ebp)
40fb42:	ff 15 2c 91 41 00    	call   *0x41912c
40fb48:	5d                   	pop    %ebp
40fb49:	c3                   	ret
40fb4a:	55                   	push   %ebp
40fb4b:	8b ec                	mov    %esp,%ebp
40fb4d:	ff 75 14             	push   0x14(%ebp)
40fb50:	ff 75 10             	push   0x10(%ebp)
40fb53:	ff 75 0c             	push   0xc(%ebp)
40fb56:	ff 75 08             	push   0x8(%ebp)
40fb59:	ff 15 70 90 41 00    	call   *0x419070
40fb5f:	5d                   	pop    %ebp
40fb60:	c3                   	ret
40fb61:	55                   	push   %ebp
40fb62:	8b ec                	mov    %esp,%ebp
40fb64:	ff 75 0c             	push   0xc(%ebp)
40fb67:	ff 75 08             	push   0x8(%ebp)
40fb6a:	ff 15 20 91 41 00    	call   *0x419120
40fb70:	5d                   	pop    %ebp
40fb71:	c3                   	ret
40fb72:	55                   	push   %ebp
40fb73:	8b ec                	mov    %esp,%ebp
40fb75:	ff 75 08             	push   0x8(%ebp)
40fb78:	ff 15 28 91 41 00    	call   *0x419128
40fb7e:	5d                   	pop    %ebp
40fb7f:	c3                   	ret
40fb80:	55                   	push   %ebp
40fb81:	8b ec                	mov    %esp,%ebp
40fb83:	33 c0                	xor    %eax,%eax
40fb85:	50                   	push   %eax
40fb86:	50                   	push   %eax
40fb87:	50                   	push   %eax
40fb88:	ff 75 1c             	push   0x1c(%ebp)
40fb8b:	ff 75 18             	push   0x18(%ebp)
40fb8e:	ff 75 14             	push   0x14(%ebp)
40fb91:	ff 75 10             	push   0x10(%ebp)
40fb94:	ff 75 0c             	push   0xc(%ebp)
40fb97:	ff 75 08             	push   0x8(%ebp)
40fb9a:	ff 15 24 91 41 00    	call   *0x419124
40fba0:	5d                   	pop    %ebp
40fba1:	c3                   	ret
40fba2:	cc                   	int3
40fba3:	cc                   	int3
40fba4:	cc                   	int3
40fba5:	cc                   	int3
40fba6:	cc                   	int3
40fba7:	cc                   	int3
40fba8:	cc                   	int3
40fba9:	cc                   	int3
40fbaa:	cc                   	int3
40fbab:	cc                   	int3
40fbac:	cc                   	int3
40fbad:	cc                   	int3
40fbae:	cc                   	int3
40fbaf:	cc                   	int3
40fbb0:	51                   	push   %ecx
40fbb1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40fbb5:	2b c8                	sub    %eax,%ecx
40fbb7:	83 e1 0f             	and    $0xf,%ecx
40fbba:	03 c1                	add    %ecx,%eax
40fbbc:	1b c9                	sbb    %ecx,%ecx
40fbbe:	0b c1                	or     %ecx,%eax
40fbc0:	59                   	pop    %ecx
40fbc1:	e9 ca 42 00 00       	jmp    0x413e90
40fbc6:	51                   	push   %ecx
40fbc7:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40fbcb:	2b c8                	sub    %eax,%ecx
40fbcd:	83 e1 07             	and    $0x7,%ecx
40fbd0:	03 c1                	add    %ecx,%eax
40fbd2:	1b c9                	sbb    %ecx,%ecx
40fbd4:	0b c1                	or     %ecx,%eax
40fbd6:	59                   	pop    %ecx
40fbd7:	e9 b4 42 00 00       	jmp    0x413e90
40fbdc:	55                   	push   %ebp
40fbdd:	8b ec                	mov    %esp,%ebp
40fbdf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40fbe3:	75 0b                	jne    0x40fbf0
40fbe5:	ff 75 0c             	push   0xc(%ebp)
40fbe8:	e8 50 86 ff ff       	call   0x40823d
40fbed:	59                   	pop    %ecx
40fbee:	5d                   	pop    %ebp
40fbef:	c3                   	ret
40fbf0:	56                   	push   %esi
40fbf1:	8b 75 0c             	mov    0xc(%ebp),%esi
40fbf4:	85 f6                	test   %esi,%esi
40fbf6:	75 0d                	jne    0x40fc05
40fbf8:	ff 75 08             	push   0x8(%ebp)
40fbfb:	e8 18 55 ff ff       	call   0x405118
40fc00:	59                   	pop    %ecx
40fc01:	33 c0                	xor    %eax,%eax
40fc03:	eb 4d                	jmp    0x40fc52
40fc05:	53                   	push   %ebx
40fc06:	eb 30                	jmp    0x40fc38
40fc08:	85 f6                	test   %esi,%esi
40fc0a:	75 01                	jne    0x40fc0d
40fc0c:	46                   	inc    %esi
40fc0d:	56                   	push   %esi
40fc0e:	ff 75 08             	push   0x8(%ebp)
40fc11:	6a 00                	push   $0x0
40fc13:	ff 35 54 27 42 00    	push   0x422754
40fc19:	ff 15 30 91 41 00    	call   *0x419130
40fc1f:	8b d8                	mov    %eax,%ebx
40fc21:	85 db                	test   %ebx,%ebx
40fc23:	75 5e                	jne    0x40fc83
40fc25:	39 05 90 28 42 00    	cmp    %eax,0x422890
40fc2b:	74 40                	je     0x40fc6d
40fc2d:	56                   	push   %esi
40fc2e:	e8 df b7 ff ff       	call   0x40b412
40fc33:	59                   	pop    %ecx
40fc34:	85 c0                	test   %eax,%eax
40fc36:	74 1d                	je     0x40fc55
40fc38:	83 fe e0             	cmp    $0xffffffe0,%esi
40fc3b:	76 cb                	jbe    0x40fc08
40fc3d:	56                   	push   %esi
40fc3e:	e8 cf b7 ff ff       	call   0x40b412
40fc43:	59                   	pop    %ecx
40fc44:	e8 34 85 ff ff       	call   0x40817d
40fc49:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
40fc4f:	33 c0                	xor    %eax,%eax
40fc51:	5b                   	pop    %ebx
40fc52:	5e                   	pop    %esi
40fc53:	5d                   	pop    %ebp
40fc54:	c3                   	ret
40fc55:	e8 23 85 ff ff       	call   0x40817d
40fc5a:	8b f0                	mov    %eax,%esi
40fc5c:	ff 15 18 90 41 00    	call   *0x419018
40fc62:	50                   	push   %eax
40fc63:	e8 28 85 ff ff       	call   0x408190
40fc68:	59                   	pop    %ecx
40fc69:	89 06                	mov    %eax,(%esi)
40fc6b:	eb e2                	jmp    0x40fc4f
40fc6d:	e8 0b 85 ff ff       	call   0x40817d
40fc72:	8b f0                	mov    %eax,%esi
40fc74:	ff 15 18 90 41 00    	call   *0x419018
40fc7a:	50                   	push   %eax
40fc7b:	e8 10 85 ff ff       	call   0x408190
40fc80:	59                   	pop    %ecx
40fc81:	89 06                	mov    %eax,(%esi)
40fc83:	8b c3                	mov    %ebx,%eax
40fc85:	eb ca                	jmp    0x40fc51
40fc87:	55                   	push   %ebp
40fc88:	8b ec                	mov    %esp,%ebp
40fc8a:	56                   	push   %esi
40fc8b:	8b 75 08             	mov    0x8(%ebp),%esi
40fc8e:	85 f6                	test   %esi,%esi
40fc90:	74 1b                	je     0x40fcad
40fc92:	6a e0                	push   $0xffffffe0
40fc94:	33 d2                	xor    %edx,%edx
40fc96:	58                   	pop    %eax
40fc97:	f7 f6                	div    %esi
40fc99:	3b 45 0c             	cmp    0xc(%ebp),%eax
40fc9c:	73 0f                	jae    0x40fcad
40fc9e:	e8 da 84 ff ff       	call   0x40817d
40fca3:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
40fca9:	33 c0                	xor    %eax,%eax
40fcab:	eb 51                	jmp    0x40fcfe
40fcad:	0f af 75 0c          	imul   0xc(%ebp),%esi
40fcb1:	85 f6                	test   %esi,%esi
40fcb3:	75 01                	jne    0x40fcb6
40fcb5:	46                   	inc    %esi
40fcb6:	33 c9                	xor    %ecx,%ecx
40fcb8:	83 fe e0             	cmp    $0xffffffe0,%esi
40fcbb:	77 15                	ja     0x40fcd2
40fcbd:	56                   	push   %esi
40fcbe:	6a 08                	push   $0x8
40fcc0:	ff 35 54 27 42 00    	push   0x422754