473d1b:	3b c1                	cmp    %ecx,%eax
473d1d:	0f 85 95 13 f9 ff    	jne    0x4050b8
473d23:	e9 84 13 f9 ff       	jmp    0x4050ac
473d28:	6a 01                	push   $0x1
473d2a:	ff 15 a4 d4 48 00    	call   *0x48d4a4
473d30:	e9 a3 13 f9 ff       	jmp    0x4050d8
473d35:	48                   	dec    %eax
473d36:	89 01                	mov    %eax,(%ecx)
473d38:	56                   	push   %esi
473d39:	8b cf                	mov    %edi,%ecx
473d3b:	e8 0a 2e f9 ff       	call   0x406b4a
473d40:	8b 47 04             	mov    0x4(%edi),%eax
473d43:	83 c0 02             	add    $0x2,%eax
473d46:	50                   	push   %eax
473d47:	e8 1e aa fa ff       	call   0x41e76a
473d4c:	50                   	push   %eax
473d4d:	89 47 08             	mov    %eax,0x8(%edi)
473d50:	e8 95 b7 fa ff       	call   0x41f4ea
473d55:	8b 4f 04             	mov    0x4(%edi),%ecx
473d58:	41                   	inc    %ecx
473d59:	51                   	push   %ecx
473d5a:	ff 37                	push   (%edi)
473d5c:	8b f0                	mov    %eax,%esi
473d5e:	56                   	push   %esi
473d5f:	e8 1c b1 fa ff       	call   0x41ee80
473d64:	83 c4 10             	add    $0x10,%esp
473d67:	89 37                	mov    %esi,(%edi)
473d69:	5e                   	pop    %esi
473d6a:	e9 22 82 f9 ff       	jmp    0x40bf91
473d6f:	8b 46 0c             	mov    0xc(%esi),%eax
473d72:	ff 08                	decl   (%eax)
473d74:	e8 d1 2d f9 ff       	call   0x406b4a
473d79:	8d 47 01             	lea    0x1(%edi),%eax
473d7c:	50                   	push   %eax
473d7d:	e8 e8 a9 fa ff       	call   0x41e76a
473d82:	50                   	push   %eax
473d83:	89 46 08             	mov    %eax,0x8(%esi)
473d86:	e8 5f b7 fa ff       	call   0x41f4ea
473d8b:	59                   	pop    %ecx
473d8c:	89 06                	mov    %eax,(%esi)
473d8e:	e9 5e a9 fa ff       	jmp    0x41e6f1
473d93:	c7 47 2c 04 00 00 00 	movl   $0x4,0x2c(%edi)
473d9a:	e9 79 08 f9 ff       	jmp    0x404618
473d9f:	c7 47 2c 01 00 00 00 	movl   $0x1,0x2c(%edi)
473da6:	e9 6d 08 f9 ff       	jmp    0x404618
473dab:	c7 47 2c 02 00 00 00 	movl   $0x2,0x2c(%edi)
473db2:	e9 61 08 f9 ff       	jmp    0x404618
473db7:	80 7e 01 fe          	cmpb   $0xfe,0x1(%esi)
473dbb:	0f 85 9f 08 f9 ff    	jne    0x404660
473dc1:	c7 47 2c 01 00 00 00 	movl   $0x1,0x2c(%edi)
473dc8:	89 57 30             	mov    %edx,0x30(%edi)
473dcb:	e9 c4 08 f9 ff       	jmp    0x404694
473dd0:	80 7e 01 bb          	cmpb   $0xbb,0x1(%esi)
473dd4:	0f 85 9b 08 f9 ff    	jne    0x404675
473dda:	80 7e 02 bf          	cmpb   $0xbf,0x2(%esi)
473dde:	0f 85 91 08 f9 ff    	jne    0x404675
473de4:	89 4f 30             	mov    %ecx,0x30(%edi)
473de7:	c7 47 2c 04 00 00 00 	movl   $0x4,0x2c(%edi)
473dee:	e9 a1 08 f9 ff       	jmp    0x404694
473df3:	f7 47 28 00 40 00 00 	testl  $0x4000,0x28(%edi)
473dfa:	0f 84 89 08 f9 ff    	je     0x404689
473e00:	53                   	push   %ebx
473e01:	53                   	push   %ebx
473e02:	53                   	push   %ebx
473e03:	8b cf                	mov    %edi,%ecx
473e05:	e8 c4 08 f9 ff       	call   0x4046ce
473e0a:	8b cf                	mov    %edi,%ecx
473e0c:	e8 ed f7 f8 ff       	call   0x4035fe
473e11:	8b f0                	mov    %eax,%esi
473e13:	56                   	push   %esi
473e14:	e8 d1 b6 fa ff       	call   0x41f4ea
473e19:	59                   	pop    %ecx
473e1a:	8b d8                	mov    %eax,%ebx
473e1c:	56                   	push   %esi
473e1d:	53                   	push   %ebx
473e1e:	8b cf                	mov    %edi,%ecx
473e20:	e8 bb 84 f9 ff       	call   0x40c2e0
473e25:	50                   	push   %eax
473e26:	53                   	push   %ebx
473e27:	e8 34 0a f9 ff       	call   0x404860
473e2c:	84 c0                	test   %al,%al
473e2e:	74 0b                	je     0x473e3b
473e30:	83 67 30 00          	andl   $0x0,0x30(%edi)
473e34:	c7 47 2c 04 00 00 00 	movl   $0x4,0x2c(%edi)
473e3b:	53                   	push   %ebx
473e3c:	e8 1d b7 fa ff       	call   0x41f55e
473e41:	59                   	pop    %ecx
473e42:	33 db                	xor    %ebx,%ebx
473e44:	e9 4b 08 f9 ff       	jmp    0x404694
473e49:	48                   	dec    %eax
473e4a:	89 01                	mov    %eax,(%ecx)
473e4c:	8b ce                	mov    %esi,%ecx
473e4e:	e8 f7 2c f9 ff       	call   0x406b4a
473e53:	6a 10                	push   $0x10
473e55:	58                   	pop    %eax
473e56:	50                   	push   %eax
473e57:	89 46 08             	mov    %eax,0x8(%esi)
473e5a:	e8 8b b6 fa ff       	call   0x41f4ea
473e5f:	59                   	pop    %ecx
473e60:	89 06                	mov    %eax,(%esi)
473e62:	e9 6c 83 f9 ff       	jmp    0x40c1d3
473e67:	3d 00 00 00 02       	cmp    $0x2000000,%eax
473e6c:	73 1e                	jae    0x473e8c
473e6e:	89 45 08             	mov    %eax,0x8(%ebp)
473e71:	db 45 08             	fildl  0x8(%ebp)
473e74:	85 c0                	test   %eax,%eax
473e76:	79 06                	jns    0x473e7e
473e78:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473e7e:	dd 5d f8             	fstpl  -0x8(%ebp)
473e81:	dd 45 f8             	fldl   -0x8(%ebp)
473e84:	dc 0d 10 27 4b 00    	fmull  0x4b2710
473e8a:	eb 41                	jmp    0x473ecd
473e8c:	3d 00 00 00 08       	cmp    $0x8000000,%eax
473e91:	73 1e                	jae    0x473eb1
473e93:	89 45 08             	mov    %eax,0x8(%ebp)
473e96:	db 45 08             	fildl  0x8(%ebp)
473e99:	85 c0                	test   %eax,%eax
473e9b:	79 06                	jns    0x473ea3
473e9d:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473ea3:	dd 5d f8             	fstpl  -0x8(%ebp)
473ea6:	dd 45 f8             	fldl   -0x8(%ebp)
473ea9:	dc 0d 08 27 4b 00    	fmull  0x4b2708
473eaf:	eb 1c                	jmp    0x473ecd
473eb1:	89 45 08             	mov    %eax,0x8(%ebp)
473eb4:	db 45 08             	fildl  0x8(%ebp)
473eb7:	85 c0                	test   %eax,%eax
473eb9:	79 06                	jns    0x473ec1
473ebb:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473ec1:	dd 5d f8             	fstpl  -0x8(%ebp)
473ec4:	dd 45 f8             	fldl   -0x8(%ebp)
473ec7:	dc 0d 00 27 4b 00    	fmull  0x4b2700
473ecd:	e8 34 da ff ff       	call   0x471906
473ed2:	e9 05 85 f9 ff       	jmp    0x40c3dc
473ed7:	8a 45 ff             	mov    -0x1(%ebp),%al
473eda:	84 c0                	test   %al,%al
473edc:	0f 85 84 80 f9 ff    	jne    0x40bf66
473ee2:	e9 83 80 f9 ff       	jmp    0x40bf6a
473ee7:	8b cf                	mov    %edi,%ecx
473ee9:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
473ef0:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
473ef7:	e8 aa 06 f9 ff       	call   0x4045a6
473efc:	e9 89 81 f9 ff       	jmp    0x40c08a
473f01:	89 47 08             	mov    %eax,0x8(%edi)
473f04:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
473f0b:	e9 8c 81 f9 ff       	jmp    0x40c09c
473f10:	48                   	dec    %eax
473f11:	89 01                	mov    %eax,(%ecx)
473f13:	8b cb                	mov    %ebx,%ecx
473f15:	e8 30 2c f9 ff       	call   0x406b4a
473f1a:	8b 43 04             	mov    0x4(%ebx),%eax
473f1d:	83 c0 02             	add    $0x2,%eax
473f20:	50                   	push   %eax
473f21:	e8 44 a8 fa ff       	call   0x41e76a
473f26:	50                   	push   %eax
473f27:	89 43 08             	mov    %eax,0x8(%ebx)
473f2a:	e8 bb b5 fa ff       	call   0x41f4ea
473f2f:	8b 4b 04             	mov    0x4(%ebx),%ecx
473f32:	41                   	inc    %ecx
473f33:	51                   	push   %ecx
473f34:	ff 33                	push   (%ebx)
473f36:	8b f0                	mov    %eax,%esi
473f38:	56                   	push   %esi
473f39:	e8 42 af fa ff       	call   0x41ee80
473f3e:	e9 2c 82 f9 ff       	jmp    0x40c16f
473f43:	3d 00 00 00 02       	cmp    $0x2000000,%eax
473f48:	73 3c                	jae    0x473f86
473f4a:	89 45 f4             	mov    %eax,-0xc(%ebp)
473f4d:	db 45 f4             	fildl  -0xc(%ebp)
473f50:	85 c0                	test   %eax,%eax
473f52:	79 06                	jns    0x473f5a
473f54:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473f5a:	dd 5d f0             	fstpl  -0x10(%ebp)
473f5d:	dd 45 f0             	fldl   -0x10(%ebp)
473f60:	dc 0d 10 27 4b 00    	fmull  0x4b2710
473f66:	d9 7d fc             	fnstcw -0x4(%ebp)
473f69:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473f6d:	0d 00 0c 00 00       	or     $0xc00,%eax
473f72:	89 45 f4             	mov    %eax,-0xc(%ebp)
473f75:	d9 6d f4             	fldcw  -0xc(%ebp)
473f78:	df 7d f0             	fistpll -0x10(%ebp)
473f7b:	8b 45 f0             	mov    -0x10(%ebp),%eax
473f7e:	d9 6d fc             	fldcw  -0x4(%ebp)
473f81:	e9 b5 81 f9 ff       	jmp    0x40c13b
473f86:	3d 00 00 00 08       	cmp    $0x8000000,%eax
473f8b:	73 3c                	jae    0x473fc9
473f8d:	89 45 f4             	mov    %eax,-0xc(%ebp)
473f90:	db 45 f4             	fildl  -0xc(%ebp)
473f93:	85 c0                	test   %eax,%eax
473f95:	79 06                	jns    0x473f9d
473f97:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473f9d:	dd 5d f0             	fstpl  -0x10(%ebp)
473fa0:	dd 45 f0             	fldl   -0x10(%ebp)
473fa3:	dc 0d 08 27 4b 00    	fmull  0x4b2708
473fa9:	d9 7d fc             	fnstcw -0x4(%ebp)
473fac:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473fb0:	0d 00 0c 00 00       	or     $0xc00,%eax
473fb5:	89 45 f4             	mov    %eax,-0xc(%ebp)
473fb8:	d9 6d f4             	fldcw  -0xc(%ebp)
473fbb:	df 7d f0             	fistpll -0x10(%ebp)
473fbe:	8b 45 f0             	mov    -0x10(%ebp),%eax
473fc1:	d9 6d fc             	fldcw  -0x4(%ebp)
473fc4:	e9 72 81 f9 ff       	jmp    0x40c13b
473fc9:	89 45 f4             	mov    %eax,-0xc(%ebp)
473fcc:	db 45 f4             	fildl  -0xc(%ebp)
473fcf:	85 c0                	test   %eax,%eax
473fd1:	79 06                	jns    0x473fd9
473fd3:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
473fd9:	dd 5d f0             	fstpl  -0x10(%ebp)
473fdc:	dd 45 f0             	fldl   -0x10(%ebp)
473fdf:	dc 0d 00 27 4b 00    	fmull  0x4b2700
473fe5:	d9 7d fc             	fnstcw -0x4(%ebp)
473fe8:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
473fec:	0d 00 0c 00 00       	or     $0xc00,%eax
473ff1:	89 45 f4             	mov    %eax,-0xc(%ebp)
473ff4:	d9 6d f4             	fldcw  -0xc(%ebp)
473ff7:	df 7d f0             	fistpll -0x10(%ebp)
473ffa:	8b 45 f0             	mov    -0x10(%ebp),%eax
473ffd:	d9 6d fc             	fldcw  -0x4(%ebp)
474000:	e9 36 81 f9 ff       	jmp    0x40c13b
474005:	6a 01                	push   $0x1
474007:	6a ff                	push   $0xffffffff
474009:	6a ff                	push   $0xffffffff
47400b:	8b cf                	mov    %edi,%ecx
47400d:	e8 bc 06 f9 ff       	call   0x4046ce
474012:	e9 0c 81 f9 ff       	jmp    0x40c123
474017:	80 f9 c2             	cmp    $0xc2,%cl
47401a:	0f 82 75 08 f9 ff    	jb     0x404895
474020:	b9 01 00 00 00       	mov    $0x1,%ecx
474025:	eb 1e                	jmp    0x474045
474027:	80 f9 e0             	cmp    $0xe0,%cl
47402a:	0f 82 6e 08 f9 ff    	jb     0x40489e
474030:	b9 02 00 00 00       	mov    $0x2,%ecx
474035:	eb 0e                	jmp    0x474045
474037:	80 f9 f0             	cmp    $0xf0,%cl
47403a:	0f 82 67 08 f9 ff    	jb     0x4048a7
474040:	b9 03 00 00 00       	mov    $0x3,%ecx
474045:	40                   	inc    %eax
474046:	32 ff                	xor    %bh,%bh
474048:	3b c2                	cmp    %edx,%eax
47404a:	0f 83 5f 08 f9 ff    	jae    0x4048af
474050:	8a 1c 30             	mov    (%eax,%esi,1),%bl
474053:	80 fb 80             	cmp    $0x80,%bl
474056:	0f 82 4b 08 f9 ff    	jb     0x4048a7
47405c:	80 fb bf             	cmp    $0xbf,%bl
47405f:	0f 87 42 08 f9 ff    	ja     0x4048a7
474065:	40                   	inc    %eax
474066:	49                   	dec    %ecx
474067:	75 df                	jne    0x474048
474069:	e9 0e 08 f9 ff       	jmp    0x40487c
47406e:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
474072:	74 36                	je     0x4740aa
474074:	8b 45 08             	mov    0x8(%ebp),%eax
474077:	53                   	push   %ebx
474078:	68 80 00 00 00       	push   $0x80
47407d:	6a 04                	push   $0x4
47407f:	53                   	push   %ebx
474080:	6a 07                	push   $0x7
474082:	68 00 00 00 c0       	push   $0xc0000000
474087:	ff 30                	push   (%eax)
474089:	ff 15 c4 d1 48 00    	call   *0x48d1c4
47408f:	89 06                	mov    %eax,(%esi)
474091:	83 f8 ff             	cmp    $0xffffffff,%eax
474094:	0f 84 a3 07 f9 ff    	je     0x40483d
47409a:	6a 02                	push   $0x2
47409c:	53                   	push   %ebx
47409d:	53                   	push   %ebx
47409e:	8b ce                	mov    %esi,%ecx
4740a0:	e8 29 06 f9 ff       	call   0x4046ce
4740a5:	e9 8b 07 f9 ff       	jmp    0x404835
4740aa:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
4740ae:	0f 84 89 07 f9 ff    	je     0x40483d
4740b4:	53                   	push   %ebx
4740b5:	68 80 00 00 00       	push   $0x80
4740ba:	6a 02                	push   $0x2
4740bc:	53                   	push   %ebx
4740bd:	6a 07                	push   $0x7
4740bf:	68 00 00 00 c0       	push   $0xc0000000
4740c4:	e9 5f 07 f9 ff       	jmp    0x404828
4740c9:	32 db                	xor    %bl,%bl
4740cb:	e9 b3 a4 fa ff       	jmp    0x41e583
4740d0:	8b 77 10             	mov    0x10(%edi),%esi
4740d3:	03 75 08             	add    0x8(%ebp),%esi
4740d6:	8b 4f 14             	mov    0x14(%edi),%ecx
4740d9:	13 ca                	adc    %edx,%ecx
4740db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4740de:	e9 1c 06 f9 ff       	jmp    0x4046ff
4740e3:	8b cf                	mov    %edi,%ecx
4740e5:	e8 ae 06 f9 ff       	call   0x404798
4740ea:	8b 4f 10             	mov    0x10(%edi),%ecx
4740ed:	2b c8                	sub    %eax,%ecx
4740ef:	8b 47 14             	mov    0x14(%edi),%eax
4740f2:	1b c2                	sbb    %edx,%eax
4740f4:	8b 55 0c             	mov    0xc(%ebp),%edx
4740f7:	03 f1                	add    %ecx,%esi
4740f9:	13 d0                	adc    %eax,%edx
4740fb:	e9 6d 06 f9 ff       	jmp    0x40476d
474100:	f6 c1 10             	test   $0x10,%cl
474103:	0f 85 4c 07 f9 ff    	jne    0x404855
474109:	f6 c1 01             	test   $0x1,%cl
47410c:	74 0c                	je     0x47411a
47410e:	8b 46 10             	mov    0x10(%esi),%eax
474111:	0b 46 14             	or     0x14(%esi),%eax
474114:	0f 85 3b 07 f9 ff    	jne    0x404855
47411a:	f6 c1 20             	test   $0x20,%cl
47411d:	74 19                	je     0x474138
47411f:	6a 02                	push   $0x2
474121:	5f                   	pop    %edi
474122:	57                   	push   %edi
474123:	68 78 e4 49 00       	push   $0x49e478
474128:	8b ce                	mov    %esi,%ecx
47412a:	e8 af 1c fd ff       	call   0x445dde
47412f:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
474136:	eb 18                	jmp    0x474150
474138:	f6 c1 40             	test   $0x40,%cl
47413b:	74 1b                	je     0x474158
47413d:	6a 02                	push   $0x2
47413f:	5f                   	pop    %edi
474140:	57                   	push   %edi
474141:	68 74 e4 49 00       	push   $0x49e474
474146:	8b ce                	mov    %esi,%ecx
474148:	e8 91 1c fd ff       	call   0x445dde
47414d:	89 7e 2c             	mov    %edi,0x2c(%esi)
474150:	89 7e 30             	mov    %edi,0x30(%esi)
474153:	e9 fd 06 f9 ff       	jmp    0x404855
474158:	84 c9                	test   %cl,%cl
47415a:	79 15                	jns    0x474171
47415c:	6a 03                	push   $0x3
47415e:	5f                   	pop    %edi
47415f:	57                   	push   %edi
474160:	68 70 e4 49 00       	push   $0x49e470
474165:	8b ce                	mov    %esi,%ecx
474167:	e8 72 1c fd ff       	call   0x445dde
47416c:	89 7e 30             	mov    %edi,0x30(%esi)
47416f:	eb 10                	jmp    0x474181
474171:	f7 c1 00 01 00 00    	test   $0x100,%ecx
474177:	0f 84 d8 06 f9 ff    	je     0x404855
47417d:	83 66 30 00          	andl   $0x0,0x30(%esi)
474181:	c7 46 2c 04 00 00 00 	movl   $0x4,0x2c(%esi)
474188:	e9 c8 06 f9 ff       	jmp    0x404855
47418d:	83 25 00 11 4c 00 00 	andl   $0x0,0x4c1100
474194:	6a 10                	push   $0x10
474196:	5e                   	pop    %esi
474197:	6a 63                	push   $0x63
474199:	68 e9 67 44 00       	push   $0x4467e9
47419e:	6a 0e                	push   $0xe
4741a0:	6a 00                	push   $0x0
4741a2:	89 35 fc 10 4c 00    	mov    %esi,0x4c10fc
4741a8:	89 35 f8 10 4c 00    	mov    %esi,0x4c10f8
4741ae:	a3 f4 10 4c 00       	mov    %eax,0x4c10f4
4741b3:	ff 15 2c d2 48 00    	call   *0x48d22c