559f7a:	e8 c1 00 02 00       	call   0x57a040
559f7f:	8b 55 b4             	mov    -0x4c(%ebp),%edx
559f82:	3b 04 9a             	cmp    (%edx,%ebx,4),%eax
559f85:	7f 08                	jg     0x559f8f
559f87:	8b 45 b4             	mov    -0x4c(%ebp),%eax
559f8a:	33 d2                	xor    %edx,%edx
559f8c:	89 14 98             	mov    %edx,(%eax,%ebx,4)
559f8f:	8b 55 80             	mov    -0x80(%ebp),%edx
559f92:	8b c6                	mov    %esi,%eax
559f94:	e8 03 01 02 00       	call   0x57a09c
559f99:	50                   	push   %eax
559f9a:	8b 55 80             	mov    -0x80(%ebp),%edx
559f9d:	8b c6                	mov    %esi,%eax
559f9f:	e8 e0 00 02 00       	call   0x57a084
559fa4:	8b d0                	mov    %eax,%edx
559fa6:	8b c3                	mov    %ebx,%eax
559fa8:	59                   	pop    %ecx
559fa9:	e8 6e f7 ff ff       	call   0x55971c
559fae:	8b 55 ac             	mov    -0x54(%ebp),%edx
559fb1:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
559fb4:	8b 45 ac             	mov    -0x54(%ebp),%eax
559fb7:	83 3c 98 00          	cmpl   $0x0,(%eax,%ebx,4)
559fbb:	7c 12                	jl     0x559fcf
559fbd:	8b 55 80             	mov    -0x80(%ebp),%edx
559fc0:	8b c6                	mov    %esi,%eax
559fc2:	e8 79 00 02 00       	call   0x57a040
559fc7:	8b 55 ac             	mov    -0x54(%ebp),%edx
559fca:	3b 04 9a             	cmp    (%edx,%ebx,4),%eax
559fcd:	7f 08                	jg     0x559fd7
559fcf:	8b 45 ac             	mov    -0x54(%ebp),%eax
559fd2:	33 d2                	xor    %edx,%edx
559fd4:	89 14 98             	mov    %edx,(%eax,%ebx,4)
559fd7:	43                   	inc    %ebx
559fd8:	4f                   	dec    %edi
559fd9:	0f 85 0e ff ff ff    	jne    0x559eed
559fdf:	ff 45 e0             	incl   -0x20(%ebp)
559fe2:	ff 4d a4             	decl   -0x5c(%ebp)
559fe5:	0f 85 e2 fd ff ff    	jne    0x559dcd
559feb:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
559fef:	0f 85 fd 00 00 00    	jne    0x55a0f2
559ff5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
559ff8:	c1 e0 02             	shl    $0x2,%eax
559ffb:	e8 ac 87 ea ff       	call   0x4027ac
55a000:	89 45 bc             	mov    %eax,-0x44(%ebp)
55a003:	8b 45 c0             	mov    -0x40(%ebp),%eax
55a006:	c1 e0 02             	shl    $0x2,%eax
55a009:	e8 9e 87 ea ff       	call   0x4027ac
55a00e:	89 45 b8             	mov    %eax,-0x48(%ebp)
55a011:	8b 45 c0             	mov    -0x40(%ebp),%eax
55a014:	48                   	dec    %eax
55a015:	85 c0                	test   %eax,%eax
55a017:	0f 8c d5 00 00 00    	jl     0x55a0f2
55a01d:	40                   	inc    %eax
55a01e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a021:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
55a028:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a02e:	8b c6                	mov    %esi,%eax
55a030:	e8 73 00 02 00       	call   0x57a0a8
55a035:	50                   	push   %eax
55a036:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a03c:	8b c6                	mov    %esi,%eax
55a03e:	e8 4d 00 02 00       	call   0x57a090
55a043:	8b d0                	mov    %eax,%edx
55a045:	8b 45 e0             	mov    -0x20(%ebp),%eax
55a048:	59                   	pop    %ecx
55a049:	e8 ce f6 ff ff       	call   0x55971c
55a04e:	8b 55 b8             	mov    -0x48(%ebp),%edx
55a051:	8b 4d e0             	mov    -0x20(%ebp),%ecx
55a054:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
55a057:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a05a:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a05d:	83 3c 90 00          	cmpl   $0x0,(%eax,%edx,4)
55a061:	7c 18                	jl     0x55a07b
55a063:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a069:	8b c6                	mov    %esi,%eax
55a06b:	e8 dc ff 01 00       	call   0x57a04c
55a070:	8b 55 b8             	mov    -0x48(%ebp),%edx
55a073:	8b 4d e0             	mov    -0x20(%ebp),%ecx
55a076:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
55a079:	7f 0b                	jg     0x55a086
55a07b:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a07e:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a081:	33 c9                	xor    %ecx,%ecx
55a083:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
55a086:	8b 7d c4             	mov    -0x3c(%ebp),%edi
55a089:	4f                   	dec    %edi
55a08a:	85 ff                	test   %edi,%edi
55a08c:	7c 58                	jl     0x55a0e6
55a08e:	47                   	inc    %edi
55a08f:	33 db                	xor    %ebx,%ebx
55a091:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a097:	8b c6                	mov    %esi,%eax
55a099:	e8 fe ff 01 00       	call   0x57a09c
55a09e:	50                   	push   %eax
55a09f:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a0a5:	8b c6                	mov    %esi,%eax
55a0a7:	e8 d8 ff 01 00       	call   0x57a084
55a0ac:	8b d0                	mov    %eax,%edx
55a0ae:	8b c3                	mov    %ebx,%eax
55a0b0:	59                   	pop    %ecx
55a0b1:	e8 66 f6 ff ff       	call   0x55971c
55a0b6:	8b 55 bc             	mov    -0x44(%ebp),%edx
55a0b9:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
55a0bc:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a0bf:	83 3c 98 00          	cmpl   $0x0,(%eax,%ebx,4)
55a0c3:	7c 15                	jl     0x55a0da
55a0c5:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a0cb:	8b c6                	mov    %esi,%eax
55a0cd:	e8 6e ff 01 00       	call   0x57a040
55a0d2:	8b 55 bc             	mov    -0x44(%ebp),%edx
55a0d5:	3b 04 9a             	cmp    (%edx,%ebx,4),%eax
55a0d8:	7f 08                	jg     0x55a0e2
55a0da:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a0dd:	33 d2                	xor    %edx,%edx
55a0df:	89 14 98             	mov    %edx,(%eax,%ebx,4)
55a0e2:	43                   	inc    %ebx
55a0e3:	4f                   	dec    %edi
55a0e4:	75 ab                	jne    0x55a091
55a0e6:	ff 45 e0             	incl   -0x20(%ebp)
55a0e9:	ff 4d a4             	decl   -0x5c(%ebp)
55a0ec:	0f 85 36 ff ff ff    	jne    0x55a028
55a0f2:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
55a0f6:	0f 84 80 02 00 00    	je     0x55a37c
55a0fc:	8b 45 c0             	mov    -0x40(%ebp),%eax
55a0ff:	48                   	dec    %eax
55a100:	85 c0                	test   %eax,%eax
55a102:	0f 8c 90 03 00 00    	jl     0x55a498
55a108:	40                   	inc    %eax
55a109:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a10c:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
55a113:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a116:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a119:	8b 08                	mov    (%eax),%ecx
55a11b:	ff 11                	call   *(%ecx)
55a11d:	89 45 d0             	mov    %eax,-0x30(%ebp)
55a120:	8b 7d c4             	mov    -0x3c(%ebp),%edi
55a123:	4f                   	dec    %edi
55a124:	85 ff                	test   %edi,%edi
55a126:	0f 8c 08 02 00 00    	jl     0x55a334
55a12c:	47                   	inc    %edi
55a12d:	33 db                	xor    %ebx,%ebx
55a12f:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a132:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a135:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a138:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a13b:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a13e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
55a144:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a14b:	e8 e4 fe 01 00       	call   0x57a034
55a150:	50                   	push   %eax
55a151:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a157:	8b c6                	mov    %esi,%eax
55a159:	e8 fa fe 01 00       	call   0x57a058
55a15e:	b9 20 00 00 00       	mov    $0x20,%ecx
55a163:	2b c8                	sub    %eax,%ecx
55a165:	58                   	pop    %eax
55a166:	d3 e0                	shl    %cl,%eax
55a168:	c1 e8 18             	shr    $0x18,%eax
55a16b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
55a171:	8b 45 b0             	mov    -0x50(%ebp),%eax
55a174:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a177:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a17a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
55a17d:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a180:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
55a186:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a18d:	e8 a2 fe 01 00       	call   0x57a034
55a192:	50                   	push   %eax
55a193:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
55a199:	8b c6                	mov    %esi,%eax
55a19b:	e8 b8 fe 01 00       	call   0x57a058
55a1a0:	b9 20 00 00 00       	mov    $0x20,%ecx
55a1a5:	2b c8                	sub    %eax,%ecx
55a1a7:	58                   	pop    %eax
55a1a8:	d3 e0                	shl    %cl,%eax
55a1aa:	c1 e8 18             	shr    $0x18,%eax
55a1ad:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a1b3:	8b 45 a8             	mov    -0x58(%ebp),%eax
55a1b6:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a1b9:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a1bc:	8b 45 ac             	mov    -0x54(%ebp),%eax
55a1bf:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a1c2:	8b 45 80             	mov    -0x80(%ebp),%eax
55a1c5:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a1cc:	e8 63 fe 01 00       	call   0x57a034
55a1d1:	50                   	push   %eax
55a1d2:	8b 55 80             	mov    -0x80(%ebp),%edx
55a1d5:	8b c6                	mov    %esi,%eax
55a1d7:	e8 7c fe 01 00       	call   0x57a058
55a1dc:	b9 20 00 00 00       	mov    $0x20,%ecx
55a1e1:	2b c8                	sub    %eax,%ecx
55a1e3:	58                   	pop    %eax
55a1e4:	d3 e0                	shl    %cl,%eax
55a1e6:	c1 e8 18             	shr    $0x18,%eax
55a1e9:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a1ef:	8b c6                	mov    %esi,%eax
55a1f1:	e8 8a fe 01 00       	call   0x57a080
55a1f6:	83 e8 02             	sub    $0x2,%eax
55a1f9:	74 08                	je     0x55a203
55a1fb:	48                   	dec    %eax
55a1fc:	74 34                	je     0x55a232
55a1fe:	e9 29 01 00 00       	jmp    0x55a32c
55a203:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a206:	8a 95 44 ff ff ff    	mov    -0xbc(%ebp),%dl
55a20c:	88 10                	mov    %dl,(%eax)
55a20e:	ff 45 d0             	incl   -0x30(%ebp)
55a211:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a214:	8a 95 40 ff ff ff    	mov    -0xc0(%ebp),%dl
55a21a:	88 10                	mov    %dl,(%eax)
55a21c:	ff 45 d0             	incl   -0x30(%ebp)
55a21f:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a222:	8a 95 3c ff ff ff    	mov    -0xc4(%ebp),%dl
55a228:	88 10                	mov    %dl,(%eax)
55a22a:	ff 45 d0             	incl   -0x30(%ebp)
55a22d:	e9 fa 00 00 00       	jmp    0x55a32c
55a232:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
55a238:	8b 04 85 80 14 6b 00 	mov    0x6b1480(,%eax,4),%eax
55a23f:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a245:	e8 ea f1 04 00       	call   0x5a9434
55a24a:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a250:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a256:	dd 9d 18 ff ff ff    	fstpl  -0xe8(%ebp)
55a25c:	9b                   	fwait
55a25d:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a263:	8b 04 85 80 20 6b 00 	mov    0x6b2080(,%eax,4),%eax
55a26a:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a270:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
55a276:	03 04 95 80 1c 6b 00 	add    0x6b1c80(,%edx,4),%eax
55a27d:	e8 b2 f1 04 00       	call   0x5a9434
55a282:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a288:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a28e:	dd 9d 20 ff ff ff    	fstpl  -0xe0(%ebp)
55a294:	9b                   	fwait
55a295:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a29b:	8b 04 85 80 18 6b 00 	mov    0x6b1880(,%eax,4),%eax
55a2a2:	03 85 3c ff ff ff    	add    -0xc4(%ebp),%eax
55a2a8:	e8 87 f1 04 00       	call   0x5a9434
55a2ad:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
55a2b3:	db 85 14 ff ff ff    	fildl  -0xec(%ebp)
55a2b9:	dd 9d 28 ff ff ff    	fstpl  -0xd8(%ebp)
55a2bf:	9b dd 85 18 ff ff ff 	fldl   -0xe8(%ebp)
55a2c6:	e8 01 8a ea ff       	call   0x402ccc
55a2cb:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
55a2d1:	dd 85 20 ff ff ff    	fldl   -0xe0(%ebp)
55a2d7:	e8 f0 89 ea ff       	call   0x402ccc
55a2dc:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a2e2:	dd 85 28 ff ff ff    	fldl   -0xd8(%ebp)
55a2e8:	e8 df 89 ea ff       	call   0x402ccc
55a2ed:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a2f3:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
55a2f9:	e8 36 f1 04 00       	call   0x5a9434
55a2fe:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a301:	88 02                	mov    %al,(%edx)
55a303:	ff 45 d0             	incl   -0x30(%ebp)
55a306:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
55a30c:	e8 23 f1 04 00       	call   0x5a9434
55a311:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a314:	88 02                	mov    %al,(%edx)
55a316:	ff 45 d0             	incl   -0x30(%ebp)
55a319:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a31f:	e8 10 f1 04 00       	call   0x5a9434
55a324:	8b 55 d0             	mov    -0x30(%ebp),%edx
55a327:	88 02                	mov    %al,(%edx)
55a329:	ff 45 d0             	incl   -0x30(%ebp)
55a32c:	43                   	inc    %ebx
55a32d:	4f                   	dec    %edi
55a32e:	0f 85 fb fd ff ff    	jne    0x55a12f
55a334:	8b 45 0c             	mov    0xc(%ebp),%eax
55a337:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a33c:	74 1e                	je     0x55a35c
55a33e:	db 45 e0             	fildl  -0x20(%ebp)
55a341:	8b 45 0c             	mov    0xc(%ebp),%eax
55a344:	dc 48 18             	fmull  0x18(%eax)
55a347:	e8 80 89 ea ff       	call   0x402ccc
55a34c:	8b c8                	mov    %eax,%ecx
55a34e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a351:	8b 55 0c             	mov    0xc(%ebp),%edx
55a354:	8b 52 08             	mov    0x8(%edx),%edx
55a357:	8b 43 04             	mov    0x4(%ebx),%eax
55a35a:	ff 13                	call   *(%ebx)
55a35c:	8b 45 0c             	mov    0xc(%ebp),%eax
55a35f:	8b 40 28             	mov    0x28(%eax),%eax
55a362:	80 38 00             	cmpb   $0x0,(%eax)
55a365:	0f 85 2d 01 00 00    	jne    0x55a498
55a36b:	ff 45 e0             	incl   -0x20(%ebp)
55a36e:	ff 4d a4             	decl   -0x5c(%ebp)
55a371:	0f 85 9c fd ff ff    	jne    0x55a113
55a377:	e9 1c 01 00 00       	jmp    0x55a498
55a37c:	8b 45 c0             	mov    -0x40(%ebp),%eax
55a37f:	48                   	dec    %eax
55a380:	85 c0                	test   %eax,%eax
55a382:	0f 8c 10 01 00 00    	jl     0x55a498
55a388:	40                   	inc    %eax
55a389:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a38c:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
55a393:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a396:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a399:	8b 08                	mov    (%eax),%ecx
55a39b:	ff 11                	call   *(%ecx)
55a39d:	89 45 d0             	mov    %eax,-0x30(%ebp)
55a3a0:	8b 7d c4             	mov    -0x3c(%ebp),%edi
55a3a3:	4f                   	dec    %edi
55a3a4:	85 ff                	test   %edi,%edi
55a3a6:	0f 8c ad 00 00 00    	jl     0x55a459
55a3ac:	47                   	inc    %edi
55a3ad:	33 db                	xor    %ebx,%ebx
55a3af:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a3b2:	8b 55 e0             	mov    -0x20(%ebp),%edx
55a3b5:	8b 14 90             	mov    (%eax,%edx,4),%edx
55a3b8:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a3bb:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
55a3be:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
55a3c4:	8b 84 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%eax
55a3cb:	e8 64 fc 01 00       	call   0x57a034
55a3d0:	50                   	push   %eax
55a3d1:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
55a3d7:	8b c6                	mov    %esi,%eax
55a3d9:	e8 7a fc 01 00       	call   0x57a058
55a3de:	b9 20 00 00 00       	mov    $0x20,%ecx
55a3e3:	2b c8                	sub    %eax,%ecx
55a3e5:	58                   	pop    %eax
55a3e6:	d3 e0                	shl    %cl,%eax
55a3e8:	c1 e8 18             	shr    $0x18,%eax
55a3eb:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
55a3f1:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a3f7:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
55a3fd:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
55a403:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
55a409:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a40c:	8b 10                	mov    (%eax),%edx
55a40e:	ff 52 10             	call   *0x10(%edx)
55a411:	3c 05                	cmp    $0x5,%al
55a413:	75 2c                	jne    0x55a441
55a415:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a418:	8a 95 44 ff ff ff    	mov    -0xbc(%ebp),%dl
55a41e:	88 10                	mov    %dl,(%eax)
55a420:	ff 45 d0             	incl   -0x30(%ebp)
55a423:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a426:	8a 95 40 ff ff ff    	mov    -0xc0(%ebp),%dl
55a42c:	88 10                	mov    %dl,(%eax)
55a42e:	ff 45 d0             	incl   -0x30(%ebp)
55a431:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a434:	8a 95 3c ff ff ff    	mov    -0xc4(%ebp),%dl
55a43a:	88 10                	mov    %dl,(%eax)
55a43c:	ff 45 d0             	incl   -0x30(%ebp)
55a43f:	eb 10                	jmp    0x55a451
55a441:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
55a447:	8b d3                	mov    %ebx,%edx
55a449:	8b 45 d0             	mov    -0x30(%ebp),%eax
55a44c:	e8 cb 56 05 00       	call   0x5afb1c