40327f:	33 c0                	xor    %eax,%eax
403281:	55                   	push   %ebp
403282:	68 c5 32 40 00       	push   $0x4032c5
403287:	64 ff 30             	push   %fs:(%eax)
40328a:	64 89 20             	mov    %esp,%fs:(%eax)
40328d:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
403294:	8d 45 f4             	lea    -0xc(%ebp),%eax
403297:	50                   	push   %eax
403298:	8d 45 f8             	lea    -0x8(%ebp),%eax
40329b:	50                   	push   %eax
40329c:	6a 00                	push   $0x0
40329e:	6a 00                	push   $0x0
4032a0:	68 08 33 40 00       	push   $0x403308
4032a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4032a8:	50                   	push   %eax
4032a9:	e8 ca e0 ff ff       	call   0x401378
4032ae:	33 c0                	xor    %eax,%eax
4032b0:	5a                   	pop    %edx
4032b1:	59                   	pop    %ecx
4032b2:	59                   	pop    %ecx
4032b3:	64 89 10             	mov    %edx,%fs:(%eax)
4032b6:	68 cc 32 40 00       	push   $0x4032cc
4032bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4032be:	50                   	push   %eax
4032bf:	e8 a4 e0 ff ff       	call   0x401368
4032c4:	c3                   	ret
4032c5:	e9 9e 08 00 00       	jmp    0x403b68
4032ca:	eb ef                	jmp    0x4032bb
4032cc:	66 a1 20 d0 48 00    	mov    0x48d020,%ax
4032d2:	66 25 c0 ff          	and    $0xffc0,%ax
4032d6:	66 8b 55 f8          	mov    -0x8(%ebp),%dx
4032da:	66 83 e2 3f          	and    $0x3f,%dx
4032de:	66 0b c2             	or     %dx,%ax
4032e1:	66 a3 20 d0 48 00    	mov    %ax,0x48d020
4032e7:	8b e5                	mov    %ebp,%esp
4032e9:	5d                   	pop    %ebp
4032ea:	c3                   	ret
4032eb:	00 53 4f             	add    %dl,0x4f(%ebx)
4032ee:	46                   	inc    %esi
4032ef:	54                   	push   %esp
4032f0:	57                   	push   %edi
4032f1:	41                   	inc    %ecx
4032f2:	52                   	push   %edx
4032f3:	45                   	inc    %ebp
4032f4:	5c                   	pop    %esp
4032f5:	42                   	inc    %edx
4032f6:	6f                   	outsl  %ds:(%esi),(%dx)
4032f7:	72 6c                	jb     0x403365
4032f9:	61                   	popa
4032fa:	6e                   	outsb  %ds:(%esi),(%dx)
4032fb:	64 5c                	fs pop %esp
4032fd:	44                   	inc    %esp
4032fe:	65 6c                	gs insb (%dx),%es:(%edi)
403300:	70 68                	jo     0x40336a
403302:	69 5c 52 54 4c 00 46 	imul   $0x5046004c,0x54(%edx,%edx,2),%ebx
403309:	50
40330a:	55                   	push   %ebp
40330b:	4d                   	dec    %ebp
40330c:	61                   	popa
40330d:	73 6b                	jae    0x40337a
40330f:	56                   	push   %esi
403310:	61                   	popa
403311:	6c                   	insb   (%dx),%es:(%edi)
403312:	75 65                	jne    0x403379
403314:	00 00                	add    %al,(%eax)
403316:	00 00                	add    %al,(%eax)
403318:	db e3                	fninit
40331a:	9b d9 2d 20 d0 48 00 	fldcw  0x48d020
403321:	c3                   	ret
403322:	8b c0                	mov    %eax,%eax
403324:	b0 04                	mov    $0x4,%al
403326:	e9 a9 f5 ff ff       	jmp    0x4028d4
40332b:	c3                   	ret
40332c:	b0 05                	mov    $0x5,%al
40332e:	e9 a1 f5 ff ff       	jmp    0x4028d4
403333:	c3                   	ret
403334:	8b 00                	mov    (%eax),%eax
403336:	89 c2                	mov    %eax,%edx
403338:	8b c2                	mov    %edx,%eax
40333a:	c3                   	ret
40333b:	90                   	nop
40333c:	56                   	push   %esi
40333d:	57                   	push   %edi
40333e:	89 d7                	mov    %edx,%edi
403340:	8b 70 d4             	mov    -0x2c(%eax),%esi
403343:	31 c9                	xor    %ecx,%ecx
403345:	8a 0e                	mov    (%esi),%cl
403347:	41                   	inc    %ecx
403348:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40334a:	5f                   	pop    %edi
40334b:	5e                   	pop    %esi
40334c:	c3                   	ret
40334d:	8d 40 00             	lea    0x0(%eax),%eax
403350:	53                   	push   %ebx
403351:	31 db                	xor    %ebx,%ebx
403353:	09 d2                	or     %edx,%edx
403355:	74 1c                	je     0x403373
403357:	8b 40 d4             	mov    -0x2c(%eax),%eax
40335a:	31 c9                	xor    %ecx,%ecx
40335c:	8a 08                	mov    (%eax),%cl
40335e:	3b 4a fc             	cmp    -0x4(%edx),%ecx
403361:	75 10                	jne    0x403373
403363:	4a                   	dec    %edx
403364:	8a 3c 01             	mov    (%ecx,%eax,1),%bh
403367:	32 3c 11             	xor    (%ecx,%edx,1),%bh
40336a:	80 e7 df             	and    $0xdf,%bh
40336d:	75 04                	jne    0x403373
40336f:	49                   	dec    %ecx
403370:	75 f2                	jne    0x403364
403372:	43                   	inc    %ebx
403373:	88 d8                	mov    %bl,%al
403375:	5b                   	pop    %ebx
403376:	c3                   	ret
403377:	90                   	nop
403378:	8b 40 dc             	mov    -0x24(%eax),%eax
40337b:	85 c0                	test   %eax,%eax
40337d:	74 02                	je     0x403381
40337f:	8b 00                	mov    (%eax),%eax
403381:	c3                   	ret
403382:	8b c0                	mov    %eax,%eax
403384:	53                   	push   %ebx
403385:	8b d8                	mov    %eax,%ebx
403387:	8b c3                	mov    %ebx,%eax
403389:	e8 26 00 00 00       	call   0x4033b4
40338e:	e8 e5 f3 ff ff       	call   0x402778
403393:	8b d0                	mov    %eax,%edx
403395:	8b c3                	mov    %ebx,%eax
403397:	e8 5c 00 00 00       	call   0x4033f8
40339c:	5b                   	pop    %ebx
40339d:	c3                   	ret
40339e:	8b c0                	mov    %eax,%eax
4033a0:	53                   	push   %ebx
4033a1:	8b d8                	mov    %eax,%ebx
4033a3:	8b c3                	mov    %ebx,%eax
4033a5:	e8 a6 00 00 00       	call   0x403450
4033aa:	8b c3                	mov    %ebx,%eax
4033ac:	e8 e7 f3 ff ff       	call   0x402798
4033b1:	5b                   	pop    %ebx
4033b2:	c3                   	ret
4033b3:	90                   	nop
4033b4:	83 c0 d8             	add    $0xffffffd8,%eax
4033b7:	8b 00                	mov    (%eax),%eax
4033b9:	c3                   	ret
4033ba:	8b c0                	mov    %eax,%eax
4033bc:	84 d2                	test   %dl,%dl
4033be:	74 08                	je     0x4033c8
4033c0:	83 c4 f0             	add    $0xfffffff0,%esp
4033c3:	e8 70 03 00 00       	call   0x403738
4033c8:	84 d2                	test   %dl,%dl
4033ca:	74 0f                	je     0x4033db
4033cc:	e8 bf 03 00 00       	call   0x403790
4033d1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4033d8:	83 c4 0c             	add    $0xc,%esp
4033db:	c3                   	ret
4033dc:	e8 bf 03 00 00       	call   0x4037a0
4033e1:	84 d2                	test   %dl,%dl
4033e3:	7e 05                	jle    0x4033ea
4033e5:	e8 9e 03 00 00       	call   0x403788
4033ea:	c3                   	ret
4033eb:	90                   	nop
4033ec:	85 c0                	test   %eax,%eax
4033ee:	74 07                	je     0x4033f7
4033f0:	b2 01                	mov    $0x1,%dl
4033f2:	8b 08                	mov    (%eax),%ecx
4033f4:	ff 51 fc             	call   *-0x4(%ecx)
4033f7:	c3                   	ret
4033f8:	53                   	push   %ebx
4033f9:	56                   	push   %esi
4033fa:	57                   	push   %edi
4033fb:	89 c3                	mov    %eax,%ebx
4033fd:	89 d7                	mov    %edx,%edi
4033ff:	ab                   	stos   %eax,%es:(%edi)
403400:	8b 4b d8             	mov    -0x28(%ebx),%ecx
403403:	31 c0                	xor    %eax,%eax
403405:	51                   	push   %ecx
403406:	c1 e9 02             	shr    $0x2,%ecx
403409:	49                   	dec    %ecx
40340a:	f3 ab                	rep stos %eax,%es:(%edi)
40340c:	59                   	pop    %ecx
40340d:	83 e1 03             	and    $0x3,%ecx
403410:	f3 aa                	rep stos %al,%es:(%edi)
403412:	89 d0                	mov    %edx,%eax
403414:	89 e2                	mov    %esp,%edx
403416:	8b 4b b8             	mov    -0x48(%ebx),%ecx
403419:	85 c9                	test   %ecx,%ecx
40341b:	74 01                	je     0x40341e
40341d:	51                   	push   %ecx
40341e:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403421:	85 db                	test   %ebx,%ebx
403423:	74 04                	je     0x403429
403425:	8b 1b                	mov    (%ebx),%ebx
403427:	eb ed                	jmp    0x403416
403429:	39 d4                	cmp    %edx,%esp
40342b:	74 1d                	je     0x40344a
40342d:	5b                   	pop    %ebx
40342e:	8b 0b                	mov    (%ebx),%ecx
403430:	83 c3 04             	add    $0x4,%ebx
403433:	8b 73 10             	mov    0x10(%ebx),%esi
403436:	85 f6                	test   %esi,%esi
403438:	74 06                	je     0x403440
40343a:	8b 7b 14             	mov    0x14(%ebx),%edi
40343d:	89 34 07             	mov    %esi,(%edi,%eax,1)
403440:	83 c3 1c             	add    $0x1c,%ebx
403443:	49                   	dec    %ecx
403444:	75 ed                	jne    0x403433
403446:	39 d4                	cmp    %edx,%esp
403448:	75 e3                	jne    0x40342d
40344a:	5f                   	pop    %edi
40344b:	5e                   	pop    %esi
40344c:	5b                   	pop    %ebx
40344d:	c3                   	ret
40344e:	8b c0                	mov    %eax,%eax
403450:	53                   	push   %ebx
403451:	56                   	push   %esi
403452:	89 c3                	mov    %eax,%ebx
403454:	89 c6                	mov    %eax,%esi
403456:	8b 36                	mov    (%esi),%esi
403458:	8b 56 c0             	mov    -0x40(%esi),%edx
40345b:	8b 76 dc             	mov    -0x24(%esi),%esi
40345e:	85 d2                	test   %edx,%edx
403460:	74 07                	je     0x403469
403462:	e8 65 17 00 00       	call   0x404bcc
403467:	89 d8                	mov    %ebx,%eax
403469:	85 f6                	test   %esi,%esi
40346b:	75 e9                	jne    0x403456
40346d:	5e                   	pop    %esi
40346e:	5b                   	pop    %ebx
40346f:	c3                   	ret
403470:	87 d1                	xchg   %edx,%ecx
403472:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
403478:	73 11                	jae    0x40348b
40347a:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
403480:	72 07                	jb     0x403489
403482:	0f bf c9             	movswl %cx,%ecx
403485:	03 08                	add    (%eax),%ecx
403487:	ff 21                	jmp    *(%ecx)
403489:	ff e1                	jmp    *%ecx
40348b:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
403491:	01 c1                	add    %eax,%ecx
403493:	89 d0                	mov    %edx,%eax
403495:	8b 11                	mov    (%ecx),%edx
403497:	e9 f0 28 00 00       	jmp    0x405d8c
40349c:	c3                   	ret
40349d:	8d 40 00             	lea    0x0(%eax),%eax
4034a0:	55                   	push   %ebp
4034a1:	8b ec                	mov    %esp,%ebp
4034a3:	83 c4 f8             	add    $0xfffffff8,%esp
4034a6:	53                   	push   %ebx
4034a7:	56                   	push   %esi
4034a8:	57                   	push   %edi
4034a9:	33 db                	xor    %ebx,%ebx
4034ab:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4034ae:	8b f1                	mov    %ecx,%esi
4034b0:	89 55 fc             	mov    %edx,-0x4(%ebp)
4034b3:	8b f8                	mov    %eax,%edi
4034b5:	33 c0                	xor    %eax,%eax
4034b7:	55                   	push   %ebp
4034b8:	68 24 35 40 00       	push   $0x403524
4034bd:	64 ff 30             	push   %fs:(%eax)
4034c0:	64 89 20             	mov    %esp,%fs:(%eax)
4034c3:	33 c0                	xor    %eax,%eax
4034c5:	89 06                	mov    %eax,(%esi)
4034c7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4034ca:	8b 07                	mov    (%edi),%eax
4034cc:	e8 63 00 00 00       	call   0x403534
4034d1:	8b d8                	mov    %eax,%ebx
4034d3:	85 db                	test   %ebx,%ebx
4034d5:	74 31                	je     0x403508
4034d7:	8b 43 14             	mov    0x14(%ebx),%eax
4034da:	85 c0                	test   %eax,%eax
4034dc:	74 13                	je     0x4034f1
4034de:	03 f8                	add    %eax,%edi
4034e0:	89 3e                	mov    %edi,(%esi)
4034e2:	83 3e 00             	cmpl   $0x0,(%esi)
4034e5:	74 21                	je     0x403508
4034e7:	8b 06                	mov    (%esi),%eax
4034e9:	50                   	push   %eax
4034ea:	8b 00                	mov    (%eax),%eax
4034ec:	ff 50 04             	call   *0x4(%eax)
4034ef:	eb 17                	jmp    0x403508
4034f1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4034f4:	8b 53 18             	mov    0x18(%ebx),%edx
4034f7:	8b c7                	mov    %edi,%eax
4034f9:	e8 72 ff ff ff       	call   0x403470
4034fe:	8b 55 f8             	mov    -0x8(%ebp),%edx
403501:	8b c6                	mov    %esi,%eax
403503:	e8 84 28 00 00       	call   0x405d8c
403508:	83 3e 00             	cmpl   $0x0,(%esi)
40350b:	0f 95 c3             	setne  %bl
40350e:	33 c0                	xor    %eax,%eax
403510:	5a                   	pop    %edx
403511:	59                   	pop    %ecx
403512:	59                   	pop    %ecx
403513:	64 89 10             	mov    %edx,%fs:(%eax)
403516:	68 2b 35 40 00       	push   $0x40352b
40351b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40351e:	e8 51 28 00 00       	call   0x405d74
403523:	c3                   	ret
403524:	e9 3f 06 00 00       	jmp    0x403b68
403529:	eb f0                	jmp    0x40351b
40352b:	8b c3                	mov    %ebx,%eax
40352d:	5f                   	pop    %edi
40352e:	5e                   	pop    %esi
40352f:	5b                   	pop    %ebx
403530:	59                   	pop    %ecx
403531:	59                   	pop    %ecx
403532:	5d                   	pop    %ebp
403533:	c3                   	ret
403534:	53                   	push   %ebx
403535:	56                   	push   %esi
403536:	89 c3                	mov    %eax,%ebx
403538:	8b 43 b8             	mov    -0x48(%ebx),%eax
40353b:	85 c0                	test   %eax,%eax
40353d:	74 29                	je     0x403568
40353f:	8b 08                	mov    (%eax),%ecx
403541:	83 c0 04             	add    $0x4,%eax
403544:	8b 32                	mov    (%edx),%esi
403546:	3b 30                	cmp    (%eax),%esi
403548:	75 18                	jne    0x403562
40354a:	8b 72 04             	mov    0x4(%edx),%esi
40354d:	3b 70 04             	cmp    0x4(%eax),%esi
403550:	75 10                	jne    0x403562
403552:	8b 72 08             	mov    0x8(%edx),%esi
403555:	3b 70 08             	cmp    0x8(%eax),%esi
403558:	75 08                	jne    0x403562
40355a:	8b 72 0c             	mov    0xc(%edx),%esi
40355d:	3b 70 0c             	cmp    0xc(%eax),%esi
403560:	74 13                	je     0x403575
403562:	83 c0 1c             	add    $0x1c,%eax
403565:	49                   	dec    %ecx
403566:	75 dc                	jne    0x403544
403568:	8b 5b dc             	mov    -0x24(%ebx),%ebx
40356b:	85 db                	test   %ebx,%ebx
40356d:	74 04                	je     0x403573
40356f:	8b 1b                	mov    (%ebx),%ebx
403571:	eb c5                	jmp    0x403538
403573:	31 c0                	xor    %eax,%eax
403575:	5e                   	pop    %esi
403576:	5b                   	pop    %ebx
403577:	c3                   	ret
403578:	53                   	push   %ebx
403579:	56                   	push   %esi
40357a:	8b f2                	mov    %edx,%esi
40357c:	8b d8                	mov    %eax,%ebx
40357e:	85 db                	test   %ebx,%ebx
403580:	74 0d                	je     0x40358f
403582:	8b d6                	mov    %esi,%edx
403584:	8b 03                	mov    (%ebx),%eax
403586:	e8 75 00 00 00       	call   0x403600
40358b:	84 c0                	test   %al,%al