180037f09:	48 8b 47 48          	mov    0x48(%rdi),%rax
180037f0d:	48 89 43 68          	mov    %rax,0x68(%rbx)
180037f11:	48 8b 87 e8 00 00 00 	mov    0xe8(%rdi),%rax
180037f18:	48 89 43 70          	mov    %rax,0x70(%rbx)
180037f1c:	b8 02 00 00 00       	mov    $0x2,%eax
180037f21:	48 85 c9             	test   %rcx,%rcx
180037f24:	75 06                	jne    0x180037f2c
180037f26:	8b 87 00 01 00 00    	mov    0x100(%rdi),%eax
180037f2c:	48 85 c9             	test   %rcx,%rcx
180037f2f:	89 43 78             	mov    %eax,0x78(%rbx)
180037f32:	8b 45 48             	mov    0x48(%rbp),%eax
180037f35:	48 8d 8b 98 00 00 00 	lea    0x98(%rbx),%rcx
180037f3c:	49 0f 45 f7          	cmovne %r15,%rsi
180037f40:	89 43 7c             	mov    %eax,0x7c(%rbx)
180037f43:	8b 45 4c             	mov    0x4c(%rbp),%eax
180037f46:	ba e0 01 00 00       	mov    $0x1e0,%edx
180037f4b:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180037f51:	48 89 b3 88 00 00 00 	mov    %rsi,0x88(%rbx)
180037f58:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
180037f5e:	4c 89 b3 90 00 00 00 	mov    %r14,0x90(%rbx)
180037f65:	e8 3a ed 00 00       	call   0x180046ca4
180037f6a:	44 8b d0             	mov    %eax,%r10d
180037f6d:	85 c0                	test   %eax,%eax
180037f6f:	0f 88 5e 02 00 00    	js     0x1800381d3
180037f75:	f6 45 40 02          	testb  $0x2,0x40(%rbp)
180037f79:	74 04                	je     0x180037f7f
180037f7b:	83 4b 2c 01          	orl    $0x1,0x2c(%rbx)
180037f7f:	48 8b d7             	mov    %rdi,%rdx
180037f82:	48 8b cb             	mov    %rbx,%rcx
180037f85:	e8 f6 02 00 00       	call   0x180038280
180037f8a:	44 8b d0             	mov    %eax,%r10d
180037f8d:	85 c0                	test   %eax,%eax
180037f8f:	0f 88 3e 02 00 00    	js     0x1800381d3
180037f95:	48 8b d7             	mov    %rdi,%rdx
180037f98:	48 8b cb             	mov    %rbx,%rcx
180037f9b:	e8 54 09 00 00       	call   0x1800388f4
180037fa0:	44 8b d0             	mov    %eax,%r10d
180037fa3:	85 c0                	test   %eax,%eax
180037fa5:	0f 88 28 02 00 00    	js     0x1800381d3
180037fab:	48 8b d7             	mov    %rdi,%rdx
180037fae:	48 8b cb             	mov    %rbx,%rcx
180037fb1:	e8 8a 0a 00 00       	call   0x180038a40
180037fb6:	44 8b d0             	mov    %eax,%r10d
180037fb9:	85 c0                	test   %eax,%eax
180037fbb:	0f 88 12 02 00 00    	js     0x1800381d3
180037fc1:	48 8b d7             	mov    %rdi,%rdx
180037fc4:	48 8b cb             	mov    %rbx,%rcx
180037fc7:	e8 d8 0c 00 00       	call   0x180038ca4
180037fcc:	44 8b d0             	mov    %eax,%r10d
180037fcf:	85 c0                	test   %eax,%eax
180037fd1:	0f 88 fc 01 00 00    	js     0x1800381d3
180037fd7:	48 8d 8b 20 01 00 00 	lea    0x120(%rbx),%rcx
180037fde:	48 8b d7             	mov    %rdi,%rdx
180037fe1:	e8 06 f6 ff ff       	call   0x1800375ec
180037fe6:	44 8b d0             	mov    %eax,%r10d
180037fe9:	85 c0                	test   %eax,%eax
180037feb:	0f 88 e2 01 00 00    	js     0x1800381d3
180037ff1:	80 7f 42 02          	cmpb   $0x2,0x42(%rdi)
180037ff5:	75 53                	jne    0x18003804a
180037ff7:	4c 39 bf 98 00 00 00 	cmp    %r15,0x98(%rdi)
180037ffe:	74 4a                	je     0x18003804a
180038000:	b9 18 00 00 00       	mov    $0x18,%ecx
180038005:	e8 0a e9 00 00       	call   0x180046914
18003800a:	4c 8b d0             	mov    %rax,%r10
18003800d:	48 85 c0             	test   %rax,%rax
180038010:	74 0c                	je     0x18003801e
180038012:	48 8d 05 af b3 10 00 	lea    0x10b3af(%rip),%rax        # 0x1801433c8
180038019:	49 89 02             	mov    %rax,(%r10)
18003801c:	eb 03                	jmp    0x180038021
18003801e:	4d 8b d7             	mov    %r15,%r10
180038021:	4c 89 93 40 01 00 00 	mov    %r10,0x140(%rbx)
180038028:	4d 85 d2             	test   %r10,%r10
18003802b:	75 0b                	jne    0x180038038
18003802d:	41 ba 9a 00 00 c0    	mov    $0xc000009a,%r10d
180038033:	e9 9b 01 00 00       	jmp    0x1800381d3
180038038:	b2 04                	mov    $0x4,%dl
18003803a:	49 89 5a 08          	mov    %rbx,0x8(%r10)
18003803e:	48 8b cb             	mov    %rbx,%rcx
180038041:	e8 02 02 00 00       	call   0x180038248
180038046:	49 89 42 10          	mov    %rax,0x10(%r10)
18003804a:	48 8b d7             	mov    %rdi,%rdx
18003804d:	48 8b cb             	mov    %rbx,%rcx
180038050:	e8 b3 06 00 00       	call   0x180038708
180038055:	44 8b d0             	mov    %eax,%r10d
180038058:	85 c0                	test   %eax,%eax
18003805a:	0f 88 73 01 00 00    	js     0x1800381d3
180038060:	80 7f 42 02          	cmpb   $0x2,0x42(%rdi)
180038064:	45 8b d7             	mov    %r15d,%r10d
180038067:	75 6a                	jne    0x1800380d3
180038069:	b2 05                	mov    $0x5,%dl
18003806b:	48 8b cb             	mov    %rbx,%rcx
18003806e:	e8 d5 01 00 00       	call   0x180038248
180038073:	48 85 c0             	test   %rax,%rax
180038076:	75 1e                	jne    0x180038096
180038078:	b2 03                	mov    $0x3,%dl
18003807a:	48 8b cb             	mov    %rbx,%rcx
18003807d:	e8 c6 01 00 00       	call   0x180038248
180038082:	48 85 c0             	test   %rax,%rax
180038085:	75 0f                	jne    0x180038096
180038087:	b2 07                	mov    $0x7,%dl
180038089:	48 8b cb             	mov    %rbx,%rcx
18003808c:	e8 b7 01 00 00       	call   0x180038248
180038091:	48 85 c0             	test   %rax,%rax
180038094:	74 3d                	je     0x1800380d3
180038096:	b9 38 01 00 00       	mov    $0x138,%ecx
18003809b:	e8 74 e8 00 00       	call   0x180046914
1800380a0:	48 85 c0             	test   %rax,%rax
1800380a3:	74 0a                	je     0x1800380af
1800380a5:	48 8b c8             	mov    %rax,%rcx
1800380a8:	e8 53 ff 0f 00       	call   0x180138000
1800380ad:	eb 03                	jmp    0x1800380b2
1800380af:	49 8b c7             	mov    %r15,%rax
1800380b2:	48 89 83 50 01 00 00 	mov    %rax,0x150(%rbx)
1800380b9:	48 85 c0             	test   %rax,%rax
1800380bc:	0f 84 6b ff ff ff    	je     0x18003802d
1800380c2:	4c 8b c3             	mov    %rbx,%r8
1800380c5:	48 8b d7             	mov    %rdi,%rdx
1800380c8:	48 8b c8             	mov    %rax,%rcx
1800380cb:	e8 74 00 10 00       	call   0x180138144
1800380d0:	44 8b d0             	mov    %eax,%r10d
1800380d3:	45 85 d2             	test   %r10d,%r10d
1800380d6:	0f 88 f7 00 00 00    	js     0x1800381d3
1800380dc:	48 8b d7             	mov    %rdi,%rdx
1800380df:	48 8b cb             	mov    %rbx,%rcx
1800380e2:	e8 e5 06 00 00       	call   0x1800387cc
1800380e7:	44 8b d0             	mov    %eax,%r10d
1800380ea:	85 c0                	test   %eax,%eax
1800380ec:	0f 88 e1 00 00 00    	js     0x1800381d3
1800380f2:	48 8b d7             	mov    %rdi,%rdx
1800380f5:	48 8b cb             	mov    %rbx,%rcx
1800380f8:	e8 23 05 00 00       	call   0x180038620
1800380fd:	44 8b d0             	mov    %eax,%r10d
180038100:	85 c0                	test   %eax,%eax
180038102:	0f 88 cb 00 00 00    	js     0x1800381d3
180038108:	48 8b d7             	mov    %rdi,%rdx
18003810b:	48 8b cb             	mov    %rbx,%rcx
18003810e:	e8 45 0a 00 00       	call   0x180038b58
180038113:	44 8b d0             	mov    %eax,%r10d
180038116:	85 c0                	test   %eax,%eax
180038118:	0f 88 b5 00 00 00    	js     0x1800381d3
18003811e:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180038125:	45 8b d7             	mov    %r15d,%r10d
180038128:	48 85 c9             	test   %rcx,%rcx
18003812b:	74 32                	je     0x18003815f
18003812d:	4c 39 79 38          	cmp    %r15,0x38(%rcx)
180038131:	74 2c                	je     0x18003815f
180038133:	8b 43 2c             	mov    0x2c(%rbx),%eax
180038136:	a8 10                	test   $0x10,%al
180038138:	74 25                	je     0x18003815f
18003813a:	4c 39 bb 90 00 00 00 	cmp    %r15,0x90(%rbx)
180038141:	75 1c                	jne    0x18003815f
180038143:	ba 02 00 00 00       	mov    $0x2,%edx
180038148:	e8 97 04 10 00       	call   0x1801385e4
18003814d:	44 8b d0             	mov    %eax,%r10d
180038150:	85 c0                	test   %eax,%eax
180038152:	78 0b                	js     0x18003815f
180038154:	48 8b cb             	mov    %rbx,%rcx
180038157:	e8 c8 18 00 00       	call   0x180039a24
18003815c:	44 8b d0             	mov    %eax,%r10d
18003815f:	45 85 d2             	test   %r10d,%r10d
180038162:	78 6f                	js     0x1800381d3
180038164:	48 8b cb             	mov    %rbx,%rcx
180038167:	e8 e0 0c 00 00       	call   0x180038e4c
18003816c:	44 8b d0             	mov    %eax,%r10d
18003816f:	85 c0                	test   %eax,%eax
180038171:	78 60                	js     0x1800381d3
180038173:	48 8b 8b 48 01 00 00 	mov    0x148(%rbx),%rcx
18003817a:	45 8b d7             	mov    %r15d,%r10d
18003817d:	48 85 c9             	test   %rcx,%rcx
180038180:	74 08                	je     0x18003818a
180038182:	e8 21 60 10 00       	call   0x18013e1a8
180038187:	44 8b d0             	mov    %eax,%r10d
18003818a:	45 85 d2             	test   %r10d,%r10d
18003818d:	78 44                	js     0x1800381d3
18003818f:	45 8b d7             	mov    %r15d,%r10d
180038192:	4c 39 bb 50 01 00 00 	cmp    %r15,0x150(%rbx)
180038199:	74 33                	je     0x1800381ce
18003819b:	41 8b f7             	mov    %r15d,%esi
18003819e:	bd 28 00 00 00       	mov    $0x28,%ebp
1800381a3:	83 fe 02             	cmp    $0x2,%esi
1800381a6:	74 1b                	je     0x1800381c3
1800381a8:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
1800381af:	4c 39 3c 29          	cmp    %r15,(%rcx,%rbp,1)
1800381b3:	74 0e                	je     0x1800381c3
1800381b5:	8b d6                	mov    %esi,%edx
1800381b7:	e8 28 04 10 00       	call   0x1801385e4
1800381bc:	44 8b d0             	mov    %eax,%r10d
1800381bf:	85 c0                	test   %eax,%eax
1800381c1:	78 0b                	js     0x1800381ce
1800381c3:	ff c6                	inc    %esi
1800381c5:	48 83 c5 08          	add    $0x8,%rbp
1800381c9:	83 fe 03             	cmp    $0x3,%esi
1800381cc:	72 d5                	jb     0x1800381a3
1800381ce:	45 85 d2             	test   %r10d,%r10d
1800381d1:	79 28                	jns    0x1800381fb
1800381d3:	41 81 fa c0 00 00 c0 	cmp    $0xc00000c0,%r10d
1800381da:	75 0c                	jne    0x1800381e8
1800381dc:	c7 87 e0 00 00 00 04 	movl   $0x4,0xe0(%rdi)
1800381e3:	00 00 00
1800381e6:	eb 13                	jmp    0x1800381fb
1800381e8:	41 81 fa 35 00 38 c0 	cmp    $0xc0380035,%r10d
1800381ef:	75 0a                	jne    0x1800381fb
1800381f1:	c7 87 e0 00 00 00 03 	movl   $0x3,0xe0(%rdi)
1800381f8:	00 00 00
1800381fb:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180038200:	41 8b c2             	mov    %r10d,%eax
180038203:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180038208:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003820d:	48 83 c4 20          	add    $0x20,%rsp
180038211:	41 5f                	pop    %r15
180038213:	41 5e                	pop    %r14
180038215:	5f                   	pop    %rdi
180038216:	c3                   	ret
180038217:	cc                   	int3
180038218:	48 83 ec 28          	sub    $0x28,%rsp
18003821c:	48 8b 81 e8 00 00 00 	mov    0xe8(%rcx),%rax
180038223:	eb 0a                	jmp    0x18003822f
180038225:	48 8b c8             	mov    %rax,%rcx
180038228:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18003822f:	48 85 c0             	test   %rax,%rax
180038232:	75 f1                	jne    0x180038225
180038234:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
18003823b:	8b d2                	mov    %edx,%edx
18003823d:	e8 9a b6 00 00       	call   0x1800438dc
180038242:	48 83 c4 28          	add    $0x28,%rsp
180038246:	c3                   	ret
180038247:	cc                   	int3
180038248:	45 33 c9             	xor    %r9d,%r9d
18003824b:	48 81 c1 f8 00 00 00 	add    $0xf8,%rcx
180038252:	45 8a c1             	mov    %r9b,%r8b
180038255:	48 8b 01             	mov    (%rcx),%rax
180038258:	eb 10                	jmp    0x18003826a
18003825a:	4c 8d 88 f8 fe ff ff 	lea    -0x108(%rax),%r9
180038261:	41 38 51 28          	cmp    %dl,0x28(%r9)
180038265:	74 0a                	je     0x180038271
180038267:	48 8b 00             	mov    (%rax),%rax
18003826a:	48 3b c1             	cmp    %rcx,%rax
18003826d:	75 eb                	jne    0x18003825a
18003826f:	eb 03                	jmp    0x180038274
180038271:	41 b0 01             	mov    $0x1,%r8b
180038274:	41 f6 d8             	neg    %r8b
180038277:	48 1b c0             	sbb    %rax,%rax
18003827a:	49 23 c1             	and    %r9,%rax
18003827d:	c3                   	ret
18003827e:	cc                   	int3
18003827f:	cc                   	int3
180038280:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180038285:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18003828a:	55                   	push   %rbp
18003828b:	56                   	push   %rsi
18003828c:	57                   	push   %rdi
18003828d:	41 54                	push   %r12
18003828f:	41 55                	push   %r13
180038291:	41 56                	push   %r14
180038293:	41 57                	push   %r15
180038295:	48 83 ec 20          	sub    $0x20,%rsp
180038299:	48 8b 42 10          	mov    0x10(%rdx),%rax
18003829d:	41 be 01 00 00 00    	mov    $0x1,%r14d
1800382a3:	33 ff                	xor    %edi,%edi
1800382a5:	48 8b da             	mov    %rdx,%rbx
1800382a8:	4c 8b e1             	mov    %rcx,%r12
1800382ab:	48 8b 70 10          	mov    0x10(%rax),%rsi
1800382af:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
1800382b4:	44 8b 7e 30          	mov    0x30(%rsi),%r15d
1800382b8:	45 03 fe             	add    %r14d,%r15d
1800382bb:	44 84 72 40          	test   %r14b,0x40(%rdx)
1800382bf:	0f 85 8b 02 00 00    	jne    0x180038550
1800382c5:	41 8d 7e 3f          	lea    0x3f(%r14),%edi
1800382c9:	8b cf                	mov    %edi,%ecx
1800382cb:	e8 44 e6 00 00       	call   0x180046914
1800382d0:	48 8b c8             	mov    %rax,%rcx
1800382d3:	48 85 c0             	test   %rax,%rax
1800382d6:	74 2a                	je     0x180038302
1800382d8:	48 83 20 00          	andq   $0x0,(%rax)
1800382dc:	48 83 c0 08          	add    $0x8,%rax
1800382e0:	48 83 61 18 00       	andq   $0x0,0x18(%rcx)
1800382e5:	44 89 71 20          	mov    %r14d,0x20(%rcx)
1800382e9:	89 79 24             	mov    %edi,0x24(%rcx)
1800382ec:	48 89 40 08          	mov    %rax,0x8(%rax)
1800382f0:	48 89 00             	mov    %rax,(%rax)
1800382f3:	8d 47 c6             	lea    -0x3a(%rdi),%eax
1800382f6:	89 41 28             	mov    %eax,0x28(%rcx)
1800382f9:	89 41 38             	mov    %eax,0x38(%rcx)
1800382fc:	48 89 79 30          	mov    %rdi,0x30(%rcx)
180038300:	eb 02                	jmp    0x180038304
180038302:	33 c9                	xor    %ecx,%ecx
180038304:	49 89 8c 24 e0 00 00 	mov    %rcx,0xe0(%r12)
18003830b:	00
18003830c:	48 85 c9             	test   %rcx,%rcx
18003830f:	75 0a                	jne    0x18003831b
180038311:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180038316:	e9 ea 02 00 00       	jmp    0x180038605
18003831b:	41 8b d7             	mov    %r15d,%edx
18003831e:	e8 45 b4 00 00       	call   0x180043768
180038323:	8b f8                	mov    %eax,%edi
180038325:	85 c0                	test   %eax,%eax
180038327:	0f 88 d8 02 00 00    	js     0x180038605
18003832d:	48 83 bb 90 00 00 00 	cmpq   $0x0,0x90(%rbx)
180038334:	00
180038335:	bd 00 00 04 00       	mov    $0x40000,%ebp
18003833a:	48 8b 8b d8 00 00 00 	mov    0xd8(%rbx),%rcx
180038341:	b8 00 00 00 01       	mov    $0x1000000,%eax
180038346:	0f 46 e8             	cmovbe %eax,%ebp
180038349:	48 85 c9             	test   %rcx,%rcx
18003834c:	75 21                	jne    0x18003836f
18003834e:	8b c5                	mov    %ebp,%eax
180038350:	48 3b 43 60          	cmp    0x60(%rbx),%rax
180038354:	72 03                	jb     0x180038359
180038356:	8b 6b 60             	mov    0x60(%rbx),%ebp
180038359:	44 39 b3 88 00 00 00 	cmp    %r14d,0x88(%rbx)
180038360:	76 32                	jbe    0x180038394
180038362:	8b 83 8c 00 00 00    	mov    0x8c(%rbx),%eax
180038368:	3b e8                	cmp    %eax,%ebp
18003836a:	0f 43 e8             	cmovae %eax,%ebp
18003836d:	eb 25                	jmp    0x180038394
18003836f:	e8 fc 65 10 00       	call   0x18013e970
180038374:	8b cd                	mov    %ebp,%ecx
180038376:	48 3b 48 50          	cmp    0x50(%rax),%rcx
18003837a:	72 03                	jb     0x18003837f
18003837c:	8b 68 50             	mov    0x50(%rax),%ebp
18003837f:	44 39 70 78          	cmp    %r14d,0x78(%rax)
180038383:	76 08                	jbe    0x18003838d
180038385:	8b 48 7c             	mov    0x7c(%rax),%ecx
180038388:	3b e9                	cmp    %ecx,%ebp
18003838a:	0f 43 e9             	cmovae %ecx,%ebp
18003838d:	48 8b 88 b8 00 00 00 	mov    0xb8(%rax),%rcx
180038394:	48 85 c9             	test   %rcx,%rcx
180038397:	75 d6                	jne    0x18003836f
180038399:	45 33 c0             	xor    %r8d,%r8d
18003839c:	48 8b ce             	mov    %rsi,%rcx
18003839f:	b2 02                	mov    $0x2,%dl
1800383a1:	e8 42 4b 10 00       	call   0x18013cee8
1800383a6:	4c 8b e8             	mov    %rax,%r13
1800383a9:	48 85 c0             	test   %rax,%rax
1800383ac:	0f 84 9e 01 00 00    	je     0x180038550
1800383b2:	48 8b c8             	mov    %rax,%rcx
1800383b5:	e8 b6 65 10 00       	call   0x18013e970
1800383ba:	b9 40 00 00 00       	mov    $0x40,%ecx
1800383bf:	4c 8b f0             	mov    %rax,%r14
1800383c2:	e8 4d e5 00 00       	call   0x180046914
1800383c7:	33 ff                	xor    %edi,%edi
1800383c9:	48 8b f0             	mov    %rax,%rsi
1800383cc:	48 85 c0             	test   %rax,%rax
1800383cf:	74 0a                	je     0x1800383db
1800383d1:	48 89 78 38          	mov    %rdi,0x38(%rax)
1800383d5:	48 89 78 30          	mov    %rdi,0x30(%rax)
1800383d9:	eb 03                	jmp    0x1800383de
1800383db:	48 8b f7             	mov    %rdi,%rsi
1800383de:	48 85 f6             	test   %rsi,%rsi
1800383e1:	0f 84 2a ff ff ff    	je     0x180038311