425195:	56                   	push   %esi
425196:	1b ff                	sbb    %edi,%edi
425198:	23 f8                	and    %eax,%edi
42519a:	57                   	push   %edi
42519b:	e8 7c fd ff ff       	call   0x424f1c
4251a0:	59                   	pop    %ecx
4251a1:	59                   	pop    %ecx
4251a2:	8b f0                	mov    %eax,%esi
4251a4:	85 f6                	test   %esi,%esi
4251a6:	0f 84 0b 01 00 00    	je     0x4252b7
4251ac:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
4251b2:	0f 84 ff 00 00 00    	je     0x4252b7
4251b8:	0f b7 c6             	movzwl %si,%eax
4251bb:	50                   	push   %eax
4251bc:	ff 15 70 10 43 00    	call   *0x431070
4251c2:	85 c0                	test   %eax,%eax
4251c4:	0f 84 ed 00 00 00    	je     0x4252b7
4251ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4251cd:	85 c0                	test   %eax,%eax
4251cf:	74 02                	je     0x4251d3
4251d1:	89 30                	mov    %esi,(%eax)
4251d3:	8b 7d 10             	mov    0x10(%ebp),%edi
4251d6:	85 ff                	test   %edi,%edi
4251d8:	0f 84 c4 00 00 00    	je     0x4252a2
4251de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4251e1:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
4251e7:	33 c0                	xor    %eax,%eax
4251e9:	66 89 03             	mov    %ax,(%ebx)
4251ec:	8d 51 02             	lea    0x2(%ecx),%edx
4251ef:	66 8b 01             	mov    (%ecx),%ax
4251f2:	83 c1 02             	add    $0x2,%ecx
4251f5:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
4251f9:	75 f4                	jne    0x4251ef
4251fb:	2b ca                	sub    %edx,%ecx
4251fd:	d1 f9                	sar    $1,%ecx
4251ff:	8d 41 01             	lea    0x1(%ecx),%eax
425202:	50                   	push   %eax
425203:	ff 75 fc             	push   -0x4(%ebp)
425206:	6a 55                	push   $0x55
425208:	53                   	push   %ebx
425209:	e8 bf cb ff ff       	call   0x421dcd
42520e:	83 c4 10             	add    $0x10,%esp
425211:	85 c0                	test   %eax,%eax
425213:	0f 85 a5 00 00 00    	jne    0x4252be
425219:	6a 40                	push   $0x40
42521b:	57                   	push   %edi
42521c:	68 01 10 00 00       	push   $0x1001
425221:	53                   	push   %ebx
425222:	e8 26 93 ff ff       	call   0x41e54d
425227:	85 c0                	test   %eax,%eax
425229:	0f 84 88 00 00 00    	je     0x4252b7
42522f:	6a 40                	push   $0x40
425231:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
425237:	53                   	push   %ebx
425238:	68 02 10 00 00       	push   $0x1002
42523d:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
425243:	50                   	push   %eax
425244:	e8 04 93 ff ff       	call   0x41e54d
425249:	85 c0                	test   %eax,%eax
42524b:	74 6a                	je     0x4252b7
42524d:	6a 5f                	push   $0x5f
42524f:	53                   	push   %ebx
425250:	e8 32 a1 00 00       	call   0x42f387
425255:	59                   	pop    %ecx
425256:	59                   	pop    %ecx
425257:	85 c0                	test   %eax,%eax
425259:	75 0e                	jne    0x425269
42525b:	6a 2e                	push   $0x2e
42525d:	53                   	push   %ebx
42525e:	e8 24 a1 00 00       	call   0x42f387
425263:	59                   	pop    %ecx
425264:	59                   	pop    %ecx
425265:	85 c0                	test   %eax,%eax
425267:	74 15                	je     0x42527e
425269:	6a 40                	push   $0x40
42526b:	53                   	push   %ebx
42526c:	6a 07                	push   $0x7
42526e:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
425274:	50                   	push   %eax
425275:	e8 d3 92 ff ff       	call   0x41e54d
42527a:	85 c0                	test   %eax,%eax
42527c:	74 39                	je     0x4252b7
42527e:	81 c7 00 01 00 00    	add    $0x100,%edi
425284:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
42528a:	75 1b                	jne    0x4252a7
42528c:	6a 05                	push   $0x5
42528e:	68 ec 56 43 00       	push   $0x4356ec
425293:	6a 10                	push   $0x10
425295:	57                   	push   %edi
425296:	e8 32 cb ff ff       	call   0x421dcd
42529b:	83 c4 10             	add    $0x10,%esp
42529e:	85 c0                	test   %eax,%eax
4252a0:	75 1c                	jne    0x4252be
4252a2:	33 c0                	xor    %eax,%eax
4252a4:	40                   	inc    %eax
4252a5:	eb 12                	jmp    0x4252b9
4252a7:	6a 0a                	push   $0xa
4252a9:	6a 10                	push   $0x10
4252ab:	57                   	push   %edi
4252ac:	56                   	push   %esi
4252ad:	e8 0f db fe ff       	call   0x412dc1
4252b2:	83 c4 10             	add    $0x10,%esp
4252b5:	eb eb                	jmp    0x4252a2
4252b7:	33 c0                	xor    %eax,%eax
4252b9:	5f                   	pop    %edi
4252ba:	5e                   	pop    %esi
4252bb:	5b                   	pop    %ebx
4252bc:	c9                   	leave
4252bd:	c3                   	ret
4252be:	33 c0                	xor    %eax,%eax
4252c0:	50                   	push   %eax
4252c1:	50                   	push   %eax
4252c2:	50                   	push   %eax
4252c3:	50                   	push   %eax
4252c4:	50                   	push   %eax
4252c5:	e8 51 81 fe ff       	call   0x40d41b
4252ca:	cc                   	int3
4252cb:	8b ff                	mov    %edi,%edi
4252cd:	55                   	push   %ebp
4252ce:	8b ec                	mov    %esp,%ebp
4252d0:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4252d6:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4252db:	33 c5                	xor    %ebp,%eax
4252dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4252e0:	53                   	push   %ebx
4252e1:	56                   	push   %esi
4252e2:	8b 75 08             	mov    0x8(%ebp),%esi
4252e5:	57                   	push   %edi
4252e6:	e8 fe 6f ff ff       	call   0x41c2e9
4252eb:	8b d8                	mov    %eax,%ebx
4252ed:	e8 f7 6f ff ff       	call   0x41c2e9
4252f2:	56                   	push   %esi
4252f3:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
4252f9:	e8 0d 05 00 00       	call   0x42580b
4252fe:	59                   	pop    %ecx
4252ff:	8b 4b 64             	mov    0x64(%ebx),%ecx
425302:	8b f0                	mov    %eax,%esi
425304:	f7 d9                	neg    %ecx
425306:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42530c:	6a 78                	push   $0x78
42530e:	1b c9                	sbb    %ecx,%ecx
425310:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
425316:	50                   	push   %eax
425317:	81 c1 02 10 00 00    	add    $0x1002,%ecx
42531d:	51                   	push   %ecx
42531e:	56                   	push   %esi
42531f:	ff 15 98 10 43 00    	call   *0x431098
425325:	85 c0                	test   %eax,%eax
425327:	75 05                	jne    0x42532e
425329:	21 07                	and    %eax,(%edi)
42532b:	40                   	inc    %eax
42532c:	eb 33                	jmp    0x425361
42532e:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425334:	50                   	push   %eax
425335:	ff 73 54             	push   0x54(%ebx)
425338:	e8 f8 33 ff ff       	call   0x418735
42533d:	59                   	pop    %ecx
42533e:	59                   	pop    %ecx
42533f:	85 c0                	test   %eax,%eax
425341:	75 14                	jne    0x425357
425343:	56                   	push   %esi
425344:	e8 f7 05 00 00       	call   0x425940
425349:	59                   	pop    %ecx
42534a:	85 c0                	test   %eax,%eax
42534c:	74 09                	je     0x425357
42534e:	83 0f 04             	orl    $0x4,(%edi)
425351:	89 77 08             	mov    %esi,0x8(%edi)
425354:	89 77 04             	mov    %esi,0x4(%edi)
425357:	8b 07                	mov    (%edi),%eax
425359:	c1 e8 02             	shr    $0x2,%eax
42535c:	f7 d0                	not    %eax
42535e:	83 e0 01             	and    $0x1,%eax
425361:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425364:	5f                   	pop    %edi
425365:	5e                   	pop    %esi
425366:	33 cd                	xor    %ebp,%ecx
425368:	5b                   	pop    %ebx
425369:	e8 39 49 fe ff       	call   0x409ca7
42536e:	c9                   	leave
42536f:	c2 04 00             	ret    $0x4
425372:	8b ff                	mov    %edi,%edi
425374:	55                   	push   %ebp
425375:	8b ec                	mov    %esp,%ebp
425377:	56                   	push   %esi
425378:	57                   	push   %edi
425379:	e8 6b 6f ff ff       	call   0x41c2e9
42537e:	8b d0                	mov    %eax,%edx
425380:	33 ff                	xor    %edi,%edi
425382:	8b 4a 54             	mov    0x54(%edx),%ecx
425385:	8d 71 02             	lea    0x2(%ecx),%esi
425388:	66 8b 01             	mov    (%ecx),%ax
42538b:	83 c1 02             	add    $0x2,%ecx
42538e:	66 3b c7             	cmp    %di,%ax
425391:	75 f5                	jne    0x425388
425393:	2b ce                	sub    %esi,%ecx
425395:	33 c0                	xor    %eax,%eax
425397:	d1 f9                	sar    $1,%ecx
425399:	83 f9 03             	cmp    $0x3,%ecx
42539c:	6a 01                	push   $0x1
42539e:	0f 94 c0             	sete   %al
4253a1:	68 cb 52 42 00       	push   $0x4252cb
4253a6:	89 42 64             	mov    %eax,0x64(%edx)
4253a9:	ff 15 8c 10 43 00    	call   *0x43108c
4253af:	8b 45 08             	mov    0x8(%ebp),%eax
4253b2:	f6 00 04             	testb  $0x4,(%eax)
4253b5:	75 02                	jne    0x4253b9
4253b7:	89 38                	mov    %edi,(%eax)
4253b9:	5f                   	pop    %edi
4253ba:	5e                   	pop    %esi
4253bb:	5d                   	pop    %ebp
4253bc:	c3                   	ret
4253bd:	8b ff                	mov    %edi,%edi
4253bf:	55                   	push   %ebp
4253c0:	8b ec                	mov    %esp,%ebp
4253c2:	53                   	push   %ebx
4253c3:	56                   	push   %esi
4253c4:	57                   	push   %edi
4253c5:	e8 1f 6f ff ff       	call   0x41c2e9
4253ca:	8b f0                	mov    %eax,%esi
4253cc:	33 db                	xor    %ebx,%ebx
4253ce:	6a 02                	push   $0x2
4253d0:	5a                   	pop    %edx
4253d1:	8b 4e 50             	mov    0x50(%esi),%ecx
4253d4:	8d 79 02             	lea    0x2(%ecx),%edi
4253d7:	66 8b 01             	mov    (%ecx),%ax
4253da:	03 ca                	add    %edx,%ecx
4253dc:	66 3b c3             	cmp    %bx,%ax
4253df:	75 f6                	jne    0x4253d7
4253e1:	2b cf                	sub    %edi,%ecx
4253e3:	33 c0                	xor    %eax,%eax
4253e5:	d1 f9                	sar    $1,%ecx
4253e7:	83 f9 03             	cmp    $0x3,%ecx
4253ea:	8b 4e 54             	mov    0x54(%esi),%ecx
4253ed:	0f 94 c0             	sete   %al
4253f0:	89 46 60             	mov    %eax,0x60(%esi)
4253f3:	8d 79 02             	lea    0x2(%ecx),%edi
4253f6:	66 8b 01             	mov    (%ecx),%ax
4253f9:	03 ca                	add    %edx,%ecx
4253fb:	66 3b c3             	cmp    %bx,%ax
4253fe:	75 f6                	jne    0x4253f6
425400:	2b cf                	sub    %edi,%ecx
425402:	33 c0                	xor    %eax,%eax
425404:	8b 7d 08             	mov    0x8(%ebp),%edi
425407:	d1 f9                	sar    $1,%ecx
425409:	83 f9 03             	cmp    $0x3,%ecx
42540c:	0f 94 c0             	sete   %al
42540f:	89 46 64             	mov    %eax,0x64(%esi)
425412:	89 5f 04             	mov    %ebx,0x4(%edi)
425415:	39 5e 60             	cmp    %ebx,0x60(%esi)
425418:	75 0b                	jne    0x425425
42541a:	ff 76 50             	push   0x50(%esi)
42541d:	e8 95 00 00 00       	call   0x4254b7
425422:	59                   	pop    %ecx
425423:	8b d0                	mov    %eax,%edx
425425:	6a 01                	push   $0x1
425427:	68 e3 54 42 00       	push   $0x4254e3
42542c:	89 56 5c             	mov    %edx,0x5c(%esi)
42542f:	ff 15 8c 10 43 00    	call   *0x43108c
425435:	8b 0f                	mov    (%edi),%ecx
425437:	f6 c1 07             	test   $0x7,%cl
42543a:	0f 95 c2             	setne  %dl
42543d:	0f ba e1 09          	bt     $0x9,%ecx
425441:	0f 92 c0             	setb   %al
425444:	22 d0                	and    %al,%dl
425446:	0f ba e1 08          	bt     $0x8,%ecx
42544a:	0f 92 c0             	setb   %al
42544d:	84 d0                	test   %dl,%al
42544f:	75 02                	jne    0x425453
425451:	89 1f                	mov    %ebx,(%edi)
425453:	5f                   	pop    %edi
425454:	5e                   	pop    %esi
425455:	5b                   	pop    %ebx
425456:	5d                   	pop    %ebp
425457:	c3                   	ret
425458:	8b ff                	mov    %edi,%edi
42545a:	55                   	push   %ebp
42545b:	8b ec                	mov    %esp,%ebp
42545d:	53                   	push   %ebx
42545e:	56                   	push   %esi
42545f:	57                   	push   %edi
425460:	e8 84 6e ff ff       	call   0x41c2e9
425465:	8b f0                	mov    %eax,%esi
425467:	33 db                	xor    %ebx,%ebx
425469:	6a 02                	push   $0x2
42546b:	5a                   	pop    %edx
42546c:	8b 4e 50             	mov    0x50(%esi),%ecx
42546f:	8d 79 02             	lea    0x2(%ecx),%edi
425472:	66 8b 01             	mov    (%ecx),%ax
425475:	03 ca                	add    %edx,%ecx
425477:	66 3b c3             	cmp    %bx,%ax
42547a:	75 f6                	jne    0x425472
42547c:	2b cf                	sub    %edi,%ecx
42547e:	33 c0                	xor    %eax,%eax
425480:	d1 f9                	sar    $1,%ecx
425482:	83 f9 03             	cmp    $0x3,%ecx
425485:	0f 94 c0             	sete   %al
425488:	89 46 60             	mov    %eax,0x60(%esi)
42548b:	74 0b                	je     0x425498
42548d:	ff 76 50             	push   0x50(%esi)
425490:	e8 22 00 00 00       	call   0x4254b7
425495:	59                   	pop    %ecx
425496:	8b d0                	mov    %eax,%edx
425498:	6a 01                	push   $0x1
42549a:	68 36 57 42 00       	push   $0x425736
42549f:	89 56 5c             	mov    %edx,0x5c(%esi)
4254a2:	ff 15 8c 10 43 00    	call   *0x43108c
4254a8:	8b 45 08             	mov    0x8(%ebp),%eax
4254ab:	f6 00 04             	testb  $0x4,(%eax)
4254ae:	75 02                	jne    0x4254b2
4254b0:	89 18                	mov    %ebx,(%eax)
4254b2:	5f                   	pop    %edi
4254b3:	5e                   	pop    %esi
4254b4:	5b                   	pop    %ebx
4254b5:	5d                   	pop    %ebp
4254b6:	c3                   	ret
4254b7:	8b ff                	mov    %edi,%edi
4254b9:	55                   	push   %ebp
4254ba:	8b ec                	mov    %esp,%ebp
4254bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4254bf:	33 d2                	xor    %edx,%edx
4254c1:	0f b7 01             	movzwl (%ecx),%eax
4254c4:	83 c1 02             	add    $0x2,%ecx
4254c7:	66 83 f8 41          	cmp    $0x41,%ax
4254cb:	72 06                	jb     0x4254d3
4254cd:	66 83 f8 5a          	cmp    $0x5a,%ax
4254d1:	76 09                	jbe    0x4254dc
4254d3:	83 c0 9f             	add    $0xffffff9f,%eax
4254d6:	66 83 f8 19          	cmp    $0x19,%ax
4254da:	77 03                	ja     0x4254df
4254dc:	42                   	inc    %edx
4254dd:	eb e2                	jmp    0x4254c1
4254df:	8b c2                	mov    %edx,%eax
4254e1:	5d                   	pop    %ebp
4254e2:	c3                   	ret
4254e3:	8b ff                	mov    %edi,%edi
4254e5:	55                   	push   %ebp
4254e6:	8b ec                	mov    %esp,%ebp
4254e8:	81 ec fc 00 00 00    	sub    $0xfc,%esp
4254ee:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4254f3:	33 c5                	xor    %ebp,%eax
4254f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4254f8:	53                   	push   %ebx
4254f9:	56                   	push   %esi
4254fa:	8b 75 08             	mov    0x8(%ebp),%esi
4254fd:	57                   	push   %edi
4254fe:	e8 e6 6d ff ff       	call   0x41c2e9
425503:	8b d8                	mov    %eax,%ebx
425505:	e8 df 6d ff ff       	call   0x41c2e9
42550a:	56                   	push   %esi
42550b:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi