437047:	83 c4 10             	add    $0x10,%esp
43704a:	85 c0                	test   %eax,%eax
43704c:	79 0f                	jns    0x43705d
43704e:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
437054:	eb 07                	jmp    0x43705d
437056:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
43705d:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
437063:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
437069:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
43706f:	e9 36 04 00 00       	jmp    0x4374aa
437074:	8b 07                	mov    (%edi),%eax
437076:	83 c7 04             	add    $0x4,%edi
437079:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
43707f:	85 c0                	test   %eax,%eax
437081:	74 3a                	je     0x4370bd
437083:	8b 48 04             	mov    0x4(%eax),%ecx
437086:	85 c9                	test   %ecx,%ecx
437088:	74 33                	je     0x4370bd
43708a:	f7 85 f8 fb ff ff 00 	testl  $0x800,-0x408(%ebp)
437091:	08 00 00
437094:	0f bf 00             	movswl (%eax),%eax
437097:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
43709d:	74 12                	je     0x4370b1
43709f:	99                   	cltd
4370a0:	2b c2                	sub    %edx,%eax
4370a2:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
4370a9:	00 00 00
4370ac:	e9 f1 03 00 00       	jmp    0x4374a2
4370b1:	83 a5 d4 fb ff ff 00 	andl   $0x0,-0x42c(%ebp)
4370b8:	e9 e7 03 00 00       	jmp    0x4374a4
4370bd:	a1 60 f6 46 00       	mov    0x46f660,%eax
4370c2:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4370c8:	50                   	push   %eax
4370c9:	e8 a2 41 00 00       	call   0x43b270
4370ce:	59                   	pop    %ecx
4370cf:	e9 d0 03 00 00       	jmp    0x4374a4
4370d4:	83 f8 70             	cmp    $0x70,%eax
4370d7:	0f 8f f8 01 00 00    	jg     0x4372d5
4370dd:	0f 84 e0 01 00 00    	je     0x4372c3
4370e3:	83 f8 65             	cmp    $0x65,%eax
4370e6:	0f 8c be 03 00 00    	jl     0x4374aa
4370ec:	83 f8 67             	cmp    $0x67,%eax
4370ef:	0f 8e e9 fd ff ff    	jle    0x436ede
4370f5:	83 f8 69             	cmp    $0x69,%eax
4370f8:	74 71                	je     0x43716b
4370fa:	83 f8 6e             	cmp    $0x6e,%eax
4370fd:	74 28                	je     0x437127
4370ff:	83 f8 6f             	cmp    $0x6f,%eax
437102:	0f 85 a2 03 00 00    	jne    0x4374aa
437108:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
43710f:	c7 85 e4 fb ff ff 08 	movl   $0x8,-0x41c(%ebp)
437116:	00 00 00
437119:	74 61                	je     0x43717c
43711b:	81 8d f8 fb ff ff 00 	orl    $0x200,-0x408(%ebp)
437122:	02 00 00
437125:	eb 55                	jmp    0x43717c
437127:	8b 37                	mov    (%edi),%esi
437129:	83 c7 04             	add    $0x4,%edi
43712c:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
437132:	e8 12 95 ff ff       	call   0x430649
437137:	85 c0                	test   %eax,%eax
437139:	0f 84 63 05 00 00    	je     0x4376a2
43713f:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
437146:	74 0c                	je     0x437154
437148:	66 8b 85 e8 fb ff ff 	mov    -0x418(%ebp),%ax
43714f:	66 89 06             	mov    %ax,(%esi)
437152:	eb 08                	jmp    0x43715c
437154:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
43715a:	89 06                	mov    %eax,(%esi)
43715c:	c7 85 b8 fb ff ff 01 	movl   $0x1,-0x448(%ebp)
437163:	00 00 00
437166:	e9 f4 04 00 00       	jmp    0x43765f
43716b:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
437172:	c7 85 e4 fb ff ff 0a 	movl   $0xa,-0x41c(%ebp)
437179:	00 00 00
43717c:	8b 8d f8 fb ff ff    	mov    -0x408(%ebp),%ecx
437182:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
437188:	0f 84 a7 01 00 00    	je     0x437335
43718e:	8b 07                	mov    (%edi),%eax
437190:	8b 57 04             	mov    0x4(%edi),%edx
437193:	83 c7 08             	add    $0x8,%edi
437196:	e9 d3 01 00 00       	jmp    0x43736e
43719b:	75 16                	jne    0x4371b3
43719d:	66 83 bd e4 fb ff ff 	cmpw   $0x67,-0x41c(%ebp)
4371a4:	67
4371a5:	75 5d                	jne    0x437204
4371a7:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
4371ae:	00 00 00
4371b1:	eb 51                	jmp    0x437204
4371b3:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
4371b9:	7e 06                	jle    0x4371c1
4371bb:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
4371c1:	81 bd f4 fb ff ff a3 	cmpl   $0xa3,-0x40c(%ebp)
4371c8:	00 00 00
4371cb:	7e 37                	jle    0x437204
4371cd:	8b b5 f4 fb ff ff    	mov    -0x40c(%ebp),%esi
4371d3:	81 c6 5d 01 00 00    	add    $0x15d,%esi
4371d9:	56                   	push   %esi
4371da:	e8 5c f2 ff ff       	call   0x43643b
4371df:	59                   	pop    %ecx
4371e0:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
4371e6:	85 c0                	test   %eax,%eax
4371e8:	74 10                	je     0x4371fa
4371ea:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4371f0:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
4371f6:	8b d8                	mov    %eax,%ebx
4371f8:	eb 0a                	jmp    0x437204
4371fa:	c7 85 f4 fb ff ff a3 	movl   $0xa3,-0x40c(%ebp)
437201:	00 00 00
437204:	8b 07                	mov    (%edi),%eax
437206:	8b 35 d4 34 47 00    	mov    0x4734d4,%esi
43720c:	83 c7 08             	add    $0x8,%edi
43720f:	89 85 90 fb ff ff    	mov    %eax,-0x470(%ebp)
437215:	8b 47 fc             	mov    -0x4(%edi),%eax
437218:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
43721e:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
437224:	50                   	push   %eax
437225:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
43722b:	0f be 85 e4 fb ff ff 	movsbl -0x41c(%ebp),%eax
437232:	ff b5 f4 fb ff ff    	push   -0x40c(%ebp)
437238:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
43723e:	50                   	push   %eax
43723f:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
437245:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
43724b:	53                   	push   %ebx
43724c:	50                   	push   %eax
43724d:	ff 35 50 f6 46 00    	push   0x46f650
437253:	ff d6                	call   *%esi
437255:	ff d0                	call   *%eax
437257:	8b bd f8 fb ff ff    	mov    -0x408(%ebp),%edi
43725d:	83 c4 1c             	add    $0x1c,%esp
437260:	81 e7 80 00 00 00    	and    $0x80,%edi
437266:	74 1d                	je     0x437285
437268:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
43726f:	75 14                	jne    0x437285
437271:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
437277:	50                   	push   %eax
437278:	53                   	push   %ebx
437279:	ff 35 5c f6 46 00    	push   0x46f65c
43727f:	ff d6                	call   *%esi
437281:	ff d0                	call   *%eax
437283:	59                   	pop    %ecx
437284:	59                   	pop    %ecx
437285:	66 83 bd e4 fb ff ff 	cmpw   $0x67,-0x41c(%ebp)
43728c:	67
43728d:	75 18                	jne    0x4372a7
43728f:	85 ff                	test   %edi,%edi
437291:	75 14                	jne    0x4372a7
437293:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
437299:	50                   	push   %eax
43729a:	53                   	push   %ebx
43729b:	ff 35 58 f6 46 00    	push   0x46f658
4372a1:	ff d6                	call   *%esi
4372a3:	ff d0                	call   *%eax
4372a5:	59                   	pop    %ecx
4372a6:	59                   	pop    %ecx
4372a7:	80 3b 2d             	cmpb   $0x2d,(%ebx)
4372aa:	75 11                	jne    0x4372bd
4372ac:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
4372b3:	01 00 00
4372b6:	43                   	inc    %ebx
4372b7:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
4372bd:	53                   	push   %ebx
4372be:	e9 06 fe ff ff       	jmp    0x4370c9
4372c3:	c7 85 f4 fb ff ff 08 	movl   $0x8,-0x40c(%ebp)
4372ca:	00 00 00
4372cd:	89 95 bc fb ff ff    	mov    %edx,-0x444(%ebp)
4372d3:	eb 24                	jmp    0x4372f9
4372d5:	83 e8 73             	sub    $0x73,%eax
4372d8:	0f 84 69 fc ff ff    	je     0x436f47
4372de:	2b c3                	sub    %ebx,%eax
4372e0:	0f 84 8c fe ff ff    	je     0x437172
4372e6:	83 e8 03             	sub    $0x3,%eax
4372e9:	0f 85 bb 01 00 00    	jne    0x4374aa
4372ef:	c7 85 bc fb ff ff 27 	movl   $0x27,-0x444(%ebp)
4372f6:	00 00 00
4372f9:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
437300:	c7 85 e4 fb ff ff 10 	movl   $0x10,-0x41c(%ebp)
437307:	00 00 00
43730a:	0f 84 6c fe ff ff    	je     0x43717c
437310:	6a 30                	push   $0x30
437312:	58                   	pop    %eax
437313:	66 89 85 cc fb ff ff 	mov    %ax,-0x434(%ebp)
43731a:	8b 85 bc fb ff ff    	mov    -0x444(%ebp),%eax
437320:	83 c0 51             	add    $0x51,%eax
437323:	66 89 85 ce fb ff ff 	mov    %ax,-0x432(%ebp)
43732a:	89 9d d8 fb ff ff    	mov    %ebx,-0x428(%ebp)
437330:	e9 47 fe ff ff       	jmp    0x43717c
437335:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
43733b:	0f 85 4d fe ff ff    	jne    0x43718e
437341:	83 c7 04             	add    $0x4,%edi
437344:	f6 c1 20             	test   $0x20,%cl
437347:	74 18                	je     0x437361
437349:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
43734f:	f6 c1 40             	test   $0x40,%cl
437352:	74 06                	je     0x43735a
437354:	0f bf 47 fc          	movswl -0x4(%edi),%eax
437358:	eb 04                	jmp    0x43735e
43735a:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
43735e:	99                   	cltd
43735f:	eb 13                	jmp    0x437374
437361:	8b 47 fc             	mov    -0x4(%edi),%eax
437364:	f6 c1 40             	test   $0x40,%cl
437367:	74 03                	je     0x43736c
437369:	99                   	cltd
43736a:	eb 02                	jmp    0x43736e
43736c:	33 d2                	xor    %edx,%edx
43736e:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
437374:	f6 c1 40             	test   $0x40,%cl
437377:	74 1b                	je     0x437394
437379:	85 d2                	test   %edx,%edx
43737b:	7f 17                	jg     0x437394
43737d:	7c 04                	jl     0x437383
43737f:	85 c0                	test   %eax,%eax
437381:	73 11                	jae    0x437394
437383:	f7 d8                	neg    %eax
437385:	83 d2 00             	adc    $0x0,%edx
437388:	f7 da                	neg    %edx
43738a:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
437391:	01 00 00
437394:	f7 85 f8 fb ff ff 00 	testl  $0x9000,-0x408(%ebp)
43739b:	90 00 00
43739e:	8b fa                	mov    %edx,%edi
4373a0:	8b d8                	mov    %eax,%ebx
4373a2:	75 02                	jne    0x4373a6
4373a4:	33 ff                	xor    %edi,%edi
4373a6:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
4373ad:	7d 0c                	jge    0x4373bb
4373af:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
4373b6:	00 00 00
4373b9:	eb 1a                	jmp    0x4373d5
4373bb:	83 a5 f8 fb ff ff f7 	andl   $0xfffffff7,-0x408(%ebp)
4373c2:	b8 00 02 00 00       	mov    $0x200,%eax
4373c7:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
4373cd:	7e 06                	jle    0x4373d5
4373cf:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
4373d5:	8b c3                	mov    %ebx,%eax
4373d7:	0b c7                	or     %edi,%eax
4373d9:	75 06                	jne    0x4373e1
4373db:	21 85 d8 fb ff ff    	and    %eax,-0x428(%ebp)
4373e1:	8d b5 fb fd ff ff    	lea    -0x205(%ebp),%esi
4373e7:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
4373ed:	ff 8d f4 fb ff ff    	decl   -0x40c(%ebp)
4373f3:	85 c0                	test   %eax,%eax
4373f5:	7f 06                	jg     0x4373fd
4373f7:	8b c3                	mov    %ebx,%eax
4373f9:	0b c7                	or     %edi,%eax
4373fb:	74 2d                	je     0x43742a
4373fd:	8b 85 e4 fb ff ff    	mov    -0x41c(%ebp),%eax
437403:	99                   	cltd
437404:	52                   	push   %edx
437405:	50                   	push   %eax
437406:	57                   	push   %edi
437407:	53                   	push   %ebx
437408:	e8 53 7e 00 00       	call   0x43f260
43740d:	83 c1 30             	add    $0x30,%ecx
437410:	89 9d 8c fb ff ff    	mov    %ebx,-0x474(%ebp)
437416:	8b d8                	mov    %eax,%ebx
437418:	8b fa                	mov    %edx,%edi
43741a:	83 f9 39             	cmp    $0x39,%ecx
43741d:	7e 06                	jle    0x437425
43741f:	03 8d bc fb ff ff    	add    -0x444(%ebp),%ecx
437425:	88 0e                	mov    %cl,(%esi)
437427:	4e                   	dec    %esi
437428:	eb bd                	jmp    0x4373e7
43742a:	8d 85 fb fd ff ff    	lea    -0x205(%ebp),%eax
437430:	2b c6                	sub    %esi,%eax
437432:	46                   	inc    %esi
437433:	f7 85 f8 fb ff ff 00 	testl  $0x200,-0x408(%ebp)
43743a:	02 00 00
43743d:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
437443:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
437449:	74 5f                	je     0x4374aa
43744b:	85 c0                	test   %eax,%eax
43744d:	74 07                	je     0x437456
43744f:	8b c6                	mov    %esi,%eax
437451:	80 38 30             	cmpb   $0x30,(%eax)
437454:	74 54                	je     0x4374aa
437456:	ff 8d f0 fb ff ff    	decl   -0x410(%ebp)
43745c:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
437462:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
437468:	c6 00 30             	movb   $0x30,(%eax)
43746b:	eb 3d                	jmp    0x4374aa
43746d:	85 ff                	test   %edi,%edi
43746f:	75 0b                	jne    0x43747c
437471:	a1 64 f6 46 00       	mov    0x46f664,%eax
437476:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
43747c:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
437482:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
437489:	00 00 00
43748c:	eb 0a                	jmp    0x437498
43748e:	4b                   	dec    %ebx
43748f:	66 83 38 00          	cmpw   $0x0,(%eax)
437493:	74 07                	je     0x43749c
437495:	83 c0 02             	add    $0x2,%eax
437498:	85 db                	test   %ebx,%ebx
43749a:	75 f2                	jne    0x43748e
43749c:	2b 85 f0 fb ff ff    	sub    -0x410(%ebp),%eax
4374a2:	d1 f8                	sar    $1,%eax
4374a4:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
4374aa:	83 bd b8 fb ff ff 00 	cmpl   $0x0,-0x448(%ebp)
4374b1:	0f 85 a8 01 00 00    	jne    0x43765f
4374b7:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
4374bd:	a8 40                	test   $0x40,%al
4374bf:	74 2b                	je     0x4374ec
4374c1:	a9 00 01 00 00       	test   $0x100,%eax
4374c6:	74 04                	je     0x4374cc
4374c8:	6a 2d                	push   $0x2d
4374ca:	eb 0e                	jmp    0x4374da
4374cc:	a8 01                	test   $0x1,%al
4374ce:	74 04                	je     0x4374d4
4374d0:	6a 2b                	push   $0x2b
4374d2:	eb 06                	jmp    0x4374da
4374d4:	a8 02                	test   $0x2,%al
4374d6:	74 14                	je     0x4374ec
4374d8:	6a 20                	push   $0x20
4374da:	59                   	pop    %ecx
4374db:	66 89 8d cc fb ff ff 	mov    %cx,-0x434(%ebp)
4374e2:	c7 85 d8 fb ff ff 01 	movl   $0x1,-0x428(%ebp)
4374e9:	00 00 00
4374ec:	8b bd d0 fb ff ff    	mov    -0x430(%ebp),%edi
4374f2:	2b bd ec fb ff ff    	sub    -0x414(%ebp),%edi
4374f8:	2b bd d8 fb ff ff    	sub    -0x428(%ebp),%edi
4374fe:	89 bd e4 fb ff ff    	mov    %edi,-0x41c(%ebp)
437504:	a8 0c                	test   $0xc,%al
437506:	75 24                	jne    0x43752c
437508:	eb 1e                	jmp    0x437528
43750a:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
437510:	6a 20                	push   $0x20
437512:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
437518:	4f                   	dec    %edi
437519:	e8 64 f5 ff ff       	call   0x436a82
43751e:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
437525:	59                   	pop    %ecx
437526:	74 04                	je     0x43752c
437528:	85 ff                	test   %edi,%edi
43752a:	7f de                	jg     0x43750a
43752c:	ff b5 d8 fb ff ff    	push   -0x428(%ebp)
437532:	8b bd 9c fb ff ff    	mov    -0x464(%ebp),%edi
437538:	8b 9d dc fb ff ff    	mov    -0x424(%ebp),%ebx
43753e:	8d 85 cc fb ff ff    	lea    -0x434(%ebp),%eax
437544:	50                   	push   %eax
437545:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
43754b:	e8 88 f5 ff ff       	call   0x436ad8
437550:	f6 85 f8 fb ff ff 08 	testb  $0x8,-0x408(%ebp)
437557:	59                   	pop    %ecx
437558:	59                   	pop    %ecx
437559:	74 2f                	je     0x43758a
43755b:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
437562:	75 26                	jne    0x43758a