1401e1222:	8b 71 48             	mov    0x48(%rcx),%esi
1401e1225:	48 03 69 08          	add    0x8(%rcx),%rbp
1401e1229:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401e122e:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401e1233:	29 c6                	sub    %eax,%esi
1401e1235:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1401e123a:	e8 01 97 ff ff       	call   0x1401da940
1401e123f:	85 c0                	test   %eax,%eax
1401e1241:	78 4d                	js     0x1401e1290
1401e1243:	48 83 7c 24 38 00    	cmpq   $0x0,0x38(%rsp)
1401e1249:	75 45                	jne    0x1401e1290
1401e124b:	48 98                	cltq
1401e124d:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
1401e1252:	48 29 c6             	sub    %rax,%rsi
1401e1255:	4c 39 e6             	cmp    %r12,%rsi
1401e1258:	72 36                	jb     0x1401e1290
1401e125a:	48 8b 73 10          	mov    0x10(%rbx),%rsi
1401e125e:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1401e1262:	48 8d 54 05 00       	lea    0x0(%rbp,%rax,1),%rdx
1401e1267:	49 39 f4             	cmp    %rsi,%r12
1401e126a:	49 89 f0             	mov    %rsi,%r8
1401e126d:	4d 0f 46 c4          	cmovbe %r12,%r8
1401e1271:	e8 72 8b 00 00       	call   0x1401e9de8
1401e1276:	89 c2                	mov    %eax,%edx
1401e1278:	31 c0                	xor    %eax,%eax
1401e127a:	4c 39 e6             	cmp    %r12,%rsi
1401e127d:	89 d1                	mov    %edx,%ecx
1401e127f:	0f 92 c0             	setb   %al
1401e1282:	c1 e9 1f             	shr    $0x1f,%ecx
1401e1285:	85 d2                	test   %edx,%edx
1401e1287:	0f 45 c1             	cmovne %ecx,%eax
1401e128a:	eb 0f                	jmp    0x1401e129b
1401e128c:	0f 1f 40 00          	nopl   0x0(%rax)
1401e1290:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
1401e1296:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401e129b:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1401e12a0:	48 2b 17             	sub    (%rdi),%rdx
1401e12a3:	75 0b                	jne    0x1401e12b0
1401e12a5:	48 83 c4 50          	add    $0x50,%rsp
1401e12a9:	5b                   	pop    %rbx
1401e12aa:	5e                   	pop    %rsi
1401e12ab:	5f                   	pop    %rdi
1401e12ac:	5d                   	pop    %rbp
1401e12ad:	41 5c                	pop    %r12
1401e12af:	c3                   	ret
1401e12b0:	e8 bb 35 00 00       	call   0x1401e4870
1401e12b5:	90                   	nop
1401e12b6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1401e12bd:	00 00 00
1401e12c0:	48 83 ec 28          	sub    $0x28,%rsp
1401e12c4:	b8 18 00 00 00       	mov    $0x18,%eax
1401e12c9:	83 f9 01             	cmp    $0x1,%ecx
1401e12cc:	75 0a                	jne    0x1401e12d8
1401e12ce:	48 83 c4 28          	add    $0x28,%rsp
1401e12d2:	c3                   	ret
1401e12d3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401e12d8:	83 f9 02             	cmp    $0x2,%ecx
1401e12db:	0f 85 4f 95 00 00    	jne    0x1401ea830
1401e12e1:	b8 1c 00 00 00       	mov    $0x1c,%eax
1401e12e6:	48 83 c4 28          	add    $0x28,%rsp
1401e12ea:	c3                   	ret
1401e12eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401e12f0:	48 83 ec 28          	sub    $0x28,%rsp
1401e12f4:	b8 44 00 00 00       	mov    $0x44,%eax
1401e12f9:	83 f9 01             	cmp    $0x1,%ecx
1401e12fc:	75 0a                	jne    0x1401e1308
1401e12fe:	48 83 c4 28          	add    $0x28,%rsp
1401e1302:	c3                   	ret
1401e1303:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401e1308:	83 f9 02             	cmp    $0x2,%ecx
1401e130b:	0f 85 25 95 00 00    	jne    0x1401ea836
1401e1311:	b8 48 00 00 00       	mov    $0x48,%eax
1401e1316:	48 83 c4 28          	add    $0x28,%rsp
1401e131a:	c3                   	ret
1401e131b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401e1320:	53                   	push   %rbx
1401e1321:	48 83 ec 20          	sub    $0x20,%rsp
1401e1325:	8b 44 24 50          	mov    0x50(%rsp),%eax
1401e1329:	48 89 cb             	mov    %rcx,%rbx
1401e132c:	89 d1                	mov    %edx,%ecx
1401e132e:	8b 54 24 58          	mov    0x58(%rsp),%edx
1401e1332:	89 43 24             	mov    %eax,0x24(%rbx)
1401e1335:	89 53 2c             	mov    %edx,0x2c(%rbx)
1401e1338:	89 c2                	mov    %eax,%edx
1401e133a:	83 c0 04             	add    $0x4,%eax
1401e133d:	4c 89 43 18          	mov    %r8,0x18(%rbx)
1401e1341:	44 89 4b 20          	mov    %r9d,0x20(%rbx)
1401e1345:	41 88 0c 10          	mov    %cl,(%r8,%rdx,1)
1401e1349:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1401e134d:	89 43 30             	mov    %eax,0x30(%rbx)
1401e1350:	b8 10 00 00 00       	mov    $0x10,%eax
1401e1355:	66 89 43 28          	mov    %ax,0x28(%rbx)
1401e1359:	c7 43 78 00 00 00 00 	movl   $0x0,0x78(%rbx)
1401e1360:	c7 43 40 00 00 00 00 	movl   $0x0,0x40(%rbx)
1401e1367:	48 c7 43 50 00 00 00 	movq   $0x0,0x50(%rbx)
1401e136e:	00
1401e136f:	74 0f                	je     0x1401e1380
1401e1371:	31 c0                	xor    %eax,%eax
1401e1373:	48 83 c4 20          	add    $0x20,%rsp
1401e1377:	5b                   	pop    %rbx
1401e1378:	c3                   	ret
1401e1379:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401e1380:	b9 01 00 00 00       	mov    $0x1,%ecx
1401e1385:	ba 58 00 00 00       	mov    $0x58,%edx
1401e138a:	e8 81 f6 ff ff       	call   0x1401e0a10
1401e138f:	48 89 03             	mov    %rax,(%rbx)
1401e1392:	48 89 c1             	mov    %rax,%rcx
1401e1395:	48 85 c0             	test   %rax,%rax
1401e1398:	74 19                	je     0x1401e13b3
1401e139a:	41 b9 58 00 00 00    	mov    $0x58,%r9d
1401e13a0:	4c 8d 05 59 6e 05 00 	lea    0x56e59(%rip),%r8        # 0x140238200
1401e13a7:	ba 09 00 00 00       	mov    $0x9,%edx
1401e13ac:	e8 2f 1f 00 00       	call   0x1401e32e0
1401e13b1:	eb be                	jmp    0x1401e1371
1401e13b3:	b8 f3 ff ff ff       	mov    $0xfffffff3,%eax
1401e13b8:	eb b9                	jmp    0x1401e1373
1401e13ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401e13c0:	8b 41 24             	mov    0x24(%rcx),%eax
1401e13c3:	48 8b 51 18          	mov    0x18(%rcx),%rdx
1401e13c7:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax
1401e13cb:	c3                   	ret
1401e13cc:	0f 1f 40 00          	nopl   0x0(%rax)
1401e13d0:	41 56                	push   %r14
1401e13d2:	41 55                	push   %r13
1401e13d4:	41 54                	push   %r12
1401e13d6:	55                   	push   %rbp
1401e13d7:	57                   	push   %rdi
1401e13d8:	56                   	push   %rsi
1401e13d9:	53                   	push   %rbx
1401e13da:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
1401e13e1:	48 8b 3d 08 77 05 00 	mov    0x57708(%rip),%rdi        # 0x140238af0
1401e13e8:	48 8b 07             	mov    (%rdi),%rax
1401e13eb:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
1401e13f2:	00
1401e13f3:	31 c0                	xor    %eax,%eax
1401e13f5:	48 89 cb             	mov    %rcx,%rbx
1401e13f8:	0f b7 49 28          	movzwl 0x28(%rcx),%ecx
1401e13fc:	48 89 d6             	mov    %rdx,%rsi
1401e13ff:	8b 43 78             	mov    0x78(%rbx),%eax
1401e1402:	99                   	cltd
1401e1403:	f7 f9                	idiv   %ecx
1401e1405:	85 d2                	test   %edx,%edx
1401e1407:	0f 84 b3 01 00 00    	je     0x1401e15c0
1401e140d:	48 8b 43 58          	mov    0x58(%rbx),%rax
1401e1411:	f3 0f 6f 5b 48       	movdqu 0x48(%rbx),%xmm3
1401e1416:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
1401e141d:	00
1401e141e:	0f 11 9c 24 90 00 00 	movups %xmm3,0x90(%rsp)
1401e1425:	00
1401e1426:	48 8d 53 60          	lea    0x60(%rbx),%rdx
1401e142a:	48 89 f1             	mov    %rsi,%rcx
1401e142d:	48 8b 6b 18          	mov    0x18(%rbx),%rbp
1401e1431:	44 8b 63 30          	mov    0x30(%rbx),%r12d
1401e1435:	c7 84 24 8c 00 00 00 	movl   $0x0,0x8c(%rsp)
1401e143c:	00 00 00 00
1401e1440:	44 8b 6b 20          	mov    0x20(%rbx),%r13d
1401e1444:	e8 97 9e ff ff       	call   0x1401db2e0
1401e1449:	85 c0                	test   %eax,%eax
1401e144b:	0f 88 48 01 00 00    	js     0x1401e1599
1401e1451:	48 83 7b 68 00       	cmpq   $0x0,0x68(%rbx)
1401e1456:	0f 84 04 02 00 00    	je     0x1401e1660
1401e145c:	44 89 e0             	mov    %r12d,%eax
1401e145f:	48 89 f1             	mov    %rsi,%rcx
1401e1462:	4c 8d 74 24 70       	lea    0x70(%rsp),%r14
1401e1467:	45 29 e5             	sub    %r12d,%r13d
1401e146a:	48 01 c5             	add    %rax,%rbp
1401e146d:	45 89 ec             	mov    %r13d,%r12d
1401e1470:	e8 2b a0 ff ff       	call   0x1401db4a0
1401e1475:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
1401e147a:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
1401e147f:	48 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%rdx
1401e1486:	00
1401e1487:	0f b6 c0             	movzbl %al,%eax
1401e148a:	48 8d 8c 24 8c 00 00 	lea    0x8c(%rsp),%rcx
1401e1491:	00
1401e1492:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
1401e1497:	f3 0f 6f 8c 24 90 00 	movdqu 0x90(%rsp),%xmm1
1401e149e:	00 00
1401e14a0:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
1401e14a5:	0f 11 4c 24 50       	movups %xmm1,0x50(%rsp)
1401e14aa:	f3 0f 6f 53 60       	movdqu 0x60(%rbx),%xmm2
1401e14af:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1401e14b4:	0f 11 54 24 30       	movups %xmm2,0x30(%rsp)
1401e14b9:	48 8b 53 70          	mov    0x70(%rbx),%rdx
1401e14bd:	89 44 24 20          	mov    %eax,0x20(%rsp)
1401e14c1:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
1401e14c6:	4c 89 f2             	mov    %r14,%rdx
1401e14c9:	e8 82 93 ff ff       	call   0x1401da850
1401e14ce:	85 c0                	test   %eax,%eax
1401e14d0:	78 57                	js     0x1401e1529
1401e14d2:	48 98                	cltq
1401e14d4:	44 8b 43 2c          	mov    0x2c(%rbx),%r8d
1401e14d8:	4c 89 f2             	mov    %r14,%rdx
1401e14db:	48 89 f1             	mov    %rsi,%rcx
1401e14de:	49 29 c4             	sub    %rax,%r12
1401e14e1:	48 01 c5             	add    %rax,%rbp
1401e14e4:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
1401e14e9:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1401e14ee:	e8 6d 9e ff ff       	call   0x1401db360
1401e14f3:	85 c0                	test   %eax,%eax
1401e14f5:	78 32                	js     0x1401e1529
1401e14f7:	41 8d 74 05 00       	lea    0x0(%r13,%rax,1),%esi
1401e14fc:	8b 4b 20             	mov    0x20(%rbx),%ecx
1401e14ff:	8b 43 30             	mov    0x30(%rbx),%eax
1401e1502:	44 8b 84 24 8c 00 00 	mov    0x8c(%rsp),%r8d
1401e1509:	00
1401e150a:	8b 53 40             	mov    0x40(%rbx),%edx
1401e150d:	44 29 e6             	sub    %r12d,%esi
1401e1510:	29 c1                	sub    %eax,%ecx
1401e1512:	45 85 c0             	test   %r8d,%r8d
1401e1515:	74 08                	je     0x1401e151f
1401e1517:	81 fa fe ff 00 00    	cmp    $0xfffe,%edx
1401e151d:	7e 11                	jle    0x1401e1530
1401e151f:	8d 54 52 02          	lea    0x2(%rdx,%rdx,2),%edx
1401e1523:	01 f2                	add    %esi,%edx
1401e1525:	39 d1                	cmp    %edx,%ecx
1401e1527:	73 45                	jae    0x1401e156e
1401e1529:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401e152e:	eb 69                	jmp    0x1401e1599
1401e1530:	44 8d 44 52 05       	lea    0x5(%rdx,%rdx,2),%r8d
1401e1535:	8d 42 01             	lea    0x1(%rdx),%eax
1401e1538:	41 01 f0             	add    %esi,%r8d
1401e153b:	44 39 c1             	cmp    %r8d,%ecx
1401e153e:	72 e9                	jb     0x1401e1529
1401e1540:	44 8b 73 44          	mov    0x44(%rbx),%r14d
1401e1544:	4c 8b 63 38          	mov    0x38(%rbx),%r12
1401e1548:	4d 89 f5             	mov    %r14,%r13
1401e154b:	49 39 c6             	cmp    %rax,%r14
1401e154e:	0f 82 8c 00 00 00    	jb     0x1401e15e0
1401e1554:	44 89 6b 44          	mov    %r13d,0x44(%rbx)
1401e1558:	4d 85 e4             	test   %r12,%r12
1401e155b:	0f 84 f3 00 00 00    	je     0x1401e1654
1401e1561:	8d 42 01             	lea    0x1(%rdx),%eax
1401e1564:	89 43 40             	mov    %eax,0x40(%rbx)
1401e1567:	8b 43 30             	mov    0x30(%rbx),%eax
1401e156a:	41 89 04 94          	mov    %eax,(%r12,%rdx,4)
1401e156e:	01 f0                	add    %esi,%eax
1401e1570:	48 8d 73 48          	lea    0x48(%rbx),%rsi
1401e1574:	89 43 30             	mov    %eax,0x30(%rbx)
1401e1577:	48 89 f1             	mov    %rsi,%rcx
1401e157a:	e8 c1 f5 ff ff       	call   0x1401e0b40
1401e157f:	48 8b 53 70          	mov    0x70(%rbx),%rdx
1401e1583:	4c 8b 43 68          	mov    0x68(%rbx),%r8
1401e1587:	48 89 f1             	mov    %rsi,%rcx
1401e158a:	e8 51 f6 ff ff       	call   0x1401e0be0
1401e158f:	85 c0                	test   %eax,%eax
1401e1591:	78 06                	js     0x1401e1599
1401e1593:	83 43 78 01          	addl   $0x1,0x78(%rbx)
1401e1597:	31 c0                	xor    %eax,%eax
1401e1599:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
1401e15a0:	00
1401e15a1:	48 2b 17             	sub    (%rdi),%rdx
1401e15a4:	0f 85 c0 00 00 00    	jne    0x1401e166a
1401e15aa:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
1401e15b1:	5b                   	pop    %rbx
1401e15b2:	5e                   	pop    %rsi
1401e15b3:	5f                   	pop    %rdi
1401e15b4:	5d                   	pop    %rbp
1401e15b5:	41 5c                	pop    %r12
1401e15b7:	41 5d                	pop    %r13
1401e15b9:	41 5e                	pop    %r14
1401e15bb:	c3                   	ret
1401e15bc:	0f 1f 40 00          	nopl   0x0(%rax)
1401e15c0:	48 c7 84 24 a0 00 00 	movq   $0x0,0xa0(%rsp)
1401e15c7:	00 00 00 00 00
1401e15cc:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401e15d0:	0f 11 84 24 90 00 00 	movups %xmm0,0x90(%rsp)
1401e15d7:	00
1401e15d8:	e9 49 fe ff ff       	jmp    0x1401e1426
1401e15dd:	0f 1f 00             	nopl   (%rax)
1401e15e0:	4b 8d 6c 36 01       	lea    0x1(%r14,%r14,1),%rbp
1401e15e5:	4c 89 e1             	mov    %r12,%rcx
1401e15e8:	48 39 c5             	cmp    %rax,%rbp
1401e15eb:	48 0f 42 e8          	cmovb  %rax,%rbp
1401e15ef:	48 8d 14 ad 00 00 00 	lea    0x0(,%rbp,4),%rdx
1401e15f6:	00
1401e15f7:	e8 a4 f3 ff ff       	call   0x1401e09a0
1401e15fc:	48 89 c1             	mov    %rax,%rcx
1401e15ff:	48 85 c0             	test   %rax,%rax
1401e1602:	74 1c                	je     0x1401e1620
1401e1604:	8b 53 40             	mov    0x40(%rbx),%edx
1401e1607:	48 89 43 38          	mov    %rax,0x38(%rbx)
1401e160b:	8d 42 01             	lea    0x1(%rdx),%eax
1401e160e:	48 39 c5             	cmp    %rax,%rbp
1401e1611:	72 2d                	jb     0x1401e1640
1401e1613:	89 6b 44             	mov    %ebp,0x44(%rbx)
1401e1616:	49 89 cc             	mov    %rcx,%r12
1401e1619:	e9 43 ff ff ff       	jmp    0x1401e1561
1401e161e:	66 90                	xchg   %ax,%ax
1401e1620:	8b 53 40             	mov    0x40(%rbx),%edx
1401e1623:	4c 89 63 38          	mov    %r12,0x38(%rbx)
1401e1627:	8d 42 01             	lea    0x1(%rdx),%eax
1401e162a:	49 39 c6             	cmp    %rax,%r14
1401e162d:	0f 83 21 ff ff ff    	jae    0x1401e1554
1401e1633:	4c 89 e1             	mov    %r12,%rcx
1401e1636:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1401e163d:	00 00 00
1401e1640:	e8 ab f3 ff ff       	call   0x1401e09f0
1401e1645:	48 c7 43 38 00 00 00 	movq   $0x0,0x38(%rbx)
1401e164c:	00
1401e164d:	c7 43 44 00 00 00 00 	movl   $0x0,0x44(%rbx)
1401e1654:	b8 f3 ff ff ff       	mov    $0xfffffff3,%eax
1401e1659:	e9 3b ff ff ff       	jmp    0x1401e1599
1401e165e:	66 90                	xchg   %ax,%ax
1401e1660:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
1401e1665:	e9 2f ff ff ff       	jmp    0x1401e1599
1401e166a:	e8 01 32 00 00       	call   0x1401e4870
1401e166f:	90                   	nop
1401e1670:	41 55                	push   %r13
1401e1672:	41 54                	push   %r12
1401e1674:	55                   	push   %rbp
1401e1675:	57                   	push   %rdi
1401e1676:	56                   	push   %rsi
1401e1677:	53                   	push   %rbx
1401e1678:	48 83 ec 28          	sub    $0x28,%rsp
1401e167c:	48 89 cb             	mov    %rcx,%rbx
1401e167f:	8b 49 30             	mov    0x30(%rcx),%ecx
1401e1682:	8b 43 40             	mov    0x40(%rbx),%eax
1401e1685:	85 c0                	test   %eax,%eax
1401e1687:	0f 84 0b 01 00 00    	je     0x1401e1798
1401e168d:	31 f6                	xor    %esi,%esi
1401e168f:	90                   	nop
1401e1690:	48 8b 43 38          	mov    0x38(%rbx),%rax
1401e1694:	48 03 4b 18          	add    0x18(%rbx),%rcx
1401e1698:	8b 14 b0             	mov    (%rax,%rsi,4),%edx
1401e169b:	48 83 c6 01          	add    $0x1,%rsi
1401e169f:	e8 4c f6 ff ff       	call   0x1401e0cf0
1401e16a4:	8b 43 30             	mov    0x30(%rbx),%eax
1401e16a7:	8b 53 40             	mov    0x40(%rbx),%edx
1401e16aa:	8d 48 03             	lea    0x3(%rax),%ecx
1401e16ad:	89 4b 30             	mov    %ecx,0x30(%rbx)
1401e16b0:	39 d6                	cmp    %edx,%esi
1401e16b2:	72 dc                	jb     0x1401e1690
1401e16b4:	0f b7 d2             	movzwl %dx,%edx
1401e16b7:	48 03 4b 18          	add    0x18(%rbx),%rcx
1401e16bb:	e8 60 f6 ff ff       	call   0x1401e0d20
1401e16c0:	8b 43 30             	mov    0x30(%rbx),%eax
1401e16c3:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1401e16c7:	8d 50 02             	lea    0x2(%rax),%edx
1401e16ca:	8b 43 24             	mov    0x24(%rbx),%eax
1401e16cd:	89 53 30             	mov    %edx,0x30(%rbx)
1401e16d0:	48 8d 4c 01 01       	lea    0x1(%rcx,%rax,1),%rcx
1401e16d5:	e8 16 f6 ff ff       	call   0x1401e0cf0
1401e16da:	8b 4b 24             	mov    0x24(%rbx),%ecx
1401e16dd:	4c 8b 43 18          	mov    0x18(%rbx),%r8
1401e16e1:	8b 43 30             	mov    0x30(%rbx),%eax
1401e16e4:	41 80 3c 08 67       	cmpb   $0x67,(%r8,%rcx,1)
1401e16e9:	74 15                	je     0x1401e1700
1401e16eb:	48 83 c4 28          	add    $0x28,%rsp
1401e16ef:	5b                   	pop    %rbx