40407f:	66 89 03             	mov    %ax,(%ebx)
404082:	e8 8c ff ff ff       	call   0x404013
404087:	8b f0                	mov    %eax,%esi
404089:	6a 5c                	push   $0x5c
40408b:	58                   	pop    %eax
40408c:	66 89 03             	mov    %ax,(%ebx)
40408f:	85 f6                	test   %esi,%esi
404091:	78 46                	js     0x4040d9
404093:	ff 75 0c             	push   0xc(%ebp)
404096:	57                   	push   %edi
404097:	ff 15 20 b1 44 00    	call   *0x44b120
40409d:	85 c0                	test   %eax,%eax
40409f:	75 22                	jne    0x4040c3
4040a1:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4040a7:	3d b7 00 00 00       	cmp    $0xb7,%eax
4040ac:	75 05                	jne    0x4040b3
4040ae:	33 f6                	xor    %esi,%esi
4040b0:	46                   	inc    %esi
4040b1:	eb 26                	jmp    0x4040d9
4040b3:	0f b7 f0             	movzwl %ax,%esi
4040b6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4040bc:	85 c0                	test   %eax,%eax
4040be:	0f 4e f0             	cmovle %eax,%esi
4040c1:	eb 16                	jmp    0x4040d9
4040c3:	33 f6                	xor    %esi,%esi
4040c5:	eb 12                	jmp    0x4040d9
4040c7:	be 03 00 07 80       	mov    $0x80070003,%esi
4040cc:	56                   	push   %esi
4040cd:	6a 72                	push   $0x72
4040cf:	68 24 b8 44 00       	push   $0x44b824
4040d4:	e8 fa f6 ff ff       	call   0x4037d3
4040d9:	5b                   	pop    %ebx
4040da:	5f                   	pop    %edi
4040db:	8b c6                	mov    %esi,%eax
4040dd:	5e                   	pop    %esi
4040de:	5d                   	pop    %ebp
4040df:	c2 08 00             	ret    $0x8
4040e2:	55                   	push   %ebp
4040e3:	8b ec                	mov    %esp,%ebp
4040e5:	56                   	push   %esi
4040e6:	ff 75 08             	push   0x8(%ebp)
4040e9:	33 f6                	xor    %esi,%esi
4040eb:	ff 15 6c b1 44 00    	call   *0x44b16c
4040f1:	83 f8 ff             	cmp    $0xffffffff,%eax
4040f4:	74 10                	je     0x404106
4040f6:	a8 10                	test   $0x10,%al
4040f8:	74 0c                	je     0x404106
4040fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4040fd:	85 c9                	test   %ecx,%ecx
4040ff:	74 02                	je     0x404103
404101:	89 01                	mov    %eax,(%ecx)
404103:	33 f6                	xor    %esi,%esi
404105:	46                   	inc    %esi
404106:	8b c6                	mov    %esi,%eax
404108:	5e                   	pop    %esi
404109:	5d                   	pop    %ebp
40410a:	c2 08 00             	ret    $0x8
40410d:	55                   	push   %ebp
40410e:	8b ec                	mov    %esp,%ebp
404110:	51                   	push   %ecx
404111:	53                   	push   %ebx
404112:	56                   	push   %esi
404113:	33 db                	xor    %ebx,%ebx
404115:	57                   	push   %edi
404116:	8b 7d 08             	mov    0x8(%ebp),%edi
404119:	8b c3                	mov    %ebx,%eax
40411b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40411e:	8b f3                	mov    %ebx,%esi
404120:	85 ff                	test   %edi,%edi
404122:	74 22                	je     0x404146
404124:	39 07                	cmp    %eax,(%edi)
404126:	74 1e                	je     0x404146
404128:	8d 45 fc             	lea    -0x4(%ebp),%eax
40412b:	50                   	push   %eax
40412c:	ff 37                	push   (%edi)
40412e:	e8 2a e6 ff ff       	call   0x40275d
404133:	8b f0                	mov    %eax,%esi
404135:	85 f6                	test   %esi,%esi
404137:	0f 88 8a 00 00 00    	js     0x4041c7
40413d:	8b 45 fc             	mov    -0x4(%ebp),%eax
404140:	85 c0                	test   %eax,%eax
404142:	74 02                	je     0x404146
404144:	8b 1f                	mov    (%edi),%ebx
404146:	53                   	push   %ebx
404147:	50                   	push   %eax
404148:	ff 15 60 b1 44 00    	call   *0x44b160
40414e:	8b d8                	mov    %eax,%ebx
404150:	85 db                	test   %ebx,%ebx
404152:	75 26                	jne    0x40417a
404154:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40415a:	0f b7 f0             	movzwl %ax,%esi
40415d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
404163:	85 c0                	test   %eax,%eax
404165:	0f 4e f0             	cmovle %eax,%esi
404168:	b8 05 40 00 80       	mov    $0x80004005,%eax
40416d:	85 f6                	test   %esi,%esi
40416f:	0f 49 f0             	cmovns %eax,%esi
404172:	56                   	push   %esi
404173:	68 87 01 00 00       	push   $0x187
404178:	eb 43                	jmp    0x4041bd
40417a:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40417d:	73 48                	jae    0x4041c7
40417f:	53                   	push   %ebx
404180:	57                   	push   %edi
404181:	e8 58 dd ff ff       	call   0x401ede
404186:	8b f0                	mov    %eax,%esi
404188:	85 f6                	test   %esi,%esi
40418a:	78 3b                	js     0x4041c7
40418c:	ff 37                	push   (%edi)
40418e:	53                   	push   %ebx
40418f:	ff 15 60 b1 44 00    	call   *0x44b160
404195:	85 c0                	test   %eax,%eax
404197:	75 2e                	jne    0x4041c7
404199:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40419f:	0f b7 f0             	movzwl %ax,%esi
4041a2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4041a8:	85 c0                	test   %eax,%eax
4041aa:	0f 4e f0             	cmovle %eax,%esi
4041ad:	b8 05 40 00 80       	mov    $0x80004005,%eax
4041b2:	85 f6                	test   %esi,%esi
4041b4:	0f 49 f0             	cmovns %eax,%esi
4041b7:	56                   	push   %esi
4041b8:	68 90 01 00 00       	push   $0x190
4041bd:	68 24 b8 44 00       	push   $0x44b824
4041c2:	e8 0c f6 ff ff       	call   0x4037d3
4041c7:	5f                   	pop    %edi
4041c8:	8b c6                	mov    %esi,%eax
4041ca:	5e                   	pop    %esi
4041cb:	5b                   	pop    %ebx
4041cc:	8b e5                	mov    %ebp,%esp
4041ce:	5d                   	pop    %ebp
4041cf:	c2 04 00             	ret    $0x4
4041d2:	55                   	push   %ebp
4041d3:	8b ec                	mov    %esp,%ebp
4041d5:	51                   	push   %ecx
4041d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4041d9:	83 4d 0c ff          	orl    $0xffffffff,0xc(%ebp)
4041dd:	53                   	push   %ebx
4041de:	56                   	push   %esi
4041df:	8b 35 88 b1 44 00    	mov    0x44b188,%esi
4041e5:	57                   	push   %edi
4041e6:	8b 7d 08             	mov    0x8(%ebp),%edi
4041e9:	57                   	push   %edi
4041ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4041ed:	83 8f 98 04 00 00 ff 	orl    $0xffffffff,0x498(%edi)
4041f4:	c7 87 94 04 00 00 01 	movl   $0x1,0x494(%edi)
4041fb:	00 00 00
4041fe:	ff d6                	call   *%esi
404200:	8d 87 d0 00 00 00    	lea    0xd0(%edi),%eax
404206:	50                   	push   %eax
404207:	ff d6                	call   *%esi
404209:	8d 87 a0 04 00 00    	lea    0x4a0(%edi),%eax
40420f:	50                   	push   %eax
404210:	e8 f9 08 01 00       	call   0x414b0e
404215:	8d 87 b8 04 00 00    	lea    0x4b8(%edi),%eax
40421b:	50                   	push   %eax
40421c:	e8 ed 08 01 00       	call   0x414b0e
404221:	33 db                	xor    %ebx,%ebx
404223:	39 9f dc 04 00 00    	cmp    %ebx,0x4dc(%edi)
404229:	0f 8e 1e 01 00 00    	jle    0x40434d
40422f:	8b 35 f8 b0 44 00    	mov    0x44b0f8,%esi
404235:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
40423b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40423e:	66 83 38 2d          	cmpw   $0x2d,(%eax)
404242:	0f 85 f8 00 00 00    	jne    0x404340
404248:	68 60 b8 44 00       	push   $0x44b860
40424d:	ff d6                	call   *%esi
40424f:	50                   	push   %eax
404250:	b8 60 b8 44 00       	mov    $0x44b860,%eax
404255:	50                   	push   %eax
404256:	50                   	push   %eax
404257:	ff d6                	call   *%esi
404259:	50                   	push   %eax
40425a:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
404260:	8b 04 98             	mov    (%eax,%ebx,4),%eax
404263:	83 c0 02             	add    $0x2,%eax
404266:	50                   	push   %eax
404267:	6a 01                	push   $0x1
404269:	6a 7f                	push   $0x7f
40426b:	ff 15 28 b1 44 00    	call   *0x44b128
404271:	83 f8 02             	cmp    $0x2,%eax
404274:	75 50                	jne    0x4042c6
404276:	68 60 b8 44 00       	push   $0x44b860
40427b:	ff d6                	call   *%esi
40427d:	6a 3d                	push   $0x3d
40427f:	8d 0c 45 04 00 00 00 	lea    0x4(,%eax,2),%ecx
404286:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
40428c:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40428f:	03 c1                	add    %ecx,%eax
404291:	59                   	pop    %ecx
404292:	89 45 08             	mov    %eax,0x8(%ebp)
404295:	66 3b 48 fe          	cmp    -0x2(%eax),%cx
404299:	0f 85 e6 00 00 00    	jne    0x404385
40429f:	33 c9                	xor    %ecx,%ecx
4042a1:	66 3b 08             	cmp    (%eax),%cx
4042a4:	0f 84 db 00 00 00    	je     0x404385
4042aa:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4042ad:	51                   	push   %ecx
4042ae:	6a 00                	push   $0x0
4042b0:	50                   	push   %eax
4042b1:	e8 26 e7 ff ff       	call   0x4029dc
4042b6:	8b f0                	mov    %eax,%esi
4042b8:	85 f6                	test   %esi,%esi
4042ba:	0f 88 ba 00 00 00    	js     0x40437a
4042c0:	8b 35 f8 b0 44 00    	mov    0x44b0f8,%esi
4042c6:	68 94 b8 44 00       	push   $0x44b894
4042cb:	ff d6                	call   *%esi
4042cd:	50                   	push   %eax
4042ce:	b8 94 b8 44 00       	mov    $0x44b894,%eax
4042d3:	50                   	push   %eax
4042d4:	50                   	push   %eax
4042d5:	ff d6                	call   *%esi
4042d7:	50                   	push   %eax
4042d8:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
4042de:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4042e1:	83 c0 02             	add    $0x2,%eax
4042e4:	50                   	push   %eax
4042e5:	6a 01                	push   $0x1
4042e7:	6a 7f                	push   $0x7f
4042e9:	ff 15 28 b1 44 00    	call   *0x44b128
4042ef:	83 f8 02             	cmp    $0x2,%eax
4042f2:	75 4c                	jne    0x404340
4042f4:	68 94 b8 44 00       	push   $0x44b894
4042f9:	ff d6                	call   *%esi
4042fb:	6a 3d                	push   $0x3d
4042fd:	8d 0c 45 04 00 00 00 	lea    0x4(,%eax,2),%ecx
404304:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
40430a:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40430d:	03 c1                	add    %ecx,%eax
40430f:	59                   	pop    %ecx
404310:	89 45 08             	mov    %eax,0x8(%ebp)
404313:	66 3b 48 fe          	cmp    -0x2(%eax),%cx
404317:	0f 85 94 00 00 00    	jne    0x4043b1
40431d:	33 c9                	xor    %ecx,%ecx
40431f:	66 3b 08             	cmp    (%eax),%cx
404322:	0f 84 89 00 00 00    	je     0x4043b1
404328:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40432b:	51                   	push   %ecx
40432c:	6a 00                	push   $0x0
40432e:	50                   	push   %eax
40432f:	e8 a8 e6 ff ff       	call   0x4029dc
404334:	8b f0                	mov    %eax,%esi
404336:	85 f6                	test   %esi,%esi
404338:	78 40                	js     0x40437a
40433a:	8b 35 f8 b0 44 00    	mov    0x44b0f8,%esi
404340:	43                   	inc    %ebx
404341:	3b 9f dc 04 00 00    	cmp    0x4dc(%edi),%ebx
404347:	0f 8c e8 fe ff ff    	jl     0x404235
40434d:	ff 75 0c             	push   0xc(%ebp)
404350:	8d 47 48             	lea    0x48(%edi),%eax
404353:	ff 75 fc             	push   -0x4(%ebp)
404356:	50                   	push   %eax
404357:	e8 2d 70 00 00       	call   0x40b389
40435c:	8b f0                	mov    %eax,%esi
40435e:	85 f6                	test   %esi,%esi
404360:	79 0d                	jns    0x40436f
404362:	68 44 bb 44 00       	push   $0x44bb44
404367:	56                   	push   %esi
404368:	e8 c2 bd 03 00       	call   0x44012f
40436d:	59                   	pop    %ecx
40436e:	59                   	pop    %ecx
40436f:	5f                   	pop    %edi
404370:	8b c6                	mov    %esi,%eax
404372:	5e                   	pop    %esi
404373:	5b                   	pop    %ebx
404374:	8b e5                	mov    %ebp,%esp
404376:	5d                   	pop    %ebp
404377:	c2 08 00             	ret    $0x8
40437a:	ff 75 08             	push   0x8(%ebp)
40437d:	68 20 bb 44 00       	push   $0x44bb20
404382:	56                   	push   %esi
404383:	eb 22                	jmp    0x4043a7
404385:	bf 57 00 07 80       	mov    $0x80070057,%edi
40438a:	57                   	push   %edi
40438b:	68 35 01 00 00       	push   $0x135
404390:	68 d4 b9 44 00       	push   $0x44b9d4
404395:	e8 39 f4 ff ff       	call   0x4037d3
40439a:	68 60 b8 44 00       	push   $0x44b860
40439f:	68 f4 ba 44 00       	push   $0x44baf4
4043a4:	8b f7                	mov    %edi,%esi
4043a6:	57                   	push   %edi
4043a7:	e8 83 bd 03 00       	call   0x44012f
4043ac:	83 c4 0c             	add    $0xc,%esp
4043af:	eb be                	jmp    0x40436f
4043b1:	bf 57 00 07 80       	mov    $0x80070057,%edi
4043b6:	57                   	push   %edi
4043b7:	68 40 01 00 00       	push   $0x140
4043bc:	68 d4 b9 44 00       	push   $0x44b9d4
4043c1:	e8 0d f4 ff ff       	call   0x4037d3
4043c6:	68 94 b8 44 00       	push   $0x44b894
4043cb:	eb d2                	jmp    0x40439f
4043cd:	55                   	push   %ebp
4043ce:	8b ec                	mov    %esp,%ebp
4043d0:	8b 55 0c             	mov    0xc(%ebp),%edx
4043d3:	33 c9                	xor    %ecx,%ecx
4043d5:	8b 42 04             	mov    0x4(%edx),%eax
4043d8:	2d 00 90 00 00       	sub    $0x9000,%eax
4043dd:	74 5a                	je     0x404439
4043df:	83 e8 01             	sub    $0x1,%eax
4043e2:	74 48                	je     0x40442c
4043e4:	83 e8 01             	sub    $0x1,%eax
4043e7:	74 36                	je     0x40441f
4043e9:	83 e8 01             	sub    $0x1,%eax
4043ec:	74 24                	je     0x404412
4043ee:	83 e8 01             	sub    $0x1,%eax
4043f1:	74 12                	je     0x404405
4043f3:	83 e8 01             	sub    $0x1,%eax
4043f6:	75 4e                	jne    0x404446
4043f8:	ff 72 08             	push   0x8(%edx)
4043fb:	ff 75 08             	push   0x8(%ebp)
4043fe:	e8 d2 37 01 00       	call   0x417bd5
404403:	eb 3f                	jmp    0x404444
404405:	ff 72 0c             	push   0xc(%edx)
404408:	ff 75 08             	push   0x8(%ebp)
40440b:	e8 60 32 01 00       	call   0x417670
404410:	eb 32                	jmp    0x404444
404412:	ff 72 0c             	push   0xc(%edx)
404415:	ff 75 08             	push   0x8(%ebp)
404418:	e8 af 25 01 00       	call   0x4169cc
40441d:	eb 25                	jmp    0x404444
40441f:	ff 72 0c             	push   0xc(%edx)
404422:	ff 75 08             	push   0x8(%ebp)
404425:	e8 6d 2e 01 00       	call   0x417297
40442a:	eb 18                	jmp    0x404444
40442c:	ff 72 0c             	push   0xc(%edx)
40442f:	ff 75 08             	push   0x8(%ebp)
404432:	e8 31 33 01 00       	call   0x417768
404437:	eb 0b                	jmp    0x404444
404439:	ff 72 0c             	push   0xc(%edx)
40443c:	ff 75 08             	push   0x8(%ebp)
40443f:	e8 ce 29 01 00       	call   0x416e12
404444:	8b c8                	mov    %eax,%ecx
404446:	8b c1                	mov    %ecx,%eax
404448:	5d                   	pop    %ebp
404449:	c2 08 00             	ret    $0x8
40444c:	55                   	push   %ebp
40444d:	8b ec                	mov    %esp,%ebp
40444f:	83 ec 0c             	sub    $0xc,%esp
404452:	53                   	push   %ebx
404453:	33 db                	xor    %ebx,%ebx
404455:	56                   	push   %esi
404456:	8b f3                	mov    %ebx,%esi
404458:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40445b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40445e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404461:	39 1d 54 aa 46 00    	cmp    %ebx,0x46aa54
404467:	75 76                	jne    0x4044df
404469:	8b 45 0c             	mov    0xc(%ebp),%eax
40446c:	57                   	push   %edi
40446d:	c7 05 54 aa 46 00 01 	movl   $0x1,0x46aa54