424181:	5f                   	pop    %edi
424182:	5e                   	pop    %esi
424183:	5b                   	pop    %ebx
424184:	33 cc                	xor    %esp,%ecx
424186:	e8 a5 29 ff ff       	call   0x416b30
42418b:	8b e5                	mov    %ebp,%esp
42418d:	5d                   	pop    %ebp
42418e:	c2 0c 00             	ret    $0xc
424191:	8b ff                	mov    %edi,%edi
424193:	55                   	push   %ebp
424194:	8b ec                	mov    %esp,%ebp
424196:	83 e4 f8             	and    $0xfffffff8,%esp
424199:	83 ec 54             	sub    $0x54,%esp
42419c:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4241a1:	33 c4                	xor    %esp,%eax
4241a3:	89 44 24 50          	mov    %eax,0x50(%esp)
4241a7:	53                   	push   %ebx
4241a8:	56                   	push   %esi
4241a9:	8b 75 0c             	mov    0xc(%ebp),%esi
4241ac:	57                   	push   %edi
4241ad:	6a f5                	push   $0xfffffff5
4241af:	8b fa                	mov    %edx,%edi
4241b1:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4241b5:	89 74 24 18          	mov    %esi,0x18(%esp)
4241b9:	ff 15 bc a1 44 00    	call   *0x44a1bc
4241bf:	89 44 24 18          	mov    %eax,0x18(%esp)
4241c3:	83 f8 ff             	cmp    $0xffffffff,%eax
4241c6:	75 0d                	jne    0x4241d5
4241c8:	6a 01                	push   $0x1
4241ca:	ff 15 2c a4 44 00    	call   *0x44a42c
4241d0:	59                   	pop    %ecx
4241d1:	89 44 24 18          	mov    %eax,0x18(%esp)
4241d5:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
4241dc:	0f 84 db 03 00 00    	je     0x4245bd
4241e2:	6a 20                	push   $0x20
4241e4:	59                   	pop    %ecx
4241e5:	66 39 0d d0 e0 42 00 	cmp    %cx,0x42e0d0
4241ec:	0f 83 cb 03 00 00    	jae    0x4245bd
4241f2:	66 39 0d cc e0 42 00 	cmp    %cx,0x42e0cc
4241f9:	0f 83 be 03 00 00    	jae    0x4245bd
4241ff:	8d 4c 24 44          	lea    0x44(%esp),%ecx
424203:	51                   	push   %ecx
424204:	50                   	push   %eax
424205:	ff 15 28 a0 44 00    	call   *0x44a028
42420b:	85 c0                	test   %eax,%eax
42420d:	0f 84 aa 03 00 00    	je     0x4245bd
424213:	8a 0d d0 e0 42 00    	mov    0x42e0d0,%cl
424219:	33 d2                	xor    %edx,%edx
42421b:	0f b7 05 cc e0 42 00 	movzwl 0x42e0cc,%eax
424222:	42                   	inc    %edx
424223:	8b 74 24 48          	mov    0x48(%esp),%esi
424227:	33 db                	xor    %ebx,%ebx
424229:	d3 e2                	shl    %cl,%edx
42422b:	0f ab c2             	bts    %eax,%edx
42422e:	89 74 24 20          	mov    %esi,0x20(%esp)
424232:	c7 44 24 34 10 00 00 	movl   $0x10,0x34(%esp)
424239:	00
42423a:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
42423e:	89 5c 24 38          	mov    %ebx,0x38(%esp)
424242:	89 54 24 3c          	mov    %edx,0x3c(%esp)
424246:	89 5c 24 40          	mov    %ebx,0x40(%esp)
42424a:	e8 a9 7e 00 00       	call   0x42c0f8
42424f:	89 1d 2c 67 43 00    	mov    %ebx,0x43672c
424255:	89 1d 24 67 43 00    	mov    %ebx,0x436724
42425b:	89 1d 20 67 43 00    	mov    %ebx,0x436720
424261:	89 1d 28 67 43 00    	mov    %ebx,0x436728
424267:	68 04 8e 44 00       	push   $0x448e04
42426c:	ff 15 90 a2 44 00    	call   *0x44a290
424272:	8d 44 24 34          	lea    0x34(%esp),%eax
424276:	50                   	push   %eax
424277:	ff 74 24 18          	push   0x18(%esp)
42427b:	ff 75 08             	push   0x8(%ebp)
42427e:	57                   	push   %edi
42427f:	ff 74 24 40          	push   0x40(%esp)
424283:	ff 15 08 a0 44 00    	call   *0x44a008
424289:	68 04 8e 44 00       	push   $0x448e04
42428e:	89 44 24 10          	mov    %eax,0x10(%esp)
424292:	ff 15 94 a2 44 00    	call   *0x44a294
424298:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
42429f:	8b 44 24 14          	mov    0x14(%esp),%eax
4242a3:	8b 08                	mov    (%eax),%ecx
4242a5:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4242a9:	74 3a                	je     0x4242e5
4242ab:	ff 35 a4 25 43 00    	push   0x4325a4
4242b1:	ff 15 9c a2 44 00    	call   *0x44a29c
4242b7:	ff 35 a4 25 43 00    	push   0x4325a4
4242bd:	33 c0                	xor    %eax,%eax
4242bf:	a3 9c 25 43 00       	mov    %eax,0x43259c
4242c4:	ff 15 a8 a2 44 00    	call   *0x44a2a8
4242ca:	85 db                	test   %ebx,%ebx
4242cc:	74 11                	je     0x4242df
4242ce:	53                   	push   %ebx
4242cf:	33 c0                	xor    %eax,%eax
4242d1:	50                   	push   %eax
4242d2:	ff 15 34 a1 44 00    	call   *0x44a134
4242d8:	50                   	push   %eax
4242d9:	ff 15 3c a1 44 00    	call   *0x44a13c
4242df:	33 c0                	xor    %eax,%eax
4242e1:	8b d8                	mov    %eax,%ebx
4242e3:	eb 02                	jmp    0x4242e7
4242e5:	33 c0                	xor    %eax,%eax
4242e7:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4242ec:	74 39                	je     0x424327
4242ee:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4242f2:	83 ca ff             	or     $0xffffffff,%edx
4242f5:	83 4c 24 10 ff       	orl    $0xffffffff,0x10(%esp)
4242fa:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4242fe:	83 39 00             	cmpl   $0x0,(%ecx)
424301:	76 24                	jbe    0x424327
424303:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
424307:	83 f9 0d             	cmp    $0xd,%ecx
42430a:	74 4d                	je     0x424359
42430c:	66 3b 0d d0 e0 42 00 	cmp    0x42e0d0,%cx
424313:	74 3e                	je     0x424353
424315:	66 3b 0d cc e0 42 00 	cmp    0x42e0cc,%cx
42431c:	74 27                	je     0x424345
42431e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
424322:	40                   	inc    %eax
424323:	3b 01                	cmp    (%ecx),%eax
424325:	72 dc                	jb     0x424303
424327:	85 db                	test   %ebx,%ebx
424329:	74 11                	je     0x42433c
42432b:	53                   	push   %ebx
42432c:	33 c0                	xor    %eax,%eax
42432e:	50                   	push   %eax
42432f:	ff 15 34 a1 44 00    	call   *0x44a134
424335:	50                   	push   %eax
424336:	ff 15 3c a1 44 00    	call   *0x44a13c
42433c:	8b 44 24 0c          	mov    0xc(%esp),%eax
424340:	e9 a0 02 00 00       	jmp    0x4245e5
424345:	89 44 24 10          	mov    %eax,0x10(%esp)
424349:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
424350:	00
424351:	eb 0c                	jmp    0x42435f
424353:	89 44 24 10          	mov    %eax,0x10(%esp)
424357:	eb 0b                	jmp    0x424364
424359:	8b d0                	mov    %eax,%edx
42435b:	8b 44 24 10          	mov    0x10(%esp),%eax
42435f:	83 fa ff             	cmp    $0xffffffff,%edx
424362:	75 c3                	jne    0x424327
424364:	83 f8 ff             	cmp    $0xffffffff,%eax
424367:	74 be                	je     0x424327
424369:	8b 4c 24 14          	mov    0x14(%esp),%ecx
42436d:	89 01                	mov    %eax,(%ecx)
42436f:	33 c9                	xor    %ecx,%ecx
424371:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
424375:	85 db                	test   %ebx,%ebx
424377:	74 3b                	je     0x4243b4
424379:	8b cb                	mov    %ebx,%ecx
42437b:	8b c7                	mov    %edi,%eax
42437d:	66 8b 10             	mov    (%eax),%dx
424380:	66 3b 11             	cmp    (%ecx),%dx
424383:	75 20                	jne    0x4243a5
424385:	66 85 d2             	test   %dx,%dx
424388:	74 15                	je     0x42439f
42438a:	66 8b 50 02          	mov    0x2(%eax),%dx
42438e:	66 3b 51 02          	cmp    0x2(%ecx),%dx
424392:	75 11                	jne    0x4243a5
424394:	83 c0 04             	add    $0x4,%eax
424397:	83 c1 04             	add    $0x4,%ecx
42439a:	66 85 d2             	test   %dx,%dx
42439d:	75 de                	jne    0x42437d
42439f:	33 c9                	xor    %ecx,%ecx
4243a1:	8b c1                	mov    %ecx,%eax
4243a3:	eb 07                	jmp    0x4243ac
4243a5:	1b c0                	sbb    %eax,%eax
4243a7:	83 c8 01             	or     $0x1,%eax
4243aa:	33 c9                	xor    %ecx,%ecx
4243ac:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4243b0:	85 c0                	test   %eax,%eax
4243b2:	74 08                	je     0x4243bc
4243b4:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
4243bb:	00
4243bc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4243c0:	85 c0                	test   %eax,%eax
4243c2:	0f 85 a7 00 00 00    	jne    0x42446f
4243c8:	83 7c 24 10 02       	cmpl   $0x2,0x10(%esp)
4243cd:	0f 86 9c 00 00 00    	jbe    0x42446f
4243d3:	6a 03                	push   $0x3
4243d5:	68 3c 39 40 00       	push   $0x40393c
4243da:	57                   	push   %edi
4243db:	ff 15 28 a4 44 00    	call   *0x44a428
4243e1:	83 c4 0c             	add    $0xc,%esp
4243e4:	85 c0                	test   %eax,%eax
4243e6:	74 7e                	je     0x424466
4243e8:	6a 03                	push   $0x3
4243ea:	68 44 39 40 00       	push   $0x403944
4243ef:	57                   	push   %edi
4243f0:	ff 15 28 a4 44 00    	call   *0x44a428
4243f6:	83 c4 0c             	add    $0xc,%esp
4243f9:	85 c0                	test   %eax,%eax
4243fb:	74 69                	je     0x424466
4243fd:	6a 03                	push   $0x3
4243ff:	68 4c 39 40 00       	push   $0x40394c
424404:	57                   	push   %edi
424405:	ff 15 28 a4 44 00    	call   *0x44a428
42440b:	83 c4 0c             	add    $0xc,%esp
42440e:	85 c0                	test   %eax,%eax
424410:	74 54                	je     0x424466
424412:	6a 06                	push   $0x6
424414:	68 54 39 40 00       	push   $0x403954
424419:	57                   	push   %edi
42441a:	ff 15 28 a4 44 00    	call   *0x44a428
424420:	83 c4 0c             	add    $0xc,%esp
424423:	85 c0                	test   %eax,%eax
424425:	74 3f                	je     0x424466
424427:	6a 06                	push   $0x6
424429:	68 64 39 40 00       	push   $0x403964
42442e:	57                   	push   %edi
42442f:	ff 15 28 a4 44 00    	call   *0x44a428
424435:	83 c4 0c             	add    $0xc,%esp
424438:	85 c0                	test   %eax,%eax
42443a:	74 2a                	je     0x424466
42443c:	6a 06                	push   $0x6
42443e:	68 74 39 40 00       	push   $0x403974
424443:	57                   	push   %edi
424444:	ff 15 28 a4 44 00    	call   *0x44a428
42444a:	83 c4 0c             	add    $0xc,%esp
42444d:	85 c0                	test   %eax,%eax
42444f:	74 15                	je     0x424466
424451:	6a 06                	push   $0x6
424453:	68 84 39 40 00       	push   $0x403984
424458:	57                   	push   %edi
424459:	ff 15 28 a4 44 00    	call   *0x44a428
42445f:	83 c4 0c             	add    $0xc,%esp
424462:	85 c0                	test   %eax,%eax
424464:	75 05                	jne    0x42446b
424466:	33 c0                	xor    %eax,%eax
424468:	40                   	inc    %eax
424469:	eb 04                	jmp    0x42446f
42446b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
42446f:	ff 74 24 0c          	push   0xc(%esp)
424473:	8b 55 08             	mov    0x8(%ebp),%edx
424476:	8b cf                	mov    %edi,%ecx
424478:	50                   	push   %eax
424479:	8b 44 24 48          	mov    0x48(%esp),%eax
42447d:	c1 e8 04             	shr    $0x4,%eax
424480:	f7 d0                	not    %eax
424482:	83 e0 01             	and    $0x1,%eax
424485:	50                   	push   %eax
424486:	ff 74 24 1c          	push   0x1c(%esp)
42448a:	e8 41 7a 00 00       	call   0x42bed0
42448f:	85 c0                	test   %eax,%eax
424491:	0f 84 9b 00 00 00    	je     0x424532
424497:	e8 7c 5a 00 00       	call   0x429f18
42449c:	8d 44 24 44          	lea    0x44(%esp),%eax
4244a0:	50                   	push   %eax
4244a1:	ff 74 24 1c          	push   0x1c(%esp)
4244a5:	ff 15 28 a0 44 00    	call   *0x44a028
4244ab:	85 c0                	test   %eax,%eax
4244ad:	74 22                	je     0x4244d1
4244af:	66 8b 44 24 20       	mov    0x20(%esp),%ax
4244b4:	33 d2                	xor    %edx,%edx
4244b6:	0f bf 4c 24 44       	movswl 0x44(%esp),%ecx
4244bb:	98                   	cwtl
4244bc:	03 44 24 10          	add    0x10(%esp),%eax
4244c0:	f7 f1                	div    %ecx
4244c2:	8b 4c 24 4a          	mov    0x4a(%esp),%ecx
4244c6:	2b c8                	sub    %eax,%ecx
4244c8:	66 89 4c 24 22       	mov    %cx,0x22(%esp)
4244cd:	8b 74 24 20          	mov    0x20(%esp),%esi
4244d1:	8b cf                	mov    %edi,%ecx
4244d3:	8d 51 02             	lea    0x2(%ecx),%edx
4244d6:	66 8b 01             	mov    (%ecx),%ax
4244d9:	83 c1 02             	add    $0x2,%ecx
4244dc:	66 3b 44 24 2c       	cmp    0x2c(%esp),%ax
4244e1:	75 f3                	jne    0x4244d6
4244e3:	2b ca                	sub    %edx,%ecx
4244e5:	56                   	push   %esi
4244e6:	ff 74 24 1c          	push   0x1c(%esp)
4244ea:	d1 f9                	sar    $1,%ecx
4244ec:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4244f0:	ff 15 38 a0 44 00    	call   *0x44a038
4244f6:	8d 44 24 28          	lea    0x28(%esp),%eax
4244fa:	50                   	push   %eax
4244fb:	56                   	push   %esi
4244fc:	ff 74 24 30          	push   0x30(%esp)
424500:	6a 20                	push   $0x20
424502:	ff 74 24 28          	push   0x28(%esp)
424506:	ff 15 34 a0 44 00    	call   *0x44a034
42450c:	33 c0                	xor    %eax,%eax
42450e:	50                   	push   %eax
42450f:	8d 44 24 28          	lea    0x28(%esp),%eax
424513:	50                   	push   %eax
424514:	ff 74 24 2c          	push   0x2c(%esp)
424518:	57                   	push   %edi
424519:	ff 74 24 28          	push   0x28(%esp)
42451d:	ff 15 0c a0 44 00    	call   *0x44a00c
424523:	8b 44 24 24          	mov    0x24(%esp),%eax
424527:	89 44 24 38          	mov    %eax,0x38(%esp)
42452b:	e8 e0 9d fe ff       	call   0x40e310
424530:	eb 2b                	jmp    0x42455d
424532:	e8 b8 2d ff ff       	call   0x4172ef
424537:	84 c0                	test   %al,%al
424539:	74 08                	je     0x424543
42453b:	6a ff                	push   $0xffffffff
42453d:	ff 15 14 d0 44 00    	call   *0x44d014
424543:	8b cf                	mov    %edi,%ecx
424545:	8d 51 02             	lea    0x2(%ecx),%edx
424548:	66 8b 01             	mov    (%ecx),%ax
42454b:	83 c1 02             	add    $0x2,%ecx
42454e:	66 3b 44 24 2c       	cmp    0x2c(%esp),%ax
424553:	75 f3                	jne    0x424548
424555:	2b ca                	sub    %edx,%ecx
424557:	d1 f9                	sar    $1,%ecx
424559:	89 4c 24 38          	mov    %ecx,0x38(%esp)
42455d:	85 db                	test   %ebx,%ebx
42455f:	74 13                	je     0x424574
424561:	53                   	push   %ebx
424562:	33 db                	xor    %ebx,%ebx
424564:	53                   	push   %ebx
424565:	ff 15 34 a1 44 00    	call   *0x44a134
42456b:	50                   	push   %eax
42456c:	ff 15 3c a1 44 00    	call   *0x44a13c
424572:	eb 02                	jmp    0x424576
424574:	33 db                	xor    %ebx,%ebx
424576:	8b cf                	mov    %edi,%ecx
424578:	8d 51 02             	lea    0x2(%ecx),%edx
42457b:	66 8b 01             	mov    (%ecx),%ax
42457e:	83 c1 02             	add    $0x2,%ecx
424581:	66 3b c3             	cmp    %bx,%ax
424584:	75 f5                	jne    0x42457b
424586:	2b ca                	sub    %edx,%ecx
424588:	d1 f9                	sar    $1,%ecx
42458a:	8d 41 01             	lea    0x1(%ecx),%eax
42458d:	89 44 24 0c          	mov    %eax,0xc(%esp)
424591:	03 c0                	add    %eax,%eax
424593:	50                   	push   %eax
424594:	53                   	push   %ebx
424595:	ff 15 34 a1 44 00    	call   *0x44a134
42459b:	50                   	push   %eax
42459c:	ff 15 28 a1 44 00    	call   *0x44a128
4245a2:	8b d8                	mov    %eax,%ebx
4245a4:	85 db                	test   %ebx,%ebx
4245a6:	74 11                	je     0x4245b9
4245a8:	8b 54 24 0c          	mov    0xc(%esp),%edx
4245ac:	8b cb                	mov    %ebx,%ecx
4245ae:	57                   	push   %edi
4245af:	e8 ec ad fe ff       	call   0x40f3a0
4245b4:	e9 ae fc ff ff       	jmp    0x424267
4245b9:	33 c0                	xor    %eax,%eax
4245bb:	eb 28                	jmp    0x4245e5
4245bd:	bb 04 8e 44 00       	mov    $0x448e04,%ebx
4245c2:	53                   	push   %ebx
4245c3:	ff 15 90 a2 44 00    	call   *0x44a290
4245c9:	6a 00                	push   $0x0
4245cb:	56                   	push   %esi
4245cc:	ff 75 08             	push   0x8(%ebp)
4245cf:	57                   	push   %edi
4245d0:	ff 74 24 40          	push   0x40(%esp)