42105b:	50                   	push   %eax
42105c:	ff 76 50             	push   0x50(%esi)
42105f:	e8 58 d6 ff ff       	call   0x41e6bc
421064:	59                   	pop    %ecx
421065:	59                   	pop    %ecx
421066:	85 c0                	test   %eax,%eax
421068:	75 36                	jne    0x4210a0
42106a:	8b cf                	mov    %edi,%ecx
42106c:	53                   	push   %ebx
42106d:	33 db                	xor    %ebx,%ebx
42106f:	8d 51 02             	lea    0x2(%ecx),%edx
421072:	66 8b 01             	mov    (%ecx),%ax
421075:	83 c1 02             	add    $0x2,%ecx
421078:	66 3b c3             	cmp    %bx,%ax
42107b:	75 f5                	jne    0x421072
42107d:	2b ca                	sub    %edx,%ecx
42107f:	d1 f9                	sar    $1,%ecx
421081:	8d 41 01             	lea    0x1(%ecx),%eax
421084:	50                   	push   %eax
421085:	57                   	push   %edi
421086:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
42108c:	6a 55                	push   $0x55
42108e:	50                   	push   %eax
42108f:	e8 89 e8 ff ff       	call   0x41f91d
421094:	83 c4 10             	add    $0x10,%esp
421097:	85 c0                	test   %eax,%eax
421099:	75 22                	jne    0x4210bd
42109b:	83 4e 58 04          	orl    $0x4,0x58(%esi)
42109f:	5b                   	pop    %ebx
4210a0:	8b 46 58             	mov    0x58(%esi),%eax
4210a3:	c1 e8 02             	shr    $0x2,%eax
4210a6:	f7 d0                	not    %eax
4210a8:	83 e0 01             	and    $0x1,%eax
4210ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4210ae:	5f                   	pop    %edi
4210af:	33 cd                	xor    %ebp,%ecx
4210b1:	5e                   	pop    %esi
4210b2:	e8 a9 5f fe ff       	call   0x407060
4210b7:	8b e5                	mov    %ebp,%esp
4210b9:	5d                   	pop    %ebp
4210ba:	c2 0c 00             	ret    $0xc
4210bd:	53                   	push   %ebx
4210be:	53                   	push   %ebx
4210bf:	53                   	push   %ebx
4210c0:	53                   	push   %ebx
4210c1:	53                   	push   %ebx
4210c2:	e8 48 ac fe ff       	call   0x40bd0f
4210c7:	cc                   	int3
4210c8:	8b ff                	mov    %edi,%edi
4210ca:	55                   	push   %ebp
4210cb:	8b ec                	mov    %esp,%ebp
4210cd:	51                   	push   %ecx
4210ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
4210d1:	56                   	push   %esi
4210d2:	57                   	push   %edi
4210d3:	85 c9                	test   %ecx,%ecx
4210d5:	0f 84 a0 00 00 00    	je     0x42117b
4210db:	33 c0                	xor    %eax,%eax
4210dd:	66 39 01             	cmp    %ax,(%ecx)
4210e0:	0f 84 95 00 00 00    	je     0x42117b
4210e6:	be b8 e6 42 00       	mov    $0x42e6b8,%esi
4210eb:	8b d1                	mov    %ecx,%edx
4210ed:	66 8b 3a             	mov    (%edx),%di
4210f0:	66 3b 3e             	cmp    (%esi),%di
4210f3:	75 1e                	jne    0x421113
4210f5:	66 85 ff             	test   %di,%di
4210f8:	74 15                	je     0x42110f
4210fa:	66 8b 7a 02          	mov    0x2(%edx),%di
4210fe:	66 3b 7e 02          	cmp    0x2(%esi),%di
421102:	75 0f                	jne    0x421113
421104:	83 c2 04             	add    $0x4,%edx
421107:	83 c6 04             	add    $0x4,%esi
42110a:	66 85 ff             	test   %di,%di
42110d:	75 de                	jne    0x4210ed
42110f:	8b d0                	mov    %eax,%edx
421111:	eb 05                	jmp    0x421118
421113:	1b d2                	sbb    %edx,%edx
421115:	83 ca 01             	or     $0x1,%edx
421118:	85 d2                	test   %edx,%edx
42111a:	74 5f                	je     0x42117b
42111c:	be c0 e6 42 00       	mov    $0x42e6c0,%esi
421121:	8b d1                	mov    %ecx,%edx
421123:	66 8b 3a             	mov    (%edx),%di
421126:	66 3b 3e             	cmp    (%esi),%di
421129:	75 1c                	jne    0x421147
42112b:	66 85 ff             	test   %di,%di
42112e:	74 1c                	je     0x42114c
421130:	66 8b 7a 02          	mov    0x2(%edx),%di
421134:	66 3b 7e 02          	cmp    0x2(%esi),%di
421138:	75 0d                	jne    0x421147
42113a:	83 c2 04             	add    $0x4,%edx
42113d:	83 c6 04             	add    $0x4,%esi
421140:	66 85 ff             	test   %di,%di
421143:	75 de                	jne    0x421123
421145:	eb 05                	jmp    0x42114c
421147:	1b c0                	sbb    %eax,%eax
421149:	83 c8 01             	or     $0x1,%eax
42114c:	85 c0                	test   %eax,%eax
42114e:	75 22                	jne    0x421172
421150:	6a 02                	push   $0x2
421152:	8d 45 fc             	lea    -0x4(%ebp),%eax
421155:	50                   	push   %eax
421156:	8b 45 0c             	mov    0xc(%ebp),%eax
421159:	68 0b 00 00 20       	push   $0x2000000b
42115e:	05 50 02 00 00       	add    $0x250,%eax
421163:	50                   	push   %eax
421164:	e8 4c 7f ff ff       	call   0x4190b5
421169:	85 c0                	test   %eax,%eax
42116b:	74 2b                	je     0x421198
42116d:	8b 45 fc             	mov    -0x4(%ebp),%eax
421170:	eb 37                	jmp    0x4211a9
421172:	51                   	push   %ecx
421173:	e8 48 76 ff ff       	call   0x4187c0
421178:	59                   	pop    %ecx
421179:	eb 2e                	jmp    0x4211a9
42117b:	6a 02                	push   $0x2
42117d:	8d 45 fc             	lea    -0x4(%ebp),%eax
421180:	50                   	push   %eax
421181:	8b 45 0c             	mov    0xc(%ebp),%eax
421184:	68 04 10 00 20       	push   $0x20001004
421189:	05 50 02 00 00       	add    $0x250,%eax
42118e:	50                   	push   %eax
42118f:	e8 21 7f ff ff       	call   0x4190b5
421194:	85 c0                	test   %eax,%eax
421196:	75 04                	jne    0x42119c
421198:	33 c0                	xor    %eax,%eax
42119a:	eb 0d                	jmp    0x4211a9
42119c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42119f:	85 c0                	test   %eax,%eax
4211a1:	75 06                	jne    0x4211a9
4211a3:	ff 15 ec 71 42 00    	call   *0x4271ec
4211a9:	5f                   	pop    %edi
4211aa:	5e                   	pop    %esi
4211ab:	8b e5                	mov    %ebp,%esp
4211ad:	5d                   	pop    %ebp
4211ae:	c3                   	ret
4211af:	8b ff                	mov    %edi,%edi
4211b1:	55                   	push   %ebp
4211b2:	8b ec                	mov    %esp,%ebp
4211b4:	83 ec 18             	sub    $0x18,%esp
4211b7:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4211bc:	33 c5                	xor    %ebp,%eax
4211be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4211c1:	56                   	push   %esi
4211c2:	8b 75 08             	mov    0x8(%ebp),%esi
4211c5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4211c8:	6a 09                	push   $0x9
4211ca:	50                   	push   %eax
4211cb:	6a 59                	push   $0x59
4211cd:	56                   	push   %esi
4211ce:	e8 e2 7e ff ff       	call   0x4190b5
4211d3:	85 c0                	test   %eax,%eax
4211d5:	74 14                	je     0x4211eb
4211d7:	6a 09                	push   $0x9
4211d9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4211dc:	56                   	push   %esi
4211dd:	50                   	push   %eax
4211de:	e8 78 f5 ff ff       	call   0x42075b
4211e3:	83 c4 0c             	add    $0xc,%esp
4211e6:	f7 d8                	neg    %eax
4211e8:	1b c0                	sbb    %eax,%eax
4211ea:	40                   	inc    %eax
4211eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4211ee:	33 cd                	xor    %ebp,%ecx
4211f0:	5e                   	pop    %esi
4211f1:	e8 6a 5e fe ff       	call   0x407060
4211f6:	8b e5                	mov    %ebp,%esp
4211f8:	5d                   	pop    %ebp
4211f9:	c3                   	ret
4211fa:	8b ff                	mov    %edi,%edi
4211fc:	55                   	push   %ebp
4211fd:	8b ec                	mov    %esp,%ebp
4211ff:	51                   	push   %ecx
421200:	56                   	push   %esi
421201:	8b 75 0c             	mov    0xc(%ebp),%esi
421204:	33 d2                	xor    %edx,%edx
421206:	57                   	push   %edi
421207:	42                   	inc    %edx
421208:	33 ff                	xor    %edi,%edi
42120a:	85 f6                	test   %esi,%esi
42120c:	78 4e                	js     0x42125c
42120e:	53                   	push   %ebx
42120f:	85 d2                	test   %edx,%edx
421211:	74 48                	je     0x42125b
421213:	8d 04 37             	lea    (%edi,%esi,1),%eax
421216:	99                   	cltd
421217:	2b c2                	sub    %edx,%eax
421219:	8b d8                	mov    %eax,%ebx
42121b:	8b 45 08             	mov    0x8(%ebp),%eax
42121e:	d1 fb                	sar    $1,%ebx
421220:	6b cb 0c             	imul   $0xc,%ebx,%ecx
421223:	89 4d fc             	mov    %ecx,-0x4(%ebp)
421226:	ff 34 01             	push   (%ecx,%eax,1)
421229:	8b 45 10             	mov    0x10(%ebp),%eax
42122c:	ff 30                	push   (%eax)
42122e:	e8 89 d4 ff ff       	call   0x41e6bc
421233:	8b d0                	mov    %eax,%edx
421235:	59                   	pop    %ecx
421236:	59                   	pop    %ecx
421237:	85 d2                	test   %edx,%edx
421239:	75 12                	jne    0x42124d
42123b:	8b 45 08             	mov    0x8(%ebp),%eax
42123e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421241:	83 c0 04             	add    $0x4,%eax
421244:	03 c8                	add    %eax,%ecx
421246:	8b 45 10             	mov    0x10(%ebp),%eax
421249:	89 08                	mov    %ecx,(%eax)
42124b:	eb 0a                	jmp    0x421257
42124d:	79 05                	jns    0x421254
42124f:	8d 73 ff             	lea    -0x1(%ebx),%esi
421252:	eb 03                	jmp    0x421257
421254:	8d 7b 01             	lea    0x1(%ebx),%edi
421257:	3b fe                	cmp    %esi,%edi
421259:	7e b4                	jle    0x42120f
42125b:	5b                   	pop    %ebx
42125c:	33 c0                	xor    %eax,%eax
42125e:	85 d2                	test   %edx,%edx
421260:	5f                   	pop    %edi
421261:	0f 94 c0             	sete   %al
421264:	5e                   	pop    %esi
421265:	8b e5                	mov    %ebp,%esp
421267:	5d                   	pop    %ebp
421268:	c3                   	ret
421269:	8b ff                	mov    %edi,%edi
42126b:	55                   	push   %ebp
42126c:	8b ec                	mov    %esp,%ebp
42126e:	51                   	push   %ecx
42126f:	51                   	push   %ecx
421270:	53                   	push   %ebx
421271:	56                   	push   %esi
421272:	57                   	push   %edi
421273:	e8 e4 78 ff ff       	call   0x418b5c
421278:	8b 5d 08             	mov    0x8(%ebp),%ebx
42127b:	33 c9                	xor    %ecx,%ecx
42127d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
421280:	8d 70 50             	lea    0x50(%eax),%esi
421283:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
421289:	89 4e 08             	mov    %ecx,0x8(%esi)
42128c:	66 89 08             	mov    %cx,(%eax)
42128f:	8d 7e 04             	lea    0x4(%esi),%edi
421292:	89 45 fc             	mov    %eax,-0x4(%ebp)
421295:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
42129b:	89 1e                	mov    %ebx,(%esi)
42129d:	89 07                	mov    %eax,(%edi)
42129f:	66 39 08             	cmp    %cx,(%eax)
4212a2:	74 12                	je     0x4212b6
4212a4:	57                   	push   %edi
4212a5:	6a 16                	push   $0x16
4212a7:	68 a0 e5 42 00       	push   $0x42e5a0
4212ac:	e8 49 ff ff ff       	call   0x4211fa
4212b1:	83 c4 0c             	add    $0xc,%esp
4212b4:	33 c9                	xor    %ecx,%ecx
4212b6:	8b 06                	mov    (%esi),%eax
4212b8:	56                   	push   %esi
4212b9:	66 39 08             	cmp    %cx,(%eax)
4212bc:	74 47                	je     0x421305
4212be:	8b 07                	mov    (%edi),%eax
4212c0:	66 39 08             	cmp    %cx,(%eax)
4212c3:	74 07                	je     0x4212cc
4212c5:	e8 2a f9 ff ff       	call   0x420bf4
4212ca:	eb 05                	jmp    0x4212d1
4212cc:	e8 bd f9 ff ff       	call   0x420c8e
4212d1:	33 c0                	xor    %eax,%eax
4212d3:	59                   	pop    %ecx
4212d4:	39 46 08             	cmp    %eax,0x8(%esi)
4212d7:	75 32                	jne    0x42130b
4212d9:	56                   	push   %esi
4212da:	6a 40                	push   $0x40
4212dc:	68 90 e2 42 00       	push   $0x42e290
4212e1:	e8 14 ff ff ff       	call   0x4211fa
4212e6:	83 c4 0c             	add    $0xc,%esp
4212e9:	85 c0                	test   %eax,%eax
4212eb:	74 1e                	je     0x42130b
4212ed:	8b 07                	mov    (%edi),%eax
4212ef:	33 c9                	xor    %ecx,%ecx
4212f1:	56                   	push   %esi
4212f2:	66 39 08             	cmp    %cx,(%eax)
4212f5:	74 07                	je     0x4212fe
4212f7:	e8 f8 f8 ff ff       	call   0x420bf4
4212fc:	eb 0c                	jmp    0x42130a
4212fe:	e8 8b f9 ff ff       	call   0x420c8e
421303:	eb 05                	jmp    0x42130a
421305:	e8 61 f8 ff ff       	call   0x420b6b
42130a:	59                   	pop    %ecx
42130b:	33 ff                	xor    %edi,%edi
42130d:	39 7e 08             	cmp    %edi,0x8(%esi)
421310:	0f 84 0c 01 00 00    	je     0x421422
421316:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
42131c:	56                   	push   %esi
42131d:	50                   	push   %eax
42131e:	e8 a5 fd ff ff       	call   0x4210c8
421323:	8b f0                	mov    %eax,%esi
421325:	59                   	pop    %ecx
421326:	59                   	pop    %ecx
421327:	85 f6                	test   %esi,%esi
421329:	0f 84 f3 00 00 00    	je     0x421422
42132f:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
421335:	0f 84 e7 00 00 00    	je     0x421422
42133b:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
421341:	0f 84 db 00 00 00    	je     0x421422
421347:	0f b7 c6             	movzwl %si,%eax
42134a:	50                   	push   %eax
42134b:	ff 15 10 72 42 00    	call   *0x427210
421351:	85 c0                	test   %eax,%eax
421353:	0f 84 c9 00 00 00    	je     0x421422
421359:	8b 45 0c             	mov    0xc(%ebp),%eax
42135c:	85 c0                	test   %eax,%eax
42135e:	74 02                	je     0x421362
421360:	89 30                	mov    %esi,(%eax)
421362:	8b 7d 10             	mov    0x10(%ebp),%edi
421365:	85 ff                	test   %edi,%edi
421367:	0f 84 b0 00 00 00    	je     0x42141d
42136d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421370:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
421376:	33 c0                	xor    %eax,%eax
421378:	66 89 03             	mov    %ax,(%ebx)
42137b:	8d 51 02             	lea    0x2(%ecx),%edx
42137e:	66 8b 01             	mov    (%ecx),%ax
421381:	83 c1 02             	add    $0x2,%ecx
421384:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
421388:	75 f4                	jne    0x42137e
42138a:	2b ca                	sub    %edx,%ecx
42138c:	d1 f9                	sar    $1,%ecx
42138e:	8d 41 01             	lea    0x1(%ecx),%eax
421391:	50                   	push   %eax
421392:	ff 75 fc             	push   -0x4(%ebp)
421395:	6a 55                	push   $0x55
421397:	53                   	push   %ebx
421398:	e8 80 e5 ff ff       	call   0x41f91d
42139d:	83 c4 10             	add    $0x10,%esp
4213a0:	85 c0                	test   %eax,%eax
4213a2:	0f 85 83 00 00 00    	jne    0x42142b
4213a8:	6a 40                	push   $0x40
4213aa:	57                   	push   %edi
4213ab:	68 01 10 00 00       	push   $0x1001
4213b0:	53                   	push   %ebx
4213b1:	e8 ff 7c ff ff       	call   0x4190b5
4213b6:	85 c0                	test   %eax,%eax
4213b8:	74 68                	je     0x421422
4213ba:	6a 40                	push   $0x40
4213bc:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
4213c2:	53                   	push   %ebx
4213c3:	68 02 10 00 00       	push   $0x1002
4213c8:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
4213ce:	50                   	push   %eax
4213cf:	e8 e1 7c ff ff       	call   0x4190b5
4213d4:	85 c0                	test   %eax,%eax
4213d6:	74 4a                	je     0x421422
4213d8:	6a 5f                	push   $0x5f
4213da:	53                   	push   %ebx