4062ce:	cc                   	int3
4062cf:	cc                   	int3
4062d0:	55                   	push   %ebp
4062d1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
4062d5:	57                   	push   %edi
4062d6:	33 ff                	xor    %edi,%edi
4062d8:	85 ed                	test   %ebp,%ebp
4062da:	74 6c                	je     0x406348
4062dc:	53                   	push   %ebx
4062dd:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4062e1:	85 db                	test   %ebx,%ebx
4062e3:	74 62                	je     0x406347
4062e5:	56                   	push   %esi
4062e6:	8b 75 0c             	mov    0xc(%ebp),%esi
4062e9:	85 f6                	test   %esi,%esi
4062eb:	74 59                	je     0x406346
4062ed:	8d 49 00             	lea    0x0(%ecx),%ecx
4062f0:	8b 46 04             	mov    0x4(%esi),%eax
4062f3:	53                   	push   %ebx
4062f4:	50                   	push   %eax
4062f5:	e8 9d d2 02 00       	call   0x433597
4062fa:	83 c4 08             	add    $0x8,%esp
4062fd:	85 c0                	test   %eax,%eax
4062ff:	74 0d                	je     0x40630e
406301:	8b fe                	mov    %esi,%edi
406303:	8b 36                	mov    (%esi),%esi
406305:	85 f6                	test   %esi,%esi
406307:	75 e7                	jne    0x4062f0
406309:	5e                   	pop    %esi
40630a:	5b                   	pop    %ebx
40630b:	5f                   	pop    %edi
40630c:	5d                   	pop    %ebp
40630d:	c3                   	ret
40630e:	85 ff                	test   %edi,%edi
406310:	75 07                	jne    0x406319
406312:	8b 0e                	mov    (%esi),%ecx
406314:	89 4d 0c             	mov    %ecx,0xc(%ebp)
406317:	eb 04                	jmp    0x40631d
406319:	8b 16                	mov    (%esi),%edx
40631b:	89 17                	mov    %edx,(%edi)
40631d:	8b 46 04             	mov    0x4(%esi),%eax
406320:	85 c0                	test   %eax,%eax
406322:	74 09                	je     0x40632d
406324:	50                   	push   %eax
406325:	e8 73 a6 02 00       	call   0x43099d
40632a:	83 c4 04             	add    $0x4,%esp
40632d:	8b 46 08             	mov    0x8(%esi),%eax
406330:	85 c0                	test   %eax,%eax
406332:	74 09                	je     0x40633d
406334:	50                   	push   %eax
406335:	e8 63 a6 02 00       	call   0x43099d
40633a:	83 c4 04             	add    $0x4,%esp
40633d:	56                   	push   %esi
40633e:	e8 5a a6 02 00       	call   0x43099d
406343:	83 c4 04             	add    $0x4,%esp
406346:	5e                   	pop    %esi
406347:	5b                   	pop    %ebx
406348:	5f                   	pop    %edi
406349:	5d                   	pop    %ebp
40634a:	c3                   	ret
40634b:	cc                   	int3
40634c:	cc                   	int3
40634d:	cc                   	int3
40634e:	cc                   	int3
40634f:	cc                   	int3
406350:	8b 44 24 04          	mov    0x4(%esp),%eax
406354:	56                   	push   %esi
406355:	8b 70 0c             	mov    0xc(%eax),%esi
406358:	57                   	push   %edi
406359:	85 f6                	test   %esi,%esi
40635b:	74 1b                	je     0x406378
40635d:	8b 7c 24 10          	mov    0x10(%esp),%edi
406361:	8b 4e 04             	mov    0x4(%esi),%ecx
406364:	57                   	push   %edi
406365:	51                   	push   %ecx
406366:	e8 2c d2 02 00       	call   0x433597
40636b:	83 c4 08             	add    $0x8,%esp
40636e:	85 c0                	test   %eax,%eax
406370:	74 0b                	je     0x40637d
406372:	8b 36                	mov    (%esi),%esi
406374:	85 f6                	test   %esi,%esi
406376:	75 e9                	jne    0x406361
406378:	5f                   	pop    %edi
406379:	33 c0                	xor    %eax,%eax
40637b:	5e                   	pop    %esi
40637c:	c3                   	ret
40637d:	85 f6                	test   %esi,%esi
40637f:	74 f7                	je     0x406378
406381:	8b 46 08             	mov    0x8(%esi),%eax
406384:	85 c0                	test   %eax,%eax
406386:	74 f0                	je     0x406378
406388:	b9 5c c9 45 00       	mov    $0x45c95c,%ecx
40638d:	8d 49 00             	lea    0x0(%ecx),%ecx
406390:	66 8b 10             	mov    (%eax),%dx
406393:	66 3b 11             	cmp    (%ecx),%dx
406396:	75 1e                	jne    0x4063b6
406398:	66 85 d2             	test   %dx,%dx
40639b:	74 15                	je     0x4063b2
40639d:	66 8b 50 02          	mov    0x2(%eax),%dx
4063a1:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4063a5:	75 0f                	jne    0x4063b6
4063a7:	83 c0 04             	add    $0x4,%eax
4063aa:	83 c1 04             	add    $0x4,%ecx
4063ad:	66 85 d2             	test   %dx,%dx
4063b0:	75 de                	jne    0x406390
4063b2:	33 c0                	xor    %eax,%eax
4063b4:	eb 05                	jmp    0x4063bb
4063b6:	1b c0                	sbb    %eax,%eax
4063b8:	83 d8 ff             	sbb    $0xffffffff,%eax
4063bb:	85 c0                	test   %eax,%eax
4063bd:	75 b9                	jne    0x406378
4063bf:	5f                   	pop    %edi
4063c0:	b8 01 00 00 00       	mov    $0x1,%eax
4063c5:	5e                   	pop    %esi
4063c6:	c3                   	ret
4063c7:	cc                   	int3
4063c8:	cc                   	int3
4063c9:	cc                   	int3
4063ca:	cc                   	int3
4063cb:	cc                   	int3
4063cc:	cc                   	int3
4063cd:	cc                   	int3
4063ce:	cc                   	int3
4063cf:	cc                   	int3
4063d0:	8b 44 24 04          	mov    0x4(%esp),%eax
4063d4:	56                   	push   %esi
4063d5:	8b 70 0c             	mov    0xc(%eax),%esi
4063d8:	57                   	push   %edi
4063d9:	85 f6                	test   %esi,%esi
4063db:	74 2b                	je     0x406408
4063dd:	8b 7c 24 10          	mov    0x10(%esp),%edi
4063e1:	8b 4e 04             	mov    0x4(%esi),%ecx
4063e4:	57                   	push   %edi
4063e5:	51                   	push   %ecx
4063e6:	e8 ac d1 02 00       	call   0x433597
4063eb:	83 c4 08             	add    $0x8,%esp
4063ee:	85 c0                	test   %eax,%eax
4063f0:	74 0b                	je     0x4063fd
4063f2:	8b 36                	mov    (%esi),%esi
4063f4:	85 f6                	test   %esi,%esi
4063f6:	75 e9                	jne    0x4063e1
4063f8:	5f                   	pop    %edi
4063f9:	33 c0                	xor    %eax,%eax
4063fb:	5e                   	pop    %esi
4063fc:	c3                   	ret
4063fd:	85 f6                	test   %esi,%esi
4063ff:	74 07                	je     0x406408
406401:	8b 76 08             	mov    0x8(%esi),%esi
406404:	85 f6                	test   %esi,%esi
406406:	75 05                	jne    0x40640d
406408:	5f                   	pop    %edi
406409:	33 c0                	xor    %eax,%eax
40640b:	5e                   	pop    %esi
40640c:	c3                   	ret
40640d:	56                   	push   %esi
40640e:	e8 12 a7 02 00       	call   0x430b25
406413:	83 c4 04             	add    $0x4,%esp
406416:	5f                   	pop    %edi
406417:	5e                   	pop    %esi
406418:	c3                   	ret
406419:	cc                   	int3
40641a:	cc                   	int3
40641b:	cc                   	int3
40641c:	cc                   	int3
40641d:	cc                   	int3
40641e:	cc                   	int3
40641f:	cc                   	int3
406420:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
406425:	b8 5c c9 45 00       	mov    $0x45c95c,%eax
40642a:	75 05                	jne    0x406431
40642c:	b8 68 c9 45 00       	mov    $0x45c968,%eax
406431:	89 44 24 0c          	mov    %eax,0xc(%esp)
406435:	e9 06 fe ff ff       	jmp    0x406240
40643a:	cc                   	int3
40643b:	cc                   	int3
40643c:	cc                   	int3
40643d:	cc                   	int3
40643e:	cc                   	int3
40643f:	cc                   	int3
406440:	8b 44 24 0c          	mov    0xc(%esp),%eax
406444:	81 ec 08 02 00 00    	sub    $0x208,%esp
40644a:	50                   	push   %eax
40644b:	68 74 c9 45 00       	push   $0x45c974
406450:	8d 4c 24 08          	lea    0x8(%esp),%ecx
406454:	68 04 01 00 00       	push   $0x104
406459:	51                   	push   %ecx
40645a:	e8 00 a2 02 00       	call   0x43065f
40645f:	8b 84 24 20 02 00 00 	mov    0x220(%esp),%eax
406466:	8b 8c 24 1c 02 00 00 	mov    0x21c(%esp),%ecx
40646d:	8d 54 24 10          	lea    0x10(%esp),%edx
406471:	52                   	push   %edx
406472:	50                   	push   %eax
406473:	51                   	push   %ecx
406474:	e8 c7 fd ff ff       	call   0x406240
406479:	81 c4 24 02 00 00    	add    $0x224,%esp
40647f:	c3                   	ret
406480:	81 ec 08 02 00 00    	sub    $0x208,%esp
406486:	8b 84 24 14 02 00 00 	mov    0x214(%esp),%eax
40648d:	50                   	push   %eax
40648e:	68 70 be 45 00       	push   $0x45be70
406493:	8d 4c 24 08          	lea    0x8(%esp),%ecx
406497:	68 04 01 00 00       	push   $0x104
40649c:	51                   	push   %ecx
40649d:	e8 bd a1 02 00       	call   0x43065f
4064a2:	8b 8c 24 20 02 00 00 	mov    0x220(%esp),%ecx
4064a9:	33 d2                	xor    %edx,%edx
4064ab:	8d 44 24 10          	lea    0x10(%esp),%eax
4064af:	50                   	push   %eax
4064b0:	66 89 94 24 1a 02 00 	mov    %dx,0x21a(%esp)
4064b7:	00
4064b8:	8b 94 24 20 02 00 00 	mov    0x220(%esp),%edx
4064bf:	51                   	push   %ecx
4064c0:	52                   	push   %edx
4064c1:	e8 7a fd ff ff       	call   0x406240
4064c6:	81 c4 24 02 00 00    	add    $0x224,%esp
4064cc:	c3                   	ret
4064cd:	cc                   	int3
4064ce:	cc                   	int3
4064cf:	cc                   	int3
4064d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4064d4:	33 c9                	xor    %ecx,%ecx
4064d6:	81 ec 08 02 00 00    	sub    $0x208,%esp
4064dc:	66 39 08             	cmp    %cx,(%eax)
4064df:	74 2d                	je     0x40650e
4064e1:	8d 14 24             	lea    (%esp),%edx
4064e4:	56                   	push   %esi
4064e5:	2b d0                	sub    %eax,%edx
4064e7:	57                   	push   %edi
4064e8:	81 f9 03 01 00 00    	cmp    $0x103,%ecx
4064ee:	73 1c                	jae    0x40650c
4064f0:	0f b6 70 01          	movzbl 0x1(%eax),%esi
4064f4:	66 8b 38             	mov    (%eax),%di
4064f7:	66 c1 e7 08          	shl    $0x8,%di
4064fb:	66 33 f7             	xor    %di,%si
4064fe:	66 89 34 02          	mov    %si,(%edx,%eax,1)
406502:	83 c0 02             	add    $0x2,%eax
406505:	41                   	inc    %ecx
406506:	66 83 38 00          	cmpw   $0x0,(%eax)
40650a:	75 dc                	jne    0x4064e8
40650c:	5f                   	pop    %edi
40650d:	5e                   	pop    %esi
40650e:	8b 94 24 10 02 00 00 	mov    0x210(%esp),%edx
406515:	33 c0                	xor    %eax,%eax
406517:	66 89 04 4c          	mov    %ax,(%esp,%ecx,2)
40651b:	8b 84 24 0c 02 00 00 	mov    0x20c(%esp),%eax
406522:	8d 0c 24             	lea    (%esp),%ecx
406525:	51                   	push   %ecx
406526:	52                   	push   %edx
406527:	50                   	push   %eax
406528:	e8 13 fd ff ff       	call   0x406240
40652d:	81 c4 14 02 00 00    	add    $0x214,%esp
406533:	c3                   	ret
406534:	cc                   	int3
406535:	cc                   	int3
406536:	cc                   	int3
406537:	cc                   	int3
406538:	cc                   	int3
406539:	cc                   	int3
40653a:	cc                   	int3
40653b:	cc                   	int3
40653c:	cc                   	int3
40653d:	cc                   	int3
40653e:	cc                   	int3
40653f:	cc                   	int3
406540:	8b 44 24 04          	mov    0x4(%esp),%eax
406544:	56                   	push   %esi
406545:	8b 70 0c             	mov    0xc(%eax),%esi
406548:	57                   	push   %edi
406549:	85 f6                	test   %esi,%esi
40654b:	74 23                	je     0x406570
40654d:	8b 7c 24 10          	mov    0x10(%esp),%edi
406551:	8b 4e 04             	mov    0x4(%esi),%ecx
406554:	57                   	push   %edi
406555:	51                   	push   %ecx
406556:	e8 3c d0 02 00       	call   0x433597
40655b:	83 c4 08             	add    $0x8,%esp
40655e:	85 c0                	test   %eax,%eax
406560:	74 0a                	je     0x40656c
406562:	8b 36                	mov    (%esi),%esi
406564:	85 f6                	test   %esi,%esi
406566:	75 e9                	jne    0x406551
406568:	33 c0                	xor    %eax,%eax
40656a:	eb 0b                	jmp    0x406577
40656c:	85 f6                	test   %esi,%esi
40656e:	75 04                	jne    0x406574
406570:	33 c0                	xor    %eax,%eax
406572:	eb 03                	jmp    0x406577
406574:	8b 46 08             	mov    0x8(%esi),%eax
406577:	33 d2                	xor    %edx,%edx
406579:	85 c0                	test   %eax,%eax
40657b:	75 0a                	jne    0x406587
40657d:	8b 44 24 14          	mov    0x14(%esp),%eax
406581:	5f                   	pop    %edi
406582:	66 89 10             	mov    %dx,(%eax)
406585:	5e                   	pop    %esi
406586:	c3                   	ret
406587:	8b 7c 24 14          	mov    0x14(%esp),%edi
40658b:	66 39 10             	cmp    %dx,(%eax)
40658e:	74 32                	je     0x4065c2
406590:	8b 74 24 18          	mov    0x18(%esp),%esi
406594:	8b cf                	mov    %edi,%ecx
406596:	53                   	push   %ebx
406597:	4e                   	dec    %esi
406598:	2b c8                	sub    %eax,%ecx
40659a:	55                   	push   %ebp
40659b:	eb 03                	jmp    0x4065a0
40659d:	8d 49 00             	lea    0x0(%ecx),%ecx
4065a0:	3b d6                	cmp    %esi,%edx
4065a2:	73 1c                	jae    0x4065c0
4065a4:	0f b6 58 01          	movzbl 0x1(%eax),%ebx
4065a8:	66 8b 28             	mov    (%eax),%bp
4065ab:	66 c1 e5 08          	shl    $0x8,%bp
4065af:	66 33 dd             	xor    %bp,%bx
4065b2:	66 89 1c 01          	mov    %bx,(%ecx,%eax,1)
4065b6:	83 c0 02             	add    $0x2,%eax
4065b9:	42                   	inc    %edx
4065ba:	66 83 38 00          	cmpw   $0x0,(%eax)
4065be:	75 e0                	jne    0x4065a0
4065c0:	5d                   	pop    %ebp
4065c1:	5b                   	pop    %ebx
4065c2:	33 c9                	xor    %ecx,%ecx
4065c4:	66 89 0c 57          	mov    %cx,(%edi,%edx,2)
4065c8:	5f                   	pop    %edi
4065c9:	5e                   	pop    %esi
4065ca:	c3                   	ret
4065cb:	cc                   	int3
4065cc:	cc                   	int3
4065cd:	cc                   	int3
4065ce:	cc                   	int3
4065cf:	cc                   	int3
4065d0:	53                   	push   %ebx
4065d1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4065d5:	55                   	push   %ebp
4065d6:	8b 6b 14             	mov    0x14(%ebx),%ebp
4065d9:	57                   	push   %edi
4065da:	8b 7c 24 10          	mov    0x10(%esp),%edi
4065de:	85 ff                	test   %edi,%edi
4065e0:	74 26                	je     0x406608
4065e2:	56                   	push   %esi
4065e3:	8b 77 04             	mov    0x4(%edi),%esi
4065e6:	85 f6                	test   %esi,%esi
4065e8:	74 1d                	je     0x406607
4065ea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4065f0:	8b 46 14             	mov    0x14(%esi),%eax
4065f3:	50                   	push   %eax
4065f4:	55                   	push   %ebp
4065f5:	e8 9d cf 02 00       	call   0x433597
4065fa:	83 c4 08             	add    $0x8,%esp
4065fd:	85 c0                	test   %eax,%eax
4065ff:	74 06                	je     0x406607