4032c6:	39 d4                	cmp    %edx,%esp
4032c8:	75 e3                	jne    0x4032ad
4032ca:	5f                   	pop    %edi
4032cb:	5e                   	pop    %esi
4032cc:	5b                   	pop    %ebx
4032cd:	c3                   	ret
4032ce:	8b c0                	mov    %eax,%eax
4032d0:	53                   	push   %ebx
4032d1:	56                   	push   %esi
4032d2:	89 c3                	mov    %eax,%ebx
4032d4:	89 c6                	mov    %eax,%esi
4032d6:	8b 36                	mov    (%esi),%esi
4032d8:	8b 56 c0             	mov    -0x40(%esi),%edx
4032db:	8b 76 dc             	mov    -0x24(%esi),%esi
4032de:	85 d2                	test   %edx,%edx
4032e0:	74 07                	je     0x4032e9
4032e2:	e8 11 17 00 00       	call   0x4049f8
4032e7:	89 d8                	mov    %ebx,%eax
4032e9:	85 f6                	test   %esi,%esi
4032eb:	75 e9                	jne    0x4032d6
4032ed:	5e                   	pop    %esi
4032ee:	5b                   	pop    %ebx
4032ef:	c3                   	ret
4032f0:	87 d1                	xchg   %edx,%ecx
4032f2:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
4032f8:	73 11                	jae    0x40330b
4032fa:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
403300:	72 07                	jb     0x403309
403302:	0f bf c9             	movswl %cx,%ecx
403305:	03 08                	add    (%eax),%ecx
403307:	ff 21                	jmp    *(%ecx)
403309:	ff e1                	jmp    *%ecx
40330b:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
403311:	01 c1                	add    %eax,%ecx
403313:	89 d0                	mov    %edx,%eax
403315:	8b 11                	mov    (%ecx),%edx
403317:	e9 58 23 00 00       	jmp    0x405674
40331c:	c3                   	ret
40331d:	8d 40 00             	lea    0x0(%eax),%eax
403320:	55                   	push   %ebp
403321:	8b ec                	mov    %esp,%ebp
403323:	83 c4 f8             	add    $0xfffffff8,%esp
403326:	53                   	push   %ebx
403327:	56                   	push   %esi
403328:	57                   	push   %edi
403329:	33 db                	xor    %ebx,%ebx
40332b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40332e:	8b f1                	mov    %ecx,%esi
403330:	89 55 fc             	mov    %edx,-0x4(%ebp)
403333:	8b f8                	mov    %eax,%edi
403335:	33 c0                	xor    %eax,%eax
403337:	55                   	push   %ebp
403338:	68 a4 33 40 00       	push   $0x4033a4
40333d:	64 ff 30             	push   %fs:(%eax)
403340:	64 89 20             	mov    %esp,%fs:(%eax)
403343:	33 c0                	xor    %eax,%eax
403345:	89 06                	mov    %eax,(%esi)
403347:	8b 55 fc             	mov    -0x4(%ebp),%edx
40334a:	8b 07                	mov    (%edi),%eax
40334c:	e8 63 00 00 00       	call   0x4033b4
403351:	8b d8                	mov    %eax,%ebx
403353:	85 db                	test   %ebx,%ebx
403355:	74 31                	je     0x403388
403357:	8b 43 14             	mov    0x14(%ebx),%eax
40335a:	85 c0                	test   %eax,%eax
40335c:	74 13                	je     0x403371
40335e:	03 f8                	add    %eax,%edi
403360:	89 3e                	mov    %edi,(%esi)
403362:	83 3e 00             	cmpl   $0x0,(%esi)
403365:	74 21                	je     0x403388
403367:	8b 06                	mov    (%esi),%eax
403369:	50                   	push   %eax
40336a:	8b 00                	mov    (%eax),%eax
40336c:	ff 50 04             	call   *0x4(%eax)
40336f:	eb 17                	jmp    0x403388
403371:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403374:	8b 53 18             	mov    0x18(%ebx),%edx
403377:	8b c7                	mov    %edi,%eax
403379:	e8 72 ff ff ff       	call   0x4032f0
40337e:	8b 55 f8             	mov    -0x8(%ebp),%edx
403381:	8b c6                	mov    %esi,%eax
403383:	e8 ec 22 00 00       	call   0x405674
403388:	83 3e 00             	cmpl   $0x0,(%esi)
40338b:	0f 95 c3             	setne  %bl
40338e:	33 c0                	xor    %eax,%eax
403390:	5a                   	pop    %edx
403391:	59                   	pop    %ecx
403392:	59                   	pop    %ecx
403393:	64 89 10             	mov    %edx,%fs:(%eax)
403396:	68 ab 33 40 00       	push   $0x4033ab
40339b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40339e:	e8 b9 22 00 00       	call   0x40565c
4033a3:	c3                   	ret
4033a4:	e9 17 06 00 00       	jmp    0x4039c0
4033a9:	eb f0                	jmp    0x40339b
4033ab:	8b c3                	mov    %ebx,%eax
4033ad:	5f                   	pop    %edi
4033ae:	5e                   	pop    %esi
4033af:	5b                   	pop    %ebx
4033b0:	59                   	pop    %ecx
4033b1:	59                   	pop    %ecx
4033b2:	5d                   	pop    %ebp
4033b3:	c3                   	ret
4033b4:	53                   	push   %ebx
4033b5:	56                   	push   %esi
4033b6:	89 c3                	mov    %eax,%ebx
4033b8:	8b 43 b8             	mov    -0x48(%ebx),%eax
4033bb:	85 c0                	test   %eax,%eax
4033bd:	74 29                	je     0x4033e8
4033bf:	8b 08                	mov    (%eax),%ecx
4033c1:	83 c0 04             	add    $0x4,%eax
4033c4:	8b 32                	mov    (%edx),%esi
4033c6:	3b 30                	cmp    (%eax),%esi
4033c8:	75 18                	jne    0x4033e2
4033ca:	8b 72 04             	mov    0x4(%edx),%esi
4033cd:	3b 70 04             	cmp    0x4(%eax),%esi
4033d0:	75 10                	jne    0x4033e2
4033d2:	8b 72 08             	mov    0x8(%edx),%esi
4033d5:	3b 70 08             	cmp    0x8(%eax),%esi
4033d8:	75 08                	jne    0x4033e2
4033da:	8b 72 0c             	mov    0xc(%edx),%esi
4033dd:	3b 70 0c             	cmp    0xc(%eax),%esi
4033e0:	74 13                	je     0x4033f5
4033e2:	83 c0 1c             	add    $0x1c,%eax
4033e5:	49                   	dec    %ecx
4033e6:	75 dc                	jne    0x4033c4
4033e8:	8b 5b dc             	mov    -0x24(%ebx),%ebx
4033eb:	85 db                	test   %ebx,%ebx
4033ed:	74 04                	je     0x4033f3
4033ef:	8b 1b                	mov    (%ebx),%ebx
4033f1:	eb c5                	jmp    0x4033b8
4033f3:	31 c0                	xor    %eax,%eax
4033f5:	5e                   	pop    %esi
4033f6:	5b                   	pop    %ebx
4033f7:	c3                   	ret
4033f8:	53                   	push   %ebx
4033f9:	56                   	push   %esi
4033fa:	8b f2                	mov    %edx,%esi
4033fc:	8b d8                	mov    %eax,%ebx
4033fe:	85 db                	test   %ebx,%ebx
403400:	74 0d                	je     0x40340f
403402:	8b d6                	mov    %esi,%edx
403404:	8b 03                	mov    (%ebx),%eax
403406:	e8 8d 00 00 00       	call   0x403498
40340b:	84 c0                	test   %al,%al
40340d:	75 05                	jne    0x403414
40340f:	33 c0                	xor    %eax,%eax
403411:	5e                   	pop    %esi
403412:	5b                   	pop    %ebx
403413:	c3                   	ret
403414:	b0 01                	mov    $0x1,%al
403416:	5e                   	pop    %esi
403417:	5b                   	pop    %ebx
403418:	c3                   	ret
403419:	8d 40 00             	lea    0x0(%eax),%eax
40341c:	85 c0                	test   %eax,%eax
40341e:	74 16                	je     0x403436
403420:	89 c1                	mov    %eax,%ecx
403422:	8b 09                	mov    (%ecx),%ecx
403424:	39 d1                	cmp    %edx,%ecx
403426:	74 0e                	je     0x403436
403428:	8b 49 dc             	mov    -0x24(%ecx),%ecx
40342b:	85 c9                	test   %ecx,%ecx
40342d:	75 f3                	jne    0x403422
40342f:	b0 0a                	mov    $0xa,%al
403431:	e9 e2 f3 ff ff       	jmp    0x402818
403436:	c3                   	ret
403437:	90                   	nop
403438:	57                   	push   %edi
403439:	96                   	xchg   %eax,%esi
40343a:	eb 02                	jmp    0x40343e
40343c:	8b 36                	mov    (%esi),%esi
40343e:	8b 7e d0             	mov    -0x30(%esi),%edi
403441:	85 ff                	test   %edi,%edi
403443:	74 0d                	je     0x403452
403445:	0f b7 0f             	movzwl (%edi),%ecx
403448:	51                   	push   %ecx
403449:	83 c7 02             	add    $0x2,%edi
40344c:	f2 66 af             	repnz scas %es:(%edi),%ax
40344f:	74 0a                	je     0x40345b
403451:	59                   	pop    %ecx
403452:	8b 76 dc             	mov    -0x24(%esi),%esi
403455:	85 f6                	test   %esi,%esi
403457:	75 e3                	jne    0x40343c
403459:	5f                   	pop    %edi
40345a:	c3                   	ret
40345b:	58                   	pop    %eax
40345c:	01 c0                	add    %eax,%eax
40345e:	29 c8                	sub    %ecx,%eax
403460:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
403464:	5f                   	pop    %edi
403465:	c3                   	ret
403466:	8b c0                	mov    %eax,%eax
403468:	50                   	push   %eax
403469:	51                   	push   %ecx
40346a:	8b 00                	mov    (%eax),%eax
40346c:	e8 c7 ff ff ff       	call   0x403438
403471:	59                   	pop    %ecx
403472:	58                   	pop    %eax
403473:	74 02                	je     0x403477
403475:	ff e6                	jmp    *%esi
403477:	59                   	pop    %ecx
403478:	e9 33 f6 ff ff       	jmp    0x402ab0
40347d:	c3                   	ret
40347e:	8b c0                	mov    %eax,%eax
403480:	56                   	push   %esi
403481:	89 d6                	mov    %edx,%esi
403483:	8b 00                	mov    (%eax),%eax
403485:	e8 ae ff ff ff       	call   0x403438
40348a:	89 f0                	mov    %esi,%eax
40348c:	5e                   	pop    %esi
40348d:	75 06                	jne    0x403495
40348f:	59                   	pop    %ecx
403490:	e9 1b f6 ff ff       	jmp    0x402ab0
403495:	c3                   	ret
403496:	8b c0                	mov    %eax,%eax
403498:	eb 02                	jmp    0x40349c
40349a:	8b 00                	mov    (%eax),%eax
40349c:	39 d0                	cmp    %edx,%eax
40349e:	74 08                	je     0x4034a8
4034a0:	8b 40 dc             	mov    -0x24(%eax),%eax
4034a3:	85 c0                	test   %eax,%eax
4034a5:	75 f3                	jne    0x40349a
4034a7:	c3                   	ret
4034a8:	b0 01                	mov    $0x1,%al
4034aa:	c3                   	ret
4034ab:	90                   	nop
4034ac:	83 c0 c4             	add    $0xffffffc4,%eax
4034af:	8b 00                	mov    (%eax),%eax
4034b1:	c3                   	ret
4034b2:	8b c0                	mov    %eax,%eax
4034b4:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
4034b9:	c3                   	ret
4034ba:	8b c0                	mov    %eax,%eax
4034bc:	c3                   	ret
4034bd:	8d 40 00             	lea    0x0(%eax),%eax
4034c0:	c3                   	ret
4034c1:	8d 40 00             	lea    0x0(%eax),%eax
4034c4:	c3                   	ret
4034c5:	8d 40 00             	lea    0x0(%eax),%eax
4034c8:	56                   	push   %esi
4034c9:	66 8b 32             	mov    (%edx),%si
4034cc:	66 09 f6             	or     %si,%si
4034cf:	74 17                	je     0x4034e8
4034d1:	66 81 fe 00 c0       	cmp    $0xc000,%si
4034d6:	73 10                	jae    0x4034e8
4034d8:	50                   	push   %eax
4034d9:	8b 00                	mov    (%eax),%eax
4034db:	e8 58 ff ff ff       	call   0x403438
4034e0:	58                   	pop    %eax
4034e1:	74 05                	je     0x4034e8
4034e3:	89 f1                	mov    %esi,%ecx
4034e5:	5e                   	pop    %esi
4034e6:	ff e1                	jmp    *%ecx
4034e8:	5e                   	pop    %esi
4034e9:	8b 08                	mov    (%eax),%ecx
4034eb:	ff 61 f0             	jmp    *-0x10(%ecx)
4034ee:	c3                   	ret
4034ef:	90                   	nop
4034f0:	53                   	push   %ebx
4034f1:	56                   	push   %esi
4034f2:	57                   	push   %edi
4034f3:	31 c9                	xor    %ecx,%ecx
4034f5:	31 ff                	xor    %edi,%edi
4034f7:	8a 1a                	mov    (%edx),%bl
4034f9:	eb 02                	jmp    0x4034fd
4034fb:	8b 00                	mov    (%eax),%eax
4034fd:	8b 70 cc             	mov    -0x34(%eax),%esi
403500:	85 f6                	test   %esi,%esi
403502:	74 15                	je     0x403519
403504:	66 8b 3e             	mov    (%esi),%di
403507:	83 c6 02             	add    $0x2,%esi
40350a:	8a 4e 06             	mov    0x6(%esi),%cl
40350d:	38 d9                	cmp    %bl,%cl
40350f:	74 15                	je     0x403526
403511:	66 8b 0e             	mov    (%esi),%cx
403514:	01 ce                	add    %ecx,%esi
403516:	4f                   	dec    %edi
403517:	75 f1                	jne    0x40350a
403519:	8b 40 dc             	mov    -0x24(%eax),%eax
40351c:	85 c0                	test   %eax,%eax
40351e:	75 db                	jne    0x4034fb
403520:	eb 18                	jmp    0x40353a
403522:	8a 1a                	mov    (%edx),%bl
403524:	eb eb                	jmp    0x403511
403526:	b5 00                	mov    $0x0,%ch
403528:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
40352c:	32 1c 11             	xor    (%ecx,%edx,1),%bl
40352f:	80 e3 df             	and    $0xdf,%bl
403532:	75 ee                	jne    0x403522
403534:	49                   	dec    %ecx
403535:	75 f1                	jne    0x403528
403537:	8b 46 02             	mov    0x2(%esi),%eax
40353a:	5f                   	pop    %edi
40353b:	5e                   	pop    %esi
40353c:	5b                   	pop    %ebx
40353d:	c3                   	ret
40353e:	8b c0                	mov    %eax,%eax
403540:	53                   	push   %ebx
403541:	56                   	push   %esi
403542:	57                   	push   %edi
403543:	31 c9                	xor    %ecx,%ecx
403545:	31 ff                	xor    %edi,%edi
403547:	8a 1a                	mov    (%edx),%bl
403549:	50                   	push   %eax
40354a:	8b 00                	mov    (%eax),%eax
40354c:	8b 70 c8             	mov    -0x38(%eax),%esi
40354f:	85 f6                	test   %esi,%esi
403551:	74 14                	je     0x403567
403553:	66 8b 3e             	mov    (%esi),%di
403556:	83 c6 06             	add    $0x6,%esi
403559:	8a 4e 06             	mov    0x6(%esi),%cl
40355c:	38 d9                	cmp    %bl,%cl
40355e:	74 18                	je     0x403578
403560:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
403564:	4f                   	dec    %edi
403565:	75 f2                	jne    0x403559
403567:	8b 40 dc             	mov    -0x24(%eax),%eax
40356a:	85 c0                	test   %eax,%eax
40356c:	75 dc                	jne    0x40354a
40356e:	5a                   	pop    %edx
40356f:	eb 1b                	jmp    0x40358c
403571:	8a 1a                	mov    (%edx),%bl
403573:	8a 4e 06             	mov    0x6(%esi),%cl
403576:	eb e8                	jmp    0x403560
403578:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
40357c:	32 1c 11             	xor    (%ecx,%edx,1),%bl
40357f:	80 e3 df             	and    $0xdf,%bl
403582:	75 ed                	jne    0x403571
403584:	49                   	dec    %ecx
403585:	75 f1                	jne    0x403578
403587:	8b 06                	mov    (%esi),%eax
403589:	5a                   	pop    %edx
40358a:	01 d0                	add    %edx,%eax
40358c:	5f                   	pop    %edi
40358d:	5e                   	pop    %esi
40358e:	5b                   	pop    %ebx
40358f:	c3                   	ret
403590:	52                   	push   %edx
403591:	51                   	push   %ecx
403592:	53                   	push   %ebx
403593:	84 d2                	test   %dl,%dl
403595:	7c 03                	jl     0x40359a
403597:	ff 50 f4             	call   *-0xc(%eax)
40359a:	31 d2                	xor    %edx,%edx
40359c:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4035a0:	64 8b 1a             	mov    %fs:(%edx),%ebx
4035a3:	89 19                	mov    %ebx,(%ecx)
4035a5:	89 69 08             	mov    %ebp,0x8(%ecx)
4035a8:	c7 41 04 b9 35 40 00 	movl   $0x4035b9,0x4(%ecx)