47013d:	ff d7                	call   *%edi
47013f:	6a 01                	push   $0x1
470141:	6a 00                	push   $0x0
470143:	ff 76 1c             	push   0x1c(%esi)
470146:	ff 15 14 06 4b 00    	call   *0x4b0614
47014c:	5f                   	pop    %edi
47014d:	eb 24                	jmp    0x470173
47014f:	8b 45 08             	mov    0x8(%ebp),%eax
470152:	89 86 a8 00 00 00    	mov    %eax,0xa8(%esi)
470158:	8b 45 0c             	mov    0xc(%ebp),%eax
47015b:	89 86 ac 00 00 00    	mov    %eax,0xac(%esi)
470161:	8b 45 10             	mov    0x10(%ebp),%eax
470164:	89 86 a0 00 00 00    	mov    %eax,0xa0(%esi)
47016a:	8b 45 14             	mov    0x14(%ebp),%eax
47016d:	89 86 a4 00 00 00    	mov    %eax,0xa4(%esi)
470173:	5e                   	pop    %esi
470174:	5d                   	pop    %ebp
470175:	c2 10 00             	ret    $0x10
470178:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
47017d:	56                   	push   %esi
47017e:	8b f1                	mov    %ecx,%esi
470180:	8b 4e 7c             	mov    0x7c(%esi),%ecx
470183:	f6 c5 02             	test   $0x2,%ch
470186:	57                   	push   %edi
470187:	74 04                	je     0x47018d
470189:	29 44 24 0c          	sub    %eax,0xc(%esp)
47018d:	f6 c5 08             	test   $0x8,%ch
470190:	74 04                	je     0x470196
470192:	29 44 24 0c          	sub    %eax,0xc(%esp)
470196:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
47019a:	2b 8e ac 00 00 00    	sub    0xac(%esi),%ecx
4701a0:	6a 00                	push   $0x0
4701a2:	8b c1                	mov    %ecx,%eax
4701a4:	99                   	cltd
4701a5:	2b c2                	sub    %edx,%eax
4701a7:	d1 f8                	sar    $1,%eax
4701a9:	2b c8                	sub    %eax,%ecx
4701ab:	89 46 64             	mov    %eax,0x64(%esi)
4701ae:	89 4e 60             	mov    %ecx,0x60(%esi)
4701b1:	5f                   	pop    %edi
4701b2:	79 08                	jns    0x4701bc
4701b4:	03 c8                	add    %eax,%ecx
4701b6:	89 4e 64             	mov    %ecx,0x64(%esi)
4701b9:	89 7e 60             	mov    %edi,0x60(%esi)
4701bc:	6a 37                	push   $0x37
4701be:	57                   	push   %edi
4701bf:	57                   	push   %edi
4701c0:	57                   	push   %edi
4701c1:	57                   	push   %edi
4701c2:	57                   	push   %edi
4701c3:	8b ce                	mov    %esi,%ecx
4701c5:	e8 9f 0d fd ff       	call   0x440f69
4701ca:	6a 01                	push   $0x1
4701cc:	57                   	push   %edi
4701cd:	ff 76 1c             	push   0x1c(%esi)
4701d0:	ff 15 14 06 4b 00    	call   *0x4b0614
4701d6:	5f                   	pop    %edi
4701d7:	5e                   	pop    %esi
4701d8:	c2 04 00             	ret    $0x4
4701db:	53                   	push   %ebx
4701dc:	56                   	push   %esi
4701dd:	57                   	push   %edi
4701de:	8b f9                	mov    %ecx,%edi
4701e0:	e8 1c d7 ff ff       	call   0x46d901
4701e5:	8b 70 0c             	mov    0xc(%eax),%esi
4701e8:	6a 02                	push   $0x2
4701ea:	ff 74 24 14          	push   0x14(%esp)
4701ee:	56                   	push   %esi
4701ef:	ff 15 60 03 4b 00    	call   *0x4b0360
4701f5:	8b d8                	mov    %eax,%ebx
4701f7:	85 db                	test   %ebx,%ebx
4701f9:	74 15                	je     0x470210
4701fb:	6a 00                	push   $0x0
4701fd:	53                   	push   %ebx
4701fe:	56                   	push   %esi
4701ff:	e8 97 80 fe ff       	call   0x45829b
470204:	50                   	push   %eax
470205:	8b cf                	mov    %edi,%ecx
470207:	e8 cb fb ff ff       	call   0x46fdd7
47020c:	85 c0                	test   %eax,%eax
47020e:	75 04                	jne    0x470214
470210:	33 c0                	xor    %eax,%eax
470212:	eb 0f                	jmp    0x470223
470214:	33 c0                	xor    %eax,%eax
470216:	89 b7 94 00 00 00    	mov    %esi,0x94(%edi)
47021c:	89 9f 90 00 00 00    	mov    %ebx,0x90(%edi)
470222:	40                   	inc    %eax
470223:	5f                   	pop    %edi
470224:	5e                   	pop    %esi
470225:	5b                   	pop    %ebx
470226:	c2 04 00             	ret    $0x4
470229:	83 a1 94 00 00 00 00 	andl   $0x0,0x94(%ecx)
470230:	83 a1 90 00 00 00 00 	andl   $0x0,0x90(%ecx)
470237:	e9 9b fb ff ff       	jmp    0x46fdd7
47023c:	55                   	push   %ebp
47023d:	8b ec                	mov    %esp,%ebp
47023f:	56                   	push   %esi
470240:	57                   	push   %edi
470241:	ff 75 20             	push   0x20(%ebp)
470244:	8b f9                	mov    %ecx,%edi
470246:	ff 75 1c             	push   0x1c(%ebp)
470249:	ff 75 18             	push   0x18(%ebp)
47024c:	ff 75 14             	push   0x14(%ebp)
47024f:	e8 71 04 00 00       	call   0x4706c5
470254:	8b 75 10             	mov    0x10(%ebp),%esi
470257:	8b c6                	mov    %esi,%eax
470259:	25 ff ff 40 00       	and    $0x40ffff,%eax
47025e:	81 7d 24 00 e8 00 00 	cmpl   $0xe800,0x24(%ebp)
470265:	89 47 7c             	mov    %eax,0x7c(%edi)
470268:	75 06                	jne    0x470270
47026a:	83 c8 08             	or     $0x8,%eax
47026d:	89 47 7c             	mov    %eax,0x7c(%edi)
470270:	68 00 10 00 00       	push   $0x1000
470275:	e8 81 46 fd ff       	call   0x4448fb
47027a:	e8 06 fa ff ff       	call   0x46fc85
47027f:	e8 6f fa ff ff       	call   0x46fcf3
470284:	8d 45 14             	lea    0x14(%ebp),%eax
470287:	50                   	push   %eax
470288:	ff 15 3c 08 4b 00    	call   *0x4b083c
47028e:	6a 00                	push   $0x0
470290:	ff 75 24             	push   0x24(%ebp)
470293:	81 e6 4e 00 bf ff    	and    $0xffbf004e,%esi
470299:	ff 75 08             	push   0x8(%ebp)
47029c:	0b 75 0c             	or     0xc(%ebp),%esi
47029f:	8d 45 14             	lea    0x14(%ebp),%eax
4702a2:	50                   	push   %eax
4702a3:	83 ce 4e             	or     $0x4e,%esi
4702a6:	56                   	push   %esi
4702a7:	6a 00                	push   $0x0
4702a9:	68 84 d0 48 00       	push   $0x48d084
4702ae:	8b cf                	mov    %edi,%ecx
4702b0:	e8 33 3c fd ff       	call   0x443ee8
4702b5:	85 c0                	test   %eax,%eax
4702b7:	74 22                	je     0x4702db
4702b9:	ff b7 a4 00 00 00    	push   0xa4(%edi)
4702bf:	8b cf                	mov    %edi,%ecx
4702c1:	ff b7 a0 00 00 00    	push   0xa0(%edi)
4702c7:	ff b7 ac 00 00 00    	push   0xac(%edi)
4702cd:	ff b7 a8 00 00 00    	push   0xa8(%edi)
4702d3:	e8 19 fe ff ff       	call   0x4700f1
4702d8:	33 c0                	xor    %eax,%eax
4702da:	40                   	inc    %eax
4702db:	5f                   	pop    %edi
4702dc:	5e                   	pop    %esi
4702dd:	5d                   	pop    %ebp
4702de:	c2 20 00             	ret    $0x20
4702e1:	55                   	push   %ebp
4702e2:	8b ec                	mov    %esp,%ebp
4702e4:	51                   	push   %ecx
4702e5:	51                   	push   %ecx
4702e6:	56                   	push   %esi
4702e7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4702ea:	e8 12 d6 ff ff       	call   0x46d901
4702ef:	8b 70 0c             	mov    0xc(%eax),%esi
4702f2:	68 f1 00 00 00       	push   $0xf1
4702f7:	ff 75 08             	push   0x8(%ebp)
4702fa:	56                   	push   %esi
4702fb:	ff 15 60 03 4b 00    	call   *0x4b0360
470301:	85 c0                	test   %eax,%eax
470303:	74 1c                	je     0x470321
470305:	50                   	push   %eax
470306:	56                   	push   %esi
470307:	ff 15 64 03 4b 00    	call   *0x4b0364
47030d:	85 c0                	test   %eax,%eax
47030f:	89 45 f8             	mov    %eax,-0x8(%ebp)
470312:	74 0d                	je     0x470321
470314:	50                   	push   %eax
470315:	ff 15 68 03 4b 00    	call   *0x4b0368
47031b:	8b f0                	mov    %eax,%esi
47031d:	85 f6                	test   %esi,%esi
47031f:	75 04                	jne    0x470325
470321:	33 c0                	xor    %eax,%eax
470323:	eb 7d                	jmp    0x4703a2
470325:	0f b7 46 06          	movzwl 0x6(%esi),%eax
470329:	53                   	push   %ebx
47032a:	c1 e0 02             	shl    $0x2,%eax
47032d:	57                   	push   %edi
47032e:	50                   	push   %eax
47032f:	e8 21 fd fc ff       	call   0x440055
470334:	8b f8                	mov    %eax,%edi
470336:	33 c0                	xor    %eax,%eax
470338:	66 39 46 06          	cmp    %ax,0x6(%esi)
47033c:	59                   	pop    %ecx
47033d:	76 14                	jbe    0x470353
47033f:	8d 4e 08             	lea    0x8(%esi),%ecx
470342:	0f b7 11             	movzwl (%ecx),%edx
470345:	89 14 87             	mov    %edx,(%edi,%eax,4)
470348:	0f b7 56 06          	movzwl 0x6(%esi),%edx
47034c:	40                   	inc    %eax
47034d:	41                   	inc    %ecx
47034e:	41                   	inc    %ecx
47034f:	3b c2                	cmp    %edx,%eax
470351:	7c ef                	jl     0x470342
470353:	0f b7 46 06          	movzwl 0x6(%esi),%eax
470357:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47035a:	50                   	push   %eax
47035b:	57                   	push   %edi
47035c:	e8 16 fb ff ff       	call   0x46fe77
470361:	57                   	push   %edi
470362:	8b d8                	mov    %eax,%ebx
470364:	e8 17 fd fc ff       	call   0x440080
470369:	85 db                	test   %ebx,%ebx
47036b:	59                   	pop    %ecx
47036c:	74 27                	je     0x470395
47036e:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
470372:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470376:	51                   	push   %ecx
470377:	8d 71 07             	lea    0x7(%ecx),%esi
47037a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47037d:	50                   	push   %eax
47037e:	8d 50 07             	lea    0x7(%eax),%edx
470381:	56                   	push   %esi
470382:	52                   	push   %edx
470383:	e8 69 fd ff ff       	call   0x4700f1
470388:	ff 75 08             	push   0x8(%ebp)
47038b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47038e:	e8 48 fe ff ff       	call   0x4701db
470393:	8b d8                	mov    %eax,%ebx
470395:	ff 75 f8             	push   -0x8(%ebp)
470398:	ff 15 bc 02 4b 00    	call   *0x4b02bc
47039e:	5f                   	pop    %edi
47039f:	8b c3                	mov    %ebx,%eax
4703a1:	5b                   	pop    %ebx
4703a2:	5e                   	pop    %esi
4703a3:	c9                   	leave
4703a4:	c2 04 00             	ret    $0x4
4703a7:	b8 d0 ec 48 00       	mov    $0x48ecd0,%eax
4703ac:	c3                   	ret
4703ad:	33 c0                	xor    %eax,%eax
4703af:	40                   	inc    %eax
4703b0:	c3                   	ret
4703b1:	56                   	push   %esi
4703b2:	8b f1                	mov    %ecx,%esi
4703b4:	e8 48 d5 ff ff       	call   0x46d901
4703b9:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
4703bd:	75 25                	jne    0x4703e4
4703bf:	8d 46 20             	lea    0x20(%esi),%eax
4703c2:	50                   	push   %eax
4703c3:	33 c0                	xor    %eax,%eax
4703c5:	39 46 38             	cmp    %eax,0x38(%esi)
4703c8:	0f 94 c0             	sete   %al
4703cb:	50                   	push   %eax
4703cc:	6a 04                	push   $0x4
4703ce:	8d 46 48             	lea    0x48(%esi),%eax
4703d1:	50                   	push   %eax
4703d2:	8d 46 24             	lea    0x24(%esi),%eax
4703d5:	50                   	push   %eax
4703d6:	ff 15 ec 0a 4b 00    	call   *0x4b0aec
4703dc:	85 c0                	test   %eax,%eax
4703de:	74 04                	je     0x4703e4
4703e0:	33 c0                	xor    %eax,%eax
4703e2:	5e                   	pop    %esi
4703e3:	c3                   	ret
4703e4:	fe 46 46             	incb   0x46(%esi)
4703e7:	33 c0                	xor    %eax,%eax
4703e9:	40                   	inc    %eax
4703ea:	5e                   	pop    %esi
4703eb:	c3                   	ret
4703ec:	b8 48 f0 48 00       	mov    $0x48f048,%eax
4703f1:	c3                   	ret
4703f2:	e9 9d dc ff ff       	jmp    0x46e094
4703f7:	e9 ab dc ff ff       	jmp    0x46e0a7
4703fc:	8b c1                	mov    %ecx,%eax
4703fe:	c3                   	ret
4703ff:	55                   	push   %ebp
470400:	8b ec                	mov    %esp,%ebp
470402:	8b 45 0c             	mov    0xc(%ebp),%eax
470405:	53                   	push   %ebx
470406:	8b d9                	mov    %ecx,%ebx
470408:	83 63 20 00          	andl   $0x0,0x20(%ebx)
47040c:	56                   	push   %esi
47040d:	8b 75 08             	mov    0x8(%ebp),%esi
470410:	57                   	push   %edi
470411:	c6 43 46 00          	movb   $0x0,0x46(%ebx)
470415:	8d 7b 24             	lea    0x24(%ebx),%edi
470418:	a5                   	movsl  %ds:(%esi),%es:(%edi)
470419:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47041c:	83 63 1c 00          	andl   $0x0,0x1c(%ebx)
470420:	89 43 34             	mov    %eax,0x34(%ebx)
470423:	8b 45 10             	mov    0x10(%ebp),%eax
470426:	89 43 38             	mov    %eax,0x38(%ebx)
470429:	8b 45 14             	mov    0x14(%ebp),%eax
47042c:	89 43 3c             	mov    %eax,0x3c(%ebx)
47042f:	8b 45 18             	mov    0x18(%ebp),%eax
470432:	89 43 40             	mov    %eax,0x40(%ebx)
470435:	c6 43 47 ff          	movb   $0xff,0x47(%ebx)
470439:	c6 43 44 00          	movb   $0x0,0x44(%ebx)
47043d:	c6 43 45 00          	movb   $0x0,0x45(%ebx)
470441:	e8 bb d4 ff ff       	call   0x46d901
470446:	6a 00                	push   $0x0
470448:	8b f0                	mov    %eax,%esi
47044a:	e8 57 e1 ff ff       	call   0x46e5a6
47044f:	53                   	push   %ebx
470450:	8d 4e 24             	lea    0x24(%esi),%ecx
470453:	e8 3c dc ff ff       	call   0x46e094
470458:	6a 00                	push   $0x0
47045a:	e8 aa e1 ff ff       	call   0x46e609
47045f:	5f                   	pop    %edi
470460:	5e                   	pop    %esi
470461:	5b                   	pop    %ebx
470462:	5d                   	pop    %ebp
470463:	c2 14 00             	ret    $0x14
470466:	8b 01                	mov    (%ecx),%eax
470468:	c3                   	ret
470469:	56                   	push   %esi
47046a:	8b f1                	mov    %ecx,%esi
47046c:	e8 34 0b 01 00       	call   0x480fa5
470471:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
470476:	74 07                	je     0x47047f
470478:	56                   	push   %esi
470479:	e8 02 fc fc ff       	call   0x440080
47047e:	59                   	pop    %ecx
47047f:	8b c6                	mov    %esi,%eax
470481:	5e                   	pop    %esi
470482:	c2 04 00             	ret    $0x4
470485:	8b c1                	mov    %ecx,%eax
470487:	c3                   	ret
470488:	56                   	push   %esi
470489:	e8 73 d4 ff ff       	call   0x46d901
47048e:	6a 00                	push   $0x0
470490:	8b f0                	mov    %eax,%esi
470492:	e8 0f e1 ff ff       	call   0x46e5a6
470497:	8b 76 24             	mov    0x24(%esi),%esi
47049a:	eb 0a                	jmp    0x4704a6
47049c:	8b 06                	mov    (%esi),%eax
47049e:	8b ce                	mov    %esi,%ecx
4704a0:	ff 50 50             	call   *0x50(%eax)
4704a3:	8b 76 1c             	mov    0x1c(%esi),%esi
4704a6:	85 f6                	test   %esi,%esi
4704a8:	75 f2                	jne    0x47049c
4704aa:	56                   	push   %esi
4704ab:	e8 59 e1 ff ff       	call   0x46e609
4704b0:	33 c0                	xor    %eax,%eax
4704b2:	40                   	inc    %eax
4704b3:	5e                   	pop    %esi
4704b4:	c3                   	ret
4704b5:	56                   	push   %esi
4704b6:	57                   	push   %edi
4704b7:	33 ff                	xor    %edi,%edi
4704b9:	47                   	inc    %edi
4704ba:	e8 42 d4 ff ff       	call   0x46d901
4704bf:	6a 00                	push   $0x0
4704c1:	8b f0                	mov    %eax,%esi
4704c3:	e8 de e0 ff ff       	call   0x46e5a6
4704c8:	8b 76 24             	mov    0x24(%esi),%esi
4704cb:	eb 2f                	jmp    0x4704fc
4704cd:	8b 06                	mov    (%esi),%eax
4704cf:	8b ce                	mov    %esi,%ecx