4031d5:	6a 7d                	push   $0x7d
4031d7:	58                   	pop    %eax
4031d8:	66 39 03             	cmp    %ax,(%ebx)
4031db:	0f 85 05 fa ff ff    	jne    0x402be6
4031e1:	e9 ee fe ff ff       	jmp    0x4030d4
4031e6:	85 ff                	test   %edi,%edi
4031e8:	7e 09                	jle    0x4031f3
4031ea:	0f b7 ff             	movzwl %di,%edi
4031ed:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4031f3:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
4031f9:	85 c0                	test   %eax,%eax
4031fb:	0f 84 d3 fe ff ff    	je     0x4030d4
403201:	50                   	push   %eax
403202:	ff 15 f8 70 40 00    	call   *0x4070f8
403208:	e9 c7 fe ff ff       	jmp    0x4030d4
40320d:	0f 8e c1 fe ff ff    	jle    0x4030d4
403213:	0f b7 ff             	movzwl %di,%edi
403216:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40321c:	e9 b3 fe ff ff       	jmp    0x4030d4
403221:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
403226:	e9 a9 fe ff ff       	jmp    0x4030d4
40322b:	8b ff                	mov    %edi,%edi
40322d:	55                   	push   %ebp
40322e:	8b ec                	mov    %esp,%ebp
403230:	83 e4 f8             	and    $0xfffffff8,%esp
403233:	81 ec 64 06 00 00    	sub    $0x664,%esp
403239:	a1 54 60 40 00       	mov    0x406054,%eax
40323e:	33 c4                	xor    %esp,%eax
403240:	89 84 24 60 06 00 00 	mov    %eax,0x660(%esp)
403247:	53                   	push   %ebx
403248:	56                   	push   %esi
403249:	57                   	push   %edi
40324a:	33 db                	xor    %ebx,%ebx
40324c:	c7 44 24 1c 0a 00 00 	movl   $0xa,0x1c(%esp)
403253:	00
403254:	6a 28                	push   $0x28
403256:	89 5c 24 40          	mov    %ebx,0x40(%esp)
40325a:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
40325e:	ff 15 84 71 40 00    	call   *0x407184
403264:	59                   	pop    %ecx
403265:	89 44 24 14          	mov    %eax,0x14(%esp)
403269:	8d 7c 24 20          	lea    0x20(%esp),%edi
40326d:	6a 06                	push   $0x6
40326f:	59                   	pop    %ecx
403270:	33 c0                	xor    %eax,%eax
403272:	f3 ab                	rep stos %eax,%es:(%edi)
403274:	8d 4c 24 20          	lea    0x20(%esp),%ecx
403278:	88 5c 24 38          	mov    %bl,0x38(%esp)
40327c:	e8 4d e8 ff ff       	call   0x401ace
403281:	8b f8                	mov    %eax,%edi
403283:	85 ff                	test   %edi,%edi
403285:	0f 88 fe 00 00 00    	js     0x403389
40328b:	68 0a 02 00 00       	push   $0x20a
403290:	8d 44 24 44          	lea    0x44(%esp),%eax
403294:	c6 44 24 3c 01       	movb   $0x1,0x3c(%esp)
403299:	53                   	push   %ebx
40329a:	50                   	push   %eax
40329b:	e8 f2 23 00 00       	call   0x405692
4032a0:	a1 70 64 40 00       	mov    0x406470,%eax
4032a5:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
4032a9:	83 c4 0c             	add    $0xc,%esp
4032ac:	be 04 01 00 00       	mov    $0x104,%esi
4032b1:	56                   	push   %esi
4032b2:	51                   	push   %ecx
4032b3:	ff 70 04             	push   0x4(%eax)
4032b6:	ff 15 90 70 40 00    	call   *0x407090
4032bc:	3b c6                	cmp    %esi,%eax
4032be:	75 0a                	jne    0x4032ca
4032c0:	bf 6f 00 07 80       	mov    $0x8007006f,%edi
4032c5:	e9 bf 00 00 00       	jmp    0x403389
4032ca:	85 c0                	test   %eax,%eax
4032cc:	75 1e                	jne    0x4032ec
4032ce:	ff 15 40 70 40 00    	call   *0x407040
4032d4:	8b f8                	mov    %eax,%edi
4032d6:	85 ff                	test   %edi,%edi
4032d8:	0f 8e ab 00 00 00    	jle    0x403389
4032de:	0f b7 ff             	movzwl %di,%edi
4032e1:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4032e7:	e9 9d 00 00 00       	jmp    0x403389
4032ec:	66 8b 44 24 40       	mov    0x40(%esp),%ax
4032f1:	8d 74 24 40          	lea    0x40(%esp),%esi
4032f5:	8d 8c 24 50 02 00 00 	lea    0x250(%esp),%ecx
4032fc:	66 85 c0             	test   %ax,%ax
4032ff:	74 24                	je     0x403325
403301:	6a 27                	push   $0x27
403303:	0f b7 d0             	movzwl %ax,%edx
403306:	5f                   	pop    %edi
403307:	66 89 11             	mov    %dx,(%ecx)
40330a:	83 c1 02             	add    $0x2,%ecx
40330d:	66 3b d7             	cmp    %di,%dx
403310:	75 06                	jne    0x403318
403312:	66 89 39             	mov    %di,(%ecx)
403315:	83 c1 02             	add    $0x2,%ecx
403318:	83 c6 02             	add    $0x2,%esi
40331b:	0f b7 06             	movzwl (%esi),%eax
40331e:	8b d0                	mov    %eax,%edx
403320:	66 85 c0             	test   %ax,%ax
403323:	75 e2                	jne    0x403307
403325:	33 c0                	xor    %eax,%eax
403327:	66 89 01             	mov    %ax,(%ecx)
40332a:	8d 44 24 20          	lea    0x20(%esp),%eax
40332e:	50                   	push   %eax
40332f:	ff 15 38 71 40 00    	call   *0x407138
403335:	8d 84 24 50 02 00 00 	lea    0x250(%esp),%eax
40333c:	50                   	push   %eax
40333d:	68 fc 14 40 00       	push   $0x4014fc
403342:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
403346:	e8 37 ea ff ff       	call   0x401d82
40334b:	8b f8                	mov    %eax,%edi
40334d:	8d 44 24 20          	lea    0x20(%esp),%eax
403351:	50                   	push   %eax
403352:	ff 15 2c 71 40 00    	call   *0x40712c
403358:	85 ff                	test   %edi,%edi
40335a:	78 2d                	js     0x403389
40335c:	8d 44 24 40          	lea    0x40(%esp),%eax
403360:	89 5c 24 10          	mov    %ebx,0x10(%esp)
403364:	39 5d 08             	cmp    %ebx,0x8(%ebp)
403367:	74 04                	je     0x40336d
403369:	6a 01                	push   $0x1
40336b:	eb 01                	jmp    0x40336e
40336d:	53                   	push   %ebx
40336e:	68 2c 15 40 00       	push   $0x40152c
403373:	51                   	push   %ecx
403374:	50                   	push   %eax
403375:	8d 4c 24 24          	lea    0x24(%esp),%ecx
403379:	e8 78 eb ff ff       	call   0x401ef6
40337e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403382:	8b f8                	mov    %eax,%edi
403384:	e8 0d 14 00 00       	call   0x404796
403389:	8d 44 24 20          	lea    0x20(%esp),%eax
40338d:	50                   	push   %eax
40338e:	ff 15 38 71 40 00    	call   *0x407138
403394:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
403398:	7e 26                	jle    0x4033c0
40339a:	8b 44 24 14          	mov    0x14(%esp),%eax
40339e:	8b 34 98             	mov    (%eax,%ebx,4),%esi
4033a1:	ff 76 04             	push   0x4(%esi)
4033a4:	ff 15 0c 70 40 00    	call   *0x40700c
4033aa:	ff 36                	push   (%esi)
4033ac:	ff 15 0c 70 40 00    	call   *0x40700c
4033b2:	56                   	push   %esi
4033b3:	e8 81 18 00 00       	call   0x404c39
4033b8:	43                   	inc    %ebx
4033b9:	59                   	pop    %ecx
4033ba:	3b 5c 24 18          	cmp    0x18(%esp),%ebx
4033be:	7c da                	jl     0x40339a
4033c0:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
4033c5:	8d 44 24 20          	lea    0x20(%esp),%eax
4033c9:	50                   	push   %eax
4033ca:	ff 15 2c 71 40 00    	call   *0x40712c
4033d0:	80 7c 24 38 00       	cmpb   $0x0,0x38(%esp)
4033d5:	74 10                	je     0x4033e7
4033d7:	8d 44 24 20          	lea    0x20(%esp),%eax
4033db:	c6 44 24 38 00       	movb   $0x0,0x38(%esp)
4033e0:	50                   	push   %eax
4033e1:	ff 15 28 71 40 00    	call   *0x407128
4033e7:	ff 74 24 14          	push   0x14(%esp)
4033eb:	ff 15 64 71 40 00    	call   *0x407164
4033f1:	59                   	pop    %ecx
4033f2:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4033f6:	e8 9b 13 00 00       	call   0x404796
4033fb:	8b 8c 24 6c 06 00 00 	mov    0x66c(%esp),%ecx
403402:	8b c7                	mov    %edi,%eax
403404:	5f                   	pop    %edi
403405:	5e                   	pop    %esi
403406:	5b                   	pop    %ebx
403407:	33 cc                	xor    %esp,%ecx
403409:	e8 92 1b 00 00       	call   0x404fa0
40340e:	8b e5                	mov    %ebp,%esp
403410:	5d                   	pop    %ebp
403411:	c2 08 00             	ret    $0x8
403414:	8b ff                	mov    %edi,%edi
403416:	55                   	push   %ebp
403417:	8b ec                	mov    %esp,%ebp
403419:	51                   	push   %ecx
40341a:	51                   	push   %ecx
40341b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40341e:	53                   	push   %ebx
40341f:	56                   	push   %esi
403420:	57                   	push   %edi
403421:	85 c9                	test   %ecx,%ecx
403423:	0f 84 cc 00 00 00    	je     0x4034f5
403429:	85 d2                	test   %edx,%edx
40342b:	0f 84 c4 00 00 00    	je     0x4034f5
403431:	8b 45 0c             	mov    0xc(%ebp),%eax
403434:	85 c0                	test   %eax,%eax
403436:	75 0a                	jne    0x403442
403438:	b8 03 40 00 80       	mov    $0x80004003,%eax
40343d:	e9 b8 00 00 00       	jmp    0x4034fa
403442:	8b 75 08             	mov    0x8(%ebp),%esi
403445:	33 db                	xor    %ebx,%ebx
403447:	89 18                	mov    %ebx,(%eax)
403449:	39 1e                	cmp    %ebx,(%esi)
40344b:	75 35                	jne    0x403482
40344d:	39 5e 04             	cmp    %ebx,0x4(%esi)
403450:	75 30                	jne    0x403482
403452:	81 7e 08 c0 00 00 00 	cmpl   $0xc0,0x8(%esi)
403459:	75 27                	jne    0x403482
40345b:	81 7e 0c 00 00 00 46 	cmpl   $0x46000000,0xc(%esi)
403462:	75 1e                	jne    0x403482
403464:	8b 7a 04             	mov    0x4(%edx),%edi
403467:	03 f9                	add    %ecx,%edi
403469:	57                   	push   %edi
40346a:	8b 07                	mov    (%edi),%eax
40346c:	8b 70 04             	mov    0x4(%eax),%esi
40346f:	8b ce                	mov    %esi,%ecx
403471:	ff 15 d0 71 40 00    	call   *0x4071d0
403477:	ff d6                	call   *%esi
403479:	8b 45 0c             	mov    0xc(%ebp),%eax
40347c:	89 38                	mov    %edi,(%eax)
40347e:	33 c0                	xor    %eax,%eax
403480:	eb 78                	jmp    0x4034fa
403482:	8d 7a 08             	lea    0x8(%edx),%edi
403485:	39 1f                	cmp    %ebx,(%edi)
403487:	74 5d                	je     0x4034e6
403489:	8b 5f f8             	mov    -0x8(%edi),%ebx
40348c:	85 db                	test   %ebx,%ebx
40348e:	74 21                	je     0x4034b1
403490:	8b 03                	mov    (%ebx),%eax
403492:	3b 06                	cmp    (%esi),%eax
403494:	75 45                	jne    0x4034db
403496:	8b 43 04             	mov    0x4(%ebx),%eax
403499:	3b 46 04             	cmp    0x4(%esi),%eax
40349c:	75 3d                	jne    0x4034db
40349e:	8b 43 08             	mov    0x8(%ebx),%eax
4034a1:	3b 46 08             	cmp    0x8(%esi),%eax
4034a4:	75 35                	jne    0x4034db
4034a6:	8b 43 0c             	mov    0xc(%ebx),%eax
4034a9:	3b 46 0c             	cmp    0xc(%esi),%eax
4034ac:	75 2d                	jne    0x4034db
4034ae:	8b 45 0c             	mov    0xc(%ebp),%eax
4034b1:	8b 17                	mov    (%edi),%edx
4034b3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4034b6:	83 fa 01             	cmp    $0x1,%edx
4034b9:	74 32                	je     0x4034ed
4034bb:	ff 77 fc             	push   -0x4(%edi)
4034be:	50                   	push   %eax
4034bf:	56                   	push   %esi
4034c0:	51                   	push   %ecx
4034c1:	8b ca                	mov    %edx,%ecx
4034c3:	ff 15 d0 71 40 00    	call   *0x4071d0
4034c9:	ff 55 f8             	call   *-0x8(%ebp)
4034cc:	85 c0                	test   %eax,%eax
4034ce:	74 2a                	je     0x4034fa
4034d0:	85 db                	test   %ebx,%ebx
4034d2:	74 04                	je     0x4034d8
4034d4:	85 c0                	test   %eax,%eax
4034d6:	78 22                	js     0x4034fa
4034d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4034db:	8b 45 0c             	mov    0xc(%ebp),%eax
4034de:	83 c7 0c             	add    $0xc,%edi
4034e1:	83 3f 00             	cmpl   $0x0,(%edi)
4034e4:	75 a3                	jne    0x403489
4034e6:	b8 02 40 00 80       	mov    $0x80004002,%eax
4034eb:	eb 0d                	jmp    0x4034fa
4034ed:	8b 7f fc             	mov    -0x4(%edi),%edi
4034f0:	e9 72 ff ff ff       	jmp    0x403467
4034f5:	b8 57 00 07 80       	mov    $0x80070057,%eax
4034fa:	5f                   	pop    %edi
4034fb:	5e                   	pop    %esi
4034fc:	5b                   	pop    %ebx
4034fd:	c9                   	leave
4034fe:	c2 08 00             	ret    $0x8
403501:	6a 08                	push   $0x8
403503:	68 d8 56 40 00       	push   $0x4056d8
403508:	e8 cb 1f 00 00       	call   0x4054d8
40350d:	c7 05 e0 63 40 00 00 	movl   $0x406000,0x4063e0
403514:	60 40 00
403517:	8b 45 08             	mov    0x8(%ebp),%eax
40351a:	a3 d8 63 40 00       	mov    %eax,0x4063d8
40351f:	a3 dc 63 40 00       	mov    %eax,0x4063dc
403524:	a3 d4 63 40 00       	mov    %eax,0x4063d4
403529:	33 db                	xor    %ebx,%ebx
40352b:	89 1d e4 63 40 00    	mov    %ebx,0x4063e4
403531:	89 1d e8 63 40 00    	mov    %ebx,0x4063e8
403537:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40353a:	68 ec 63 40 00       	push   $0x4063ec
40353f:	ff 15 30 71 40 00    	call   *0x407130
403545:	6a fe                	push   $0xfffffffe
403547:	5e                   	pop    %esi
403548:	89 75 fc             	mov    %esi,-0x4(%ebp)
40354b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
403552:	68 04 64 40 00       	push   $0x406404
403557:	ff 15 30 71 40 00    	call   *0x407130
40355d:	89 75 fc             	mov    %esi,-0x4(%ebp)
403560:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
403567:	68 1c 64 40 00       	push   $0x40641c
40356c:	ff 15 30 71 40 00    	call   *0x407130
403572:	89 75 fc             	mov    %esi,-0x4(%ebp)
403575:	89 1d 38 64 40 00    	mov    %ebx,0x406438
40357b:	c6 05 3c 64 40 00 01 	movb   $0x1,0x40643c
403582:	89 1d 44 64 40 00    	mov    %ebx,0x406444
403588:	89 1d 4c 64 40 00    	mov    %ebx,0x40644c
40358e:	89 1d 48 64 40 00    	mov    %ebx,0x406448
403594:	89 1d 50 64 40 00    	mov    %ebx,0x406450
40359a:	8b 3d e0 63 40 00    	mov    0x4063e0,%edi
4035a0:	85 ff                	test   %edi,%edi
4035a2:	74 2a                	je     0x4035ce
4035a4:	eb 24                	jmp    0x4035ca
4035a6:	6a 01                	push   $0x1
4035a8:	8b 77 20             	mov    0x20(%edi),%esi
4035ab:	8b ce                	mov    %esi,%ecx
4035ad:	ff 15 d0 71 40 00    	call   *0x4071d0
4035b3:	ff d6                	call   *%esi
4035b5:	33 c0                	xor    %eax,%eax
4035b7:	83 3d d0 63 40 00 64 	cmpl   $0x64,0x4063d0
4035be:	0f 95 c0             	setne  %al
4035c1:	8d 04 c5 1c 00 00 00 	lea    0x1c(,%eax,8),%eax
4035c8:	03 f8                	add    %eax,%edi
4035ca:	39 1f                	cmp    %ebx,(%edi)
4035cc:	75 d8                	jne    0x4035a6
4035ce:	33 c0                	xor    %eax,%eax
4035d0:	e9 90 00 00 00       	jmp    0x403665
4035d5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4035d8:	8b 00                	mov    (%eax),%eax
4035da:	33 c9                	xor    %ecx,%ecx
4035dc:	81 38 17 00 00 c0    	cmpl   $0xc0000017,(%eax)
4035e2:	0f 94 c1             	sete   %cl
4035e5:	8b c1                	mov    %ecx,%eax
4035e7:	c3                   	ret
4035e8:	8b 65 e8             	mov    -0x18(%ebp),%esp
4035eb:	68 04 64 40 00       	push   $0x406404
4035f0:	ff 15 28 71 40 00    	call   *0x407128
4035f6:	be ec 63 40 00       	mov    $0x4063ec,%esi
4035fb:	56                   	push   %esi
4035fc:	ff 15 28 71 40 00    	call   *0x407128
403602:	6a 48                	push   $0x48
403604:	6a 00                	push   $0x0
403606:	56                   	push   %esi
403607:	e8 86 20 00 00       	call   0x405692
40360c:	83 c4 0c             	add    $0xc,%esp
40360f:	eb 48                	jmp    0x403659
403611:	8b 45 ec             	mov    -0x14(%ebp),%eax
403614:	8b 00                	mov    (%eax),%eax
403616:	33 c9                	xor    %ecx,%ecx
403618:	81 38 17 00 00 c0    	cmpl   $0xc0000017,(%eax)
40361e:	0f 94 c1             	sete   %cl
403621:	8b c1                	mov    %ecx,%eax
403623:	c3                   	ret
403624:	8b 65 e8             	mov    -0x18(%ebp),%esp
403627:	be ec 63 40 00       	mov    $0x4063ec,%esi
40362c:	56                   	push   %esi
40362d:	ff 15 28 71 40 00    	call   *0x407128
403633:	6a 30                	push   $0x30
403635:	eb cd                	jmp    0x403604
403637:	8b 45 ec             	mov    -0x14(%ebp),%eax
40363a:	8b 00                	mov    (%eax),%eax
40363c:	33 c9                	xor    %ecx,%ecx
40363e:	81 38 17 00 00 c0    	cmpl   $0xc0000017,(%eax)
403644:	0f 94 c1             	sete   %cl