415ccb:	8d 45 f4             	lea    -0xc(%ebp),%eax
415cce:	50                   	push   %eax
415ccf:	6a 01                	push   $0x1
415cd1:	8d 45 08             	lea    0x8(%ebp),%eax
415cd4:	50                   	push   %eax
415cd5:	56                   	push   %esi
415cd6:	ff 15 80 a1 41 00    	call   *0x41a180
415cdc:	50                   	push   %eax
415cdd:	ff 15 70 a0 41 00    	call   *0x41a070
415ce3:	8b 0d 64 c2 42 00    	mov    0x42c264,%ecx
415ce9:	83 f9 ff             	cmp    $0xffffffff,%ecx
415cec:	74 a2                	je     0x415c90
415cee:	56                   	push   %esi
415cef:	8d 55 f0             	lea    -0x10(%ebp),%edx
415cf2:	52                   	push   %edx
415cf3:	50                   	push   %eax
415cf4:	8d 45 f4             	lea    -0xc(%ebp),%eax
415cf7:	50                   	push   %eax
415cf8:	51                   	push   %ecx
415cf9:	ff 15 7c a1 41 00    	call   *0x41a17c
415cff:	85 c0                	test   %eax,%eax
415d01:	74 8d                	je     0x415c90
415d03:	66 8b 45 08          	mov    0x8(%ebp),%ax
415d07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415d0a:	33 cd                	xor    %ebp,%ecx
415d0c:	5e                   	pop    %esi
415d0d:	e8 14 09 ff ff       	call   0x406626
415d12:	c9                   	leave
415d13:	c3                   	ret
415d14:	c7 05 d0 bf 42 00 01 	movl   $0x1,0x42bfd0
415d1b:	00 00 00
415d1e:	eb e3                	jmp    0x415d03
415d20:	8b ff                	mov    %edi,%edi
415d22:	55                   	push   %ebp
415d23:	8b ec                	mov    %esp,%ebp
415d25:	83 ec 10             	sub    $0x10,%esp
415d28:	53                   	push   %ebx
415d29:	56                   	push   %esi
415d2a:	8b 75 0c             	mov    0xc(%ebp),%esi
415d2d:	33 db                	xor    %ebx,%ebx
415d2f:	3b f3                	cmp    %ebx,%esi
415d31:	74 15                	je     0x415d48
415d33:	39 5d 10             	cmp    %ebx,0x10(%ebp)
415d36:	74 10                	je     0x415d48
415d38:	38 1e                	cmp    %bl,(%esi)
415d3a:	75 12                	jne    0x415d4e
415d3c:	8b 45 08             	mov    0x8(%ebp),%eax
415d3f:	3b c3                	cmp    %ebx,%eax
415d41:	74 05                	je     0x415d48
415d43:	33 c9                	xor    %ecx,%ecx
415d45:	66 89 08             	mov    %cx,(%eax)
415d48:	33 c0                	xor    %eax,%eax
415d4a:	5e                   	pop    %esi
415d4b:	5b                   	pop    %ebx
415d4c:	c9                   	leave
415d4d:	c3                   	ret
415d4e:	ff 75 14             	push   0x14(%ebp)
415d51:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415d54:	e8 0b 1b ff ff       	call   0x407864
415d59:	8b 45 f0             	mov    -0x10(%ebp),%eax
415d5c:	39 58 14             	cmp    %ebx,0x14(%eax)
415d5f:	75 1f                	jne    0x415d80
415d61:	8b 45 08             	mov    0x8(%ebp),%eax
415d64:	3b c3                	cmp    %ebx,%eax
415d66:	74 07                	je     0x415d6f
415d68:	66 0f b6 0e          	movzbw (%esi),%cx
415d6c:	66 89 08             	mov    %cx,(%eax)
415d6f:	38 5d fc             	cmp    %bl,-0x4(%ebp)
415d72:	74 07                	je     0x415d7b
415d74:	8b 45 f8             	mov    -0x8(%ebp),%eax
415d77:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
415d7b:	33 c0                	xor    %eax,%eax
415d7d:	40                   	inc    %eax
415d7e:	eb ca                	jmp    0x415d4a
415d80:	8d 45 f0             	lea    -0x10(%ebp),%eax
415d83:	50                   	push   %eax
415d84:	0f b6 06             	movzbl (%esi),%eax
415d87:	50                   	push   %eax
415d88:	e8 1b d0 ff ff       	call   0x412da8
415d8d:	59                   	pop    %ecx
415d8e:	59                   	pop    %ecx
415d8f:	85 c0                	test   %eax,%eax
415d91:	74 7d                	je     0x415e10
415d93:	8b 45 f0             	mov    -0x10(%ebp),%eax
415d96:	8b 88 ac 00 00 00    	mov    0xac(%eax),%ecx
415d9c:	83 f9 01             	cmp    $0x1,%ecx
415d9f:	7e 25                	jle    0x415dc6
415da1:	39 4d 10             	cmp    %ecx,0x10(%ebp)
415da4:	7c 20                	jl     0x415dc6
415da6:	33 d2                	xor    %edx,%edx
415da8:	39 5d 08             	cmp    %ebx,0x8(%ebp)
415dab:	0f 95 c2             	setne  %dl
415dae:	52                   	push   %edx
415daf:	ff 75 08             	push   0x8(%ebp)
415db2:	51                   	push   %ecx
415db3:	56                   	push   %esi
415db4:	6a 09                	push   $0x9
415db6:	ff 70 04             	push   0x4(%eax)
415db9:	ff 15 80 a0 41 00    	call   *0x41a080
415dbf:	85 c0                	test   %eax,%eax
415dc1:	8b 45 f0             	mov    -0x10(%ebp),%eax
415dc4:	75 10                	jne    0x415dd6
415dc6:	8b 4d 10             	mov    0x10(%ebp),%ecx
415dc9:	3b 88 ac 00 00 00    	cmp    0xac(%eax),%ecx
415dcf:	72 20                	jb     0x415df1
415dd1:	38 5e 01             	cmp    %bl,0x1(%esi)
415dd4:	74 1b                	je     0x415df1
415dd6:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
415ddc:	38 5d fc             	cmp    %bl,-0x4(%ebp)
415ddf:	0f 84 65 ff ff ff    	je     0x415d4a
415de5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415de8:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
415dec:	e9 59 ff ff ff       	jmp    0x415d4a
415df1:	e8 df fc fe ff       	call   0x405ad5
415df6:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
415dfc:	38 5d fc             	cmp    %bl,-0x4(%ebp)
415dff:	74 07                	je     0x415e08
415e01:	8b 45 f8             	mov    -0x8(%ebp),%eax
415e04:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
415e08:	83 c8 ff             	or     $0xffffffff,%eax
415e0b:	e9 3a ff ff ff       	jmp    0x415d4a
415e10:	33 c0                	xor    %eax,%eax
415e12:	39 5d 08             	cmp    %ebx,0x8(%ebp)
415e15:	0f 95 c0             	setne  %al
415e18:	50                   	push   %eax
415e19:	ff 75 08             	push   0x8(%ebp)
415e1c:	8b 45 f0             	mov    -0x10(%ebp),%eax
415e1f:	6a 01                	push   $0x1
415e21:	56                   	push   %esi
415e22:	6a 09                	push   $0x9
415e24:	ff 70 04             	push   0x4(%eax)
415e27:	ff 15 80 a0 41 00    	call   *0x41a080
415e2d:	85 c0                	test   %eax,%eax
415e2f:	0f 85 3a ff ff ff    	jne    0x415d6f
415e35:	eb ba                	jmp    0x415df1
415e37:	8b ff                	mov    %edi,%edi
415e39:	55                   	push   %ebp
415e3a:	8b ec                	mov    %esp,%ebp
415e3c:	6a 00                	push   $0x0
415e3e:	ff 75 10             	push   0x10(%ebp)
415e41:	ff 75 0c             	push   0xc(%ebp)
415e44:	ff 75 08             	push   0x8(%ebp)
415e47:	e8 d4 fe ff ff       	call   0x415d20
415e4c:	83 c4 10             	add    $0x10,%esp
415e4f:	5d                   	pop    %ebp
415e50:	c3                   	ret
415e51:	6a 02                	push   $0x2
415e53:	e8 44 68 ff ff       	call   0x40c69c
415e58:	59                   	pop    %ecx
415e59:	c3                   	ret
415e5a:	8b ff                	mov    %edi,%edi
415e5c:	55                   	push   %ebp
415e5d:	8b ec                	mov    %esp,%ebp
415e5f:	83 ec 18             	sub    $0x18,%esp
415e62:	53                   	push   %ebx
415e63:	56                   	push   %esi
415e64:	57                   	push   %edi
415e65:	33 db                	xor    %ebx,%ebx
415e67:	6a 01                	push   $0x1
415e69:	53                   	push   %ebx
415e6a:	53                   	push   %ebx
415e6b:	ff 75 08             	push   0x8(%ebp)
415e6e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
415e71:	89 5d f4             	mov    %ebx,-0xc(%ebp)
415e74:	e8 15 c3 ff ff       	call   0x41218e
415e79:	89 45 e8             	mov    %eax,-0x18(%ebp)
415e7c:	23 c2                	and    %edx,%eax
415e7e:	83 c4 10             	add    $0x10,%esp
415e81:	89 55 ec             	mov    %edx,-0x14(%ebp)
415e84:	83 f8 ff             	cmp    $0xffffffff,%eax
415e87:	74 59                	je     0x415ee2
415e89:	6a 02                	push   $0x2
415e8b:	53                   	push   %ebx
415e8c:	53                   	push   %ebx
415e8d:	ff 75 08             	push   0x8(%ebp)
415e90:	e8 f9 c2 ff ff       	call   0x41218e
415e95:	8b c8                	mov    %eax,%ecx
415e97:	23 ca                	and    %edx,%ecx
415e99:	83 c4 10             	add    $0x10,%esp
415e9c:	83 f9 ff             	cmp    $0xffffffff,%ecx
415e9f:	74 41                	je     0x415ee2
415ea1:	8b 75 0c             	mov    0xc(%ebp),%esi
415ea4:	8b 7d 10             	mov    0x10(%ebp),%edi
415ea7:	2b f0                	sub    %eax,%esi
415ea9:	1b fa                	sbb    %edx,%edi
415eab:	0f 88 c6 00 00 00    	js     0x415f77
415eb1:	7f 08                	jg     0x415ebb
415eb3:	3b f3                	cmp    %ebx,%esi
415eb5:	0f 86 bc 00 00 00    	jbe    0x415f77
415ebb:	bb 00 10 00 00       	mov    $0x1000,%ebx
415ec0:	53                   	push   %ebx
415ec1:	6a 08                	push   $0x8
415ec3:	ff 15 88 a1 41 00    	call   *0x41a188
415ec9:	50                   	push   %eax
415eca:	ff 15 d4 a0 41 00    	call   *0x41a0d4
415ed0:	89 45 fc             	mov    %eax,-0x4(%ebp)
415ed3:	85 c0                	test   %eax,%eax
415ed5:	75 17                	jne    0x415eee
415ed7:	e8 f9 fb fe ff       	call   0x405ad5
415edc:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
415ee2:	e8 ee fb fe ff       	call   0x405ad5
415ee7:	8b 00                	mov    (%eax),%eax
415ee9:	5f                   	pop    %edi
415eea:	5e                   	pop    %esi
415eeb:	5b                   	pop    %ebx
415eec:	c9                   	leave
415eed:	c3                   	ret
415eee:	68 00 80 00 00       	push   $0x8000
415ef3:	ff 75 08             	push   0x8(%ebp)
415ef6:	e8 d7 06 00 00       	call   0x4165d2
415efb:	59                   	pop    %ecx
415efc:	59                   	pop    %ecx
415efd:	89 45 f8             	mov    %eax,-0x8(%ebp)
415f00:	85 ff                	test   %edi,%edi
415f02:	7c 0a                	jl     0x415f0e
415f04:	7f 04                	jg     0x415f0a
415f06:	3b f3                	cmp    %ebx,%esi
415f08:	72 04                	jb     0x415f0e
415f0a:	8b c3                	mov    %ebx,%eax
415f0c:	eb 02                	jmp    0x415f10
415f0e:	8b c6                	mov    %esi,%eax
415f10:	50                   	push   %eax
415f11:	ff 75 fc             	push   -0x4(%ebp)
415f14:	ff 75 08             	push   0x8(%ebp)
415f17:	e8 10 c4 ff ff       	call   0x41232c
415f1c:	83 c4 0c             	add    $0xc,%esp
415f1f:	83 f8 ff             	cmp    $0xffffffff,%eax
415f22:	74 36                	je     0x415f5a
415f24:	99                   	cltd
415f25:	2b f0                	sub    %eax,%esi
415f27:	1b fa                	sbb    %edx,%edi
415f29:	78 06                	js     0x415f31
415f2b:	7f d3                	jg     0x415f00
415f2d:	85 f6                	test   %esi,%esi
415f2f:	77 cf                	ja     0x415f00
415f31:	8b 75 f0             	mov    -0x10(%ebp),%esi
415f34:	ff 75 f8             	push   -0x8(%ebp)
415f37:	ff 75 08             	push   0x8(%ebp)
415f3a:	e8 93 06 00 00       	call   0x4165d2
415f3f:	59                   	pop    %ecx
415f40:	59                   	pop    %ecx
415f41:	ff 75 fc             	push   -0x4(%ebp)
415f44:	6a 00                	push   $0x0
415f46:	ff 15 88 a1 41 00    	call   *0x41a188
415f4c:	50                   	push   %eax
415f4d:	ff 15 9c a0 41 00    	call   *0x41a09c
415f53:	33 db                	xor    %ebx,%ebx
415f55:	e9 86 00 00 00       	jmp    0x415fe0
415f5a:	e8 89 fb fe ff       	call   0x405ae8
415f5f:	83 38 05             	cmpl   $0x5,(%eax)
415f62:	75 0b                	jne    0x415f6f
415f64:	e8 6c fb fe ff       	call   0x405ad5
415f69:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415f6f:	83 ce ff             	or     $0xffffffff,%esi
415f72:	89 75 f4             	mov    %esi,-0xc(%ebp)
415f75:	eb bd                	jmp    0x415f34
415f77:	3b fb                	cmp    %ebx,%edi
415f79:	7f 71                	jg     0x415fec
415f7b:	7c 04                	jl     0x415f81
415f7d:	3b f3                	cmp    %ebx,%esi
415f7f:	73 6b                	jae    0x415fec
415f81:	53                   	push   %ebx
415f82:	ff 75 10             	push   0x10(%ebp)
415f85:	ff 75 0c             	push   0xc(%ebp)
415f88:	ff 75 08             	push   0x8(%ebp)
415f8b:	e8 fe c1 ff ff       	call   0x41218e
415f90:	23 c2                	and    %edx,%eax
415f92:	83 c4 10             	add    $0x10,%esp
415f95:	83 f8 ff             	cmp    $0xffffffff,%eax
415f98:	0f 84 44 ff ff ff    	je     0x415ee2
415f9e:	ff 75 08             	push   0x8(%ebp)
415fa1:	e8 1b f2 ff ff       	call   0x4151c1
415fa6:	59                   	pop    %ecx
415fa7:	50                   	push   %eax
415fa8:	ff 15 08 a0 41 00    	call   *0x41a008
415fae:	f7 d8                	neg    %eax
415fb0:	1b c0                	sbb    %eax,%eax
415fb2:	f7 d8                	neg    %eax
415fb4:	48                   	dec    %eax
415fb5:	99                   	cltd
415fb6:	89 45 f0             	mov    %eax,-0x10(%ebp)
415fb9:	23 c2                	and    %edx,%eax
415fbb:	89 55 f4             	mov    %edx,-0xc(%ebp)
415fbe:	83 f8 ff             	cmp    $0xffffffff,%eax
415fc1:	75 29                	jne    0x415fec
415fc3:	e8 0d fb fe ff       	call   0x405ad5
415fc8:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415fce:	e8 15 fb fe ff       	call   0x405ae8
415fd3:	8b f0                	mov    %eax,%esi
415fd5:	ff 15 98 a0 41 00    	call   *0x41a098
415fdb:	89 06                	mov    %eax,(%esi)
415fdd:	8b 75 f0             	mov    -0x10(%ebp),%esi
415fe0:	23 75 f4             	and    -0xc(%ebp),%esi
415fe3:	83 fe ff             	cmp    $0xffffffff,%esi
415fe6:	0f 84 f6 fe ff ff    	je     0x415ee2
415fec:	53                   	push   %ebx
415fed:	ff 75 ec             	push   -0x14(%ebp)
415ff0:	ff 75 e8             	push   -0x18(%ebp)
415ff3:	ff 75 08             	push   0x8(%ebp)
415ff6:	e8 93 c1 ff ff       	call   0x41218e
415ffb:	23 c2                	and    %edx,%eax
415ffd:	83 c4 10             	add    $0x10,%esp
416000:	83 f8 ff             	cmp    $0xffffffff,%eax
416003:	0f 84 d9 fe ff ff    	je     0x415ee2
416009:	33 c0                	xor    %eax,%eax
41600b:	e9 d9 fe ff ff       	jmp    0x415ee9
416010:	8b ff                	mov    %edi,%edi
416012:	55                   	push   %ebp
416013:	8b ec                	mov    %esp,%ebp
416015:	83 ec 1c             	sub    $0x1c,%esp
416018:	8b 55 10             	mov    0x10(%ebp),%edx
41601b:	56                   	push   %esi
41601c:	8b 75 08             	mov    0x8(%ebp),%esi
41601f:	6a fe                	push   $0xfffffffe
416021:	58                   	pop    %eax
416022:	89 45 ec             	mov    %eax,-0x14(%ebp)
416025:	89 55 e4             	mov    %edx,-0x1c(%ebp)
416028:	3b f0                	cmp    %eax,%esi
41602a:	75 1b                	jne    0x416047
41602c:	e8 b7 fa fe ff       	call   0x405ae8
416031:	83 20 00             	andl   $0x0,(%eax)
416034:	e8 9c fa fe ff       	call   0x405ad5
416039:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41603f:	83 c8 ff             	or     $0xffffffff,%eax
416042:	e9 88 05 00 00       	jmp    0x4165cf
416047:	53                   	push   %ebx
416048:	33 db                	xor    %ebx,%ebx
41604a:	3b f3                	cmp    %ebx,%esi
41604c:	7c 08                	jl     0x416056
41604e:	3b 35 44 12 c7 00    	cmp    0xc71244,%esi
416054:	72 27                	jb     0x41607d
416056:	e8 8d fa fe ff       	call   0x405ae8
41605b:	89 18                	mov    %ebx,(%eax)
41605d:	e8 73 fa fe ff       	call   0x405ad5
416062:	53                   	push   %ebx
416063:	53                   	push   %ebx
416064:	53                   	push   %ebx
416065:	53                   	push   %ebx
416066:	53                   	push   %ebx
416067:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41606d:	e8 b3 f1 fe ff       	call   0x405225
416072:	83 c4 14             	add    $0x14,%esp
416075:	83 c8 ff             	or     $0xffffffff,%eax
416078:	e9 51 05 00 00       	jmp    0x4165ce
41607d:	8b c6                	mov    %esi,%eax
41607f:	c1 f8 05             	sar    $0x5,%eax
416082:	57                   	push   %edi
416083:	8d 3c 85 60 12 c7 00 	lea    0xc71260(,%eax,4),%edi
41608a:	8b 07                	mov    (%edi),%eax
41608c:	83 e6 1f             	and    $0x1f,%esi