471bf9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
471bfc:	e8 36 af f9 ff       	call   0x40cb37
471c01:	8b c6                	mov    %esi,%eax
471c03:	e9 23 35 f9 ff       	jmp    0x40512b
471c08:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c0b:	50                   	push   %eax
471c0c:	8d 4d b0             	lea    -0x50(%ebp),%ecx
471c0f:	c6 05 c2 10 4c 00 01 	movb   $0x1,0x4c10c2
471c16:	4f                   	dec    %edi
471c17:	e8 e0 47 f9 ff       	call   0x4063fc
471c1c:	8b 75 ec             	mov    -0x14(%ebp),%esi
471c1f:	e9 c5 46 f9 ff       	jmp    0x4062e9
471c24:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c27:	50                   	push   %eax
471c28:	8d 4d b0             	lea    -0x50(%ebp),%ecx
471c2b:	c6 05 c1 10 4c 00 01 	movb   $0x1,0x4c10c1
471c32:	4f                   	dec    %edi
471c33:	e8 c4 47 f9 ff       	call   0x4063fc
471c38:	8b 75 ec             	mov    -0x14(%ebp),%esi
471c3b:	e9 be 46 f9 ff       	jmp    0x4062fe
471c40:	33 c0                	xor    %eax,%eax
471c42:	84 db                	test   %bl,%bl
471c44:	0f 94 c0             	sete   %al
471c47:	b9 48 11 4c 00       	mov    $0x4c1148,%ecx
471c4c:	c6 05 34 11 4c 00 01 	movb   $0x1,0x4c1134
471c53:	a3 30 11 4c 00       	mov    %eax,0x4c1130
471c58:	e8 17 37 f9 ff       	call   0x405374
471c5d:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c60:	50                   	push   %eax
471c61:	8d 4d b0             	lea    -0x50(%ebp),%ecx
471c64:	e8 93 47 f9 ff       	call   0x4063fc
471c69:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c6c:	50                   	push   %eax
471c6d:	b9 38 11 4c 00       	mov    $0x4c1138,%ecx
471c72:	e8 76 52 f9 ff       	call   0x406eed
471c77:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c7a:	50                   	push   %eax
471c7b:	8d 4d b0             	lea    -0x50(%ebp),%ecx
471c7e:	83 ef 02             	sub    $0x2,%edi
471c81:	e8 76 47 f9 ff       	call   0x4063fc
471c86:	8b 75 ec             	mov    -0x14(%ebp),%esi
471c89:	e9 85 46 f9 ff       	jmp    0x406313
471c8e:	83 25 30 11 4c 00 00 	andl   $0x0,0x4c1130
471c95:	e9 9c 46 f9 ff       	jmp    0x406336
471c9a:	8d 45 ec             	lea    -0x14(%ebp),%eax
471c9d:	50                   	push   %eax
471c9e:	b9 48 11 4c 00       	mov    $0x4c1148,%ecx
471ca3:	e8 45 52 f9 ff       	call   0x406eed
471ca8:	8d 45 ec             	lea    -0x14(%ebp),%eax
471cab:	50                   	push   %eax
471cac:	8d 4d b0             	lea    -0x50(%ebp),%ecx
471caf:	4f                   	dec    %edi
471cb0:	e8 47 47 f9 ff       	call   0x4063fc
471cb5:	e9 b2 46 f9 ff       	jmp    0x40636c
471cba:	6a 04                	push   $0x4
471cbc:	e9 19 22 f9 ff       	jmp    0x403eda
471cc1:	6a 10                	push   $0x10
471cc3:	68 f4 28 4b 00       	push   $0x4b28f4
471cc8:	68 f8 28 4b 00       	push   $0x4b28f8
471ccd:	53                   	push   %ebx
471cce:	ff 15 20 d7 48 00    	call   *0x48d720
471cd4:	e9 75 21 f9 ff       	jmp    0x403e4e
471cd9:	6a ff                	push   $0xffffffff
471cdb:	ff 35 38 11 4c 00    	push   0x4c1138
471ce1:	8b ce                	mov    %esi,%ecx
471ce3:	57                   	push   %edi
471ce4:	e8 99 a9 fa ff       	call   0x41c682
471ce9:	a0 c2 10 4c 00       	mov    0x4c10c2,%al
471cee:	a2 02 21 4c 00       	mov    %al,0x4c2102
471cf3:	e9 e6 20 f9 ff       	jmp    0x403dde
471cf8:	8b ce                	mov    %esi,%ecx
471cfa:	e8 b6 35 f9 ff       	call   0x4052b5
471cff:	8d 85 d4 ff fe ff    	lea    -0x1002c(%ebp),%eax
471d05:	50                   	push   %eax
471d06:	ff 15 18 d3 48 00    	call   *0x48d318
471d0c:	89 3d bc 10 4c 00    	mov    %edi,0x4c10bc
471d12:	e9 37 21 f9 ff       	jmp    0x403e4e
471d17:	e8 de 54 fd ff       	call   0x4471fa
471d1c:	84 c0                	test   %al,%al
471d1e:	0f 85 dc 20 f9 ff    	jne    0x403e00
471d24:	38 45 f9             	cmp    %al,-0x7(%ebp)
471d27:	0f 85 d3 20 f9 ff    	jne    0x403e00
471d2d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
471d30:	e8 3f 36 f9 ff       	call   0x405374
471d35:	68 b4 da 49 00       	push   $0x49dab4
471d3a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
471d3d:	e8 d7 b0 f9 ff       	call   0x40ce19
471d42:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
471d45:	84 db                	test   %bl,%bl
471d47:	74 25                	je     0x471d6e
471d49:	bf 28 29 4b 00       	mov    $0x4b2928,%edi
471d4e:	57                   	push   %edi
471d4f:	e8 38 34 f9 ff       	call   0x40518c
471d54:	68 48 11 4c 00       	push   $0x4c1148
471d59:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
471d5c:	e8 ac 33 f9 ff       	call   0x40510d
471d61:	57                   	push   %edi
471d62:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
471d65:	e8 22 34 f9 ff       	call   0x40518c
471d6a:	6a 01                	push   $0x1
471d6c:	eb 09                	jmp    0x471d77
471d6e:	ff 75 08             	push   0x8(%ebp)
471d71:	e8 16 34 f9 ff       	call   0x40518c
471d76:	57                   	push   %edi
471d77:	8d 85 d4 ff fe ff    	lea    -0x1002c(%ebp),%eax
471d7d:	50                   	push   %eax
471d7e:	ff 75 e4             	push   -0x1c(%ebp)
471d81:	ff 75 d4             	push   -0x2c(%ebp)
471d84:	68 2c 29 4b 00       	push   $0x4b292c
471d89:	ff 15 1c d7 48 00    	call   *0x48d71c
471d8f:	50                   	push   %eax
471d90:	ff 15 a8 d4 48 00    	call   *0x48d4a8
471d96:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
471d99:	e8 99 ad f9 ff       	call   0x40cb37
471d9e:	e9 97 20 f9 ff       	jmp    0x403e3a
471da3:	83 e8 03             	sub    $0x3,%eax
471da6:	74 34                	je     0x471ddc
471da8:	48                   	dec    %eax
471da9:	48                   	dec    %eax
471daa:	74 1f                	je     0x471dcb
471dac:	83 e8 09             	sub    $0x9,%eax
471daf:	0f 85 ea 19 f9 ff    	jne    0x40379f
471db5:	b9 60 11 4c 00       	mov    $0x4c1160,%ecx
471dba:	c6 05 c0 10 4c 00 01 	movb   $0x1,0x4c10c0
471dc1:	e8 30 12 f9 ff       	call   0x402ff6
471dc6:	e9 27 1a f9 ff       	jmp    0x4037f2
471dcb:	ff 35 e4 10 4c 00    	push   0x4c10e4
471dd1:	ff 15 ec d6 48 00    	call   *0x48d6ec
471dd7:	e9 16 1a f9 ff       	jmp    0x4037f2
471ddc:	8b 4d 14             	mov    0x14(%ebp),%ecx
471ddf:	6a 01                	push   $0x1
471de1:	8b c1                	mov    %ecx,%eax
471de3:	c1 e8 10             	shr    $0x10,%eax
471de6:	50                   	push   %eax
471de7:	0f b7 c1             	movzwl %cx,%eax
471dea:	50                   	push   %eax
471deb:	6a 00                	push   $0x0
471ded:	6a 00                	push   $0x0
471def:	ff 35 e4 10 4c 00    	push   0x4c10e4
471df5:	ff 15 e8 d6 48 00    	call   *0x48d6e8
471dfb:	e9 f2 19 f9 ff       	jmp    0x4037f2
471e00:	8b 45 14             	mov    0x14(%ebp),%eax
471e03:	25 00 00 00 80       	and    $0x80000000,%eax
471e08:	f7 d8                	neg    %eax
471e0a:	1b c0                	sbb    %eax,%eax
471e0c:	83 c0 04             	add    $0x4,%eax
471e0f:	bb 60 11 4c 00       	mov    $0x4c1160,%ebx
471e14:	8b cb                	mov    %ebx,%ecx
471e16:	a3 b0 10 4c 00       	mov    %eax,0x4c10b0
471e1b:	c6 05 c0 10 4c 00 00 	movb   $0x0,0x4c10c0
471e22:	e8 cf 11 f9 ff       	call   0x402ff6
471e27:	8b cb                	mov    %ebx,%ecx
471e29:	e8 e4 c4 fa ff       	call   0x41e312
471e2e:	e9 78 19 f9 ff       	jmp    0x4037ab
471e33:	80 3d c6 10 4c 00 01 	cmpb   $0x1,0x4c10c6
471e3a:	0f 85 6b 19 f9 ff    	jne    0x4037ab
471e40:	bb 08 17 4c 00       	mov    $0x4c1708,%ebx
471e45:	8b cb                	mov    %ebx,%ecx
471e47:	e8 fb 19 f9 ff       	call   0x403847
471e4c:	8b cb                	mov    %ebx,%ecx
471e4e:	e8 a9 31 f9 ff       	call   0x404ffc
471e53:	e9 53 19 f9 ff       	jmp    0x4037ab
471e58:	ff 75 14             	push   0x14(%ebp)
471e5b:	51                   	push   %ecx
471e5c:	51                   	push   %ecx
471e5d:	56                   	push   %esi
471e5e:	b9 08 17 4c 00       	mov    $0x4c1708,%ecx
471e63:	e8 55 37 fd ff       	call   0x4455bd
471e68:	e9 85 19 f9 ff       	jmp    0x4037f2
471e6d:	80 3d c5 10 4c 00 00 	cmpb   $0x0,0x4c10c5
471e74:	0f 85 31 19 f9 ff    	jne    0x4037ab
471e7a:	8d 45 10             	lea    0x10(%ebp),%eax
471e7d:	50                   	push   %eax
471e7e:	e8 70 87 fc ff       	call   0x43a5f3
471e83:	e9 23 19 f9 ff       	jmp    0x4037ab
471e88:	ff 75 14             	push   0x14(%ebp)
471e8b:	ff 75 10             	push   0x10(%ebp)
471e8e:	51                   	push   %ecx
471e8f:	51                   	push   %ecx
471e90:	b9 08 17 4c 00       	mov    $0x4c1708,%ecx
471e95:	e8 43 2f fd ff       	call   0x444ddd
471e9a:	3c 01                	cmp    $0x1,%al
471e9c:	0f 84 50 19 f9 ff    	je     0x4037f2
471ea2:	e9 04 19 f9 ff       	jmp    0x4037ab
471ea7:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
471eaa:	3b 42 04             	cmp    0x4(%edx),%eax
471ead:	0f 86 f8 94 f9 ff    	jbe    0x40b3ab
471eb3:	e9 ee 94 f9 ff       	jmp    0x40b3a6
471eb8:	33 f6                	xor    %esi,%esi
471eba:	e9 c8 be fa ff       	jmp    0x41dd87
471ebf:	33 c0                	xor    %eax,%eax
471ec1:	40                   	inc    %eax
471ec2:	e9 0c 1c f9 ff       	jmp    0x403ad3
471ec7:	83 c0 02             	add    $0x2,%eax
471eca:	c6 46 24 01          	movb   $0x1,0x24(%esi)
471ece:	e9 69 41 f9 ff       	jmp    0x40603c
471ed3:	84 db                	test   %bl,%bl
471ed5:	74 0b                	je     0x471ee2
471ed7:	66 89 8c 75 d4 df ff 	mov    %cx,-0x202c(%ebp,%esi,2)
471ede:	ff
471edf:	46                   	inc    %esi
471ee0:	eb 02                	jmp    0x471ee4
471ee2:	b7 01                	mov    $0x1,%bh
471ee4:	47                   	inc    %edi
471ee5:	e9 f7 41 f9 ff       	jmp    0x4060e1
471eea:	66 8b 84 4d d4 df ff 	mov    -0x202c(%ebp,%ecx,2),%ax
471ef1:	ff
471ef2:	66 89 84 4d d6 df ff 	mov    %ax,-0x202a(%ebp,%ecx,2)
471ef9:	ff
471efa:	49                   	dec    %ecx
471efb:	3b ca                	cmp    %edx,%ecx
471efd:	7d eb                	jge    0x471eea
471eff:	6a 22                	push   $0x22
471f01:	58                   	pop    %eax
471f02:	46                   	inc    %esi
471f03:	66 89 84 55 d4 df ff 	mov    %ax,-0x202c(%ebp,%edx,2)
471f0a:	ff
471f0b:	e9 47 42 f9 ff       	jmp    0x406157
471f10:	33 d2                	xor    %edx,%edx
471f12:	e9 f3 45 f9 ff       	jmp    0x40650a
471f17:	48                   	dec    %eax
471f18:	89 01                	mov    %eax,(%ecx)
471f1a:	8b cf                	mov    %edi,%ecx
471f1c:	e8 29 4c f9 ff       	call   0x406b4a
471f21:	8b 47 04             	mov    0x4(%edi),%eax
471f24:	6a 02                	push   $0x2
471f26:	5e                   	pop    %esi
471f27:	03 c6                	add    %esi,%eax
471f29:	50                   	push   %eax
471f2a:	e8 c7 4b f9 ff       	call   0x406af6
471f2f:	33 c9                	xor    %ecx,%ecx
471f31:	89 47 08             	mov    %eax,0x8(%edi)
471f34:	f7 e6                	mul    %esi
471f36:	0f 90 c1             	seto   %cl
471f39:	f7 d9                	neg    %ecx
471f3b:	0b c8                	or     %eax,%ecx
471f3d:	51                   	push   %ecx
471f3e:	e8 a7 d5 fa ff       	call   0x41f4ea
471f43:	8b 4f 04             	mov    0x4(%edi),%ecx
471f46:	8b f0                	mov    %eax,%esi
471f48:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
471f4f:	51                   	push   %ecx
471f50:	ff 37                	push   (%edi)
471f52:	56                   	push   %esi
471f53:	e8 28 cf fa ff       	call   0x41ee80
471f58:	e9 cf a8 f9 ff       	jmp    0x40c82c
471f5d:	3d 00 00 00 02       	cmp    $0x2000000,%eax
471f62:	73 1e                	jae    0x471f82
471f64:	89 45 fc             	mov    %eax,-0x4(%ebp)
471f67:	db 45 fc             	fildl  -0x4(%ebp)
471f6a:	85 c0                	test   %eax,%eax
471f6c:	79 06                	jns    0x471f74
471f6e:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471f74:	dd 5d f8             	fstpl  -0x8(%ebp)
471f77:	dd 45 f8             	fldl   -0x8(%ebp)
471f7a:	dc 0d 10 27 4b 00    	fmull  0x4b2710
471f80:	eb 41                	jmp    0x471fc3
471f82:	3d 00 00 00 08       	cmp    $0x8000000,%eax
471f87:	73 1e                	jae    0x471fa7
471f89:	89 45 fc             	mov    %eax,-0x4(%ebp)
471f8c:	db 45 fc             	fildl  -0x4(%ebp)
471f8f:	85 c0                	test   %eax,%eax
471f91:	79 06                	jns    0x471f99
471f93:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471f99:	dd 5d f8             	fstpl  -0x8(%ebp)
471f9c:	dd 45 f8             	fldl   -0x8(%ebp)
471f9f:	dc 0d 08 27 4b 00    	fmull  0x4b2708
471fa5:	eb 1c                	jmp    0x471fc3
471fa7:	89 45 fc             	mov    %eax,-0x4(%ebp)
471faa:	db 45 fc             	fildl  -0x4(%ebp)
471fad:	85 c0                	test   %eax,%eax
471faf:	79 06                	jns    0x471fb7
471fb1:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471fb7:	dd 5d f8             	fstpl  -0x8(%ebp)
471fba:	dd 45 f8             	fldl   -0x8(%ebp)
471fbd:	dc 0d 00 27 4b 00    	fmull  0x4b2700
471fc3:	e8 3e f9 ff ff       	call   0x471906
471fc8:	e9 20 a8 f9 ff       	jmp    0x40c7ed
471fcd:	8b 0f                	mov    (%edi),%ecx
471fcf:	53                   	push   %ebx
471fd0:	8b d6                	mov    %esi,%edx
471fd2:	e8 c6 9e f9 ff       	call   0x40be9d
471fd7:	59                   	pop    %ecx
471fd8:	85 c0                	test   %eax,%eax
471fda:	0f 85 68 cc fa ff    	jne    0x41ec48
471fe0:	b0 01                	mov    $0x1,%al
471fe2:	e9 63 cc fa ff       	jmp    0x41ec4a
471fe7:	33 c0                	xor    %eax,%eax
471fe9:	e9 0e 03 f9 ff       	jmp    0x4022fc
471fee:	8b 47 0c             	mov    0xc(%edi),%eax
471ff1:	ff 08                	decl   (%eax)
471ff3:	e8 52 4b f9 ff       	call   0x406b4a
471ff8:	8d 46 01             	lea    0x1(%esi),%eax
471ffb:	50                   	push   %eax
471ffc:	e8 f5 4a f9 ff       	call   0x406af6
472001:	33 c9                	xor    %ecx,%ecx
472003:	6a 02                	push   $0x2
472005:	5a                   	pop    %edx
472006:	89 47 08             	mov    %eax,0x8(%edi)
472009:	f7 e2                	mul    %edx
47200b:	0f 90 c1             	seto   %cl
47200e:	f7 d9                	neg    %ecx
472010:	0b c8                	or     %eax,%ecx
472012:	51                   	push   %ecx
472013:	e8 d2 d4 fa ff       	call   0x41f4ea
472018:	59                   	pop    %ecx
472019:	89 07                	mov    %eax,(%edi)
47201b:	e9 07 4a f9 ff       	jmp    0x406a27
472020:	6a 01                	push   $0x1
472022:	6a 00                	push   $0x0
472024:	ff 36                	push   (%esi)
472026:	ff 15 68 d6 48 00    	call   *0x48d668
47202c:	50                   	push   %eax
47202d:	ff 15 40 d6 48 00    	call   *0x48d640
472033:	e9 f8 ef f8 ff       	jmp    0x401030
472038:	ff 77 10             	push   0x10(%edi)
47203b:	e8 5d 2c fb ff       	call   0x424c9d
472040:	59                   	pop    %ecx
472041:	89 47 10             	mov    %eax,0x10(%edi)
472044:	88 5f 0c             	mov    %bl,0xc(%edi)
472047:	e9 12 0f f9 ff       	jmp    0x402f5e
47204c:	56                   	push   %esi
47204d:	e8 a2 b6 fc ff       	call   0x43d6f4
472052:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
472059:	e9 0a 0f f9 ff       	jmp    0x402f68
47205e:	53                   	push   %ebx
47205f:	8b ce                	mov    %esi,%ecx
472061:	e8 40 41 f9 ff       	call   0x4061a6
472066:	66 83 38 5b          	cmpw   $0x5b,(%eax)
47206a:	0f 85 f8 02 00 00    	jne    0x472368
472070:	8b 47 18             	mov    0x18(%edi),%eax
472073:	48                   	dec    %eax
472074:	50                   	push   %eax
472075:	8b ce                	mov    %esi,%ecx
472077:	e8 2a 41 f9 ff       	call   0x4061a6
47207c:	66 83 38 5d          	cmpw   $0x5d,(%eax)
472080:	0f 85 e2 02 00 00    	jne    0x472368
472086:	8b 47 18             	mov    0x18(%edi),%eax
472089:	83 e8 02             	sub    $0x2,%eax
47208c:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
472093:	00
472094:	89 44 24 10          	mov    %eax,0x10(%esp)
472098:	50                   	push   %eax
472099:	8d 44 24 18          	lea    0x18(%esp),%eax
47209d:	50                   	push   %eax
47209e:	8d 44 24 30          	lea    0x30(%esp),%eax
4720a2:	50                   	push   %eax
4720a3:	8d 44 24 24          	lea    0x24(%esp),%eax
4720a7:	50                   	push   %eax
4720a8:	56                   	push   %esi