46ff57:	ff 90 10 01 00 00    	call   *0x110(%eax)
46ff5d:	89 46 70             	mov    %eax,0x70(%esi)
46ff60:	33 c0                	xor    %eax,%eax
46ff62:	40                   	inc    %eax
46ff63:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
46ff69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ff6c:	5f                   	pop    %edi
46ff6d:	5e                   	pop    %esi
46ff6e:	5b                   	pop    %ebx
46ff6f:	e8 6a 7c fa ff       	call   0x417bde
46ff74:	c9                   	leave
46ff75:	c2 08 00             	ret    $0x8
46ff78:	33 ff                	xor    %edi,%edi
46ff7a:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
46ff7d:	c6 45 f0 04          	movb   $0x4,-0x10(%ebp)
46ff81:	7e c9                	jle    0x46ff4c
46ff83:	8b 06                	mov    (%esi),%eax
46ff85:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46ff88:	51                   	push   %ecx
46ff89:	6a 01                	push   $0x1
46ff8b:	68 14 04 00 00       	push   $0x414
46ff90:	8b ce                	mov    %esi,%ecx
46ff92:	ff 90 10 01 00 00    	call   *0x110(%eax)
46ff98:	85 c0                	test   %eax,%eax
46ff9a:	74 08                	je     0x46ffa4
46ff9c:	47                   	inc    %edi
46ff9d:	3b 7d 0c             	cmp    0xc(%ebp),%edi
46ffa0:	7c e1                	jl     0x46ff83
46ffa2:	eb a8                	jmp    0x46ff4c
46ffa4:	33 c0                	xor    %eax,%eax
46ffa6:	eb c1                	jmp    0x46ff69
46ffa8:	b8 a4 e9 48 00       	mov    $0x48e9a4,%eax
46ffad:	c3                   	ret
46ffae:	56                   	push   %esi
46ffaf:	8b f1                	mov    %ecx,%esi
46ffb1:	e8 aa 06 00 00       	call   0x470660
46ffb6:	33 c0                	xor    %eax,%eax
46ffb8:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
46ffbe:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
46ffc4:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
46ffca:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
46ffd0:	6a 03                	push   $0x3
46ffd2:	58                   	pop    %eax
46ffd3:	89 46 60             	mov    %eax,0x60(%esi)
46ffd6:	89 46 64             	mov    %eax,0x64(%esi)
46ffd9:	c7 06 4c eb 48 00    	movl   $0x48eb4c,(%esi)
46ffdf:	c7 86 9c 00 00 00 01 	movl   $0x1,0x9c(%esi)
46ffe6:	00 00 00
46ffe9:	c7 86 a0 00 00 00 10 	movl   $0x10,0xa0(%esi)
46fff0:	00 00 00
46fff3:	c7 86 a4 00 00 00 0f 	movl   $0xf,0xa4(%esi)
46fffa:	00 00 00
46fffd:	c7 86 a8 00 00 00 17 	movl   $0x17,0xa8(%esi)
470004:	00 00 00
470007:	c7 86 ac 00 00 00 16 	movl   $0x16,0xac(%esi)
47000e:	00 00 00
470011:	c6 46 20 01          	movb   $0x1,0x20(%esi)
470015:	8b c6                	mov    %esi,%eax
470017:	5e                   	pop    %esi
470018:	c3                   	ret
470019:	56                   	push   %esi
47001a:	8b f1                	mov    %ecx,%esi
47001c:	e8 5e fd ff ff       	call   0x46fd7f
470021:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
470026:	74 07                	je     0x47002f
470028:	56                   	push   %esi
470029:	e8 52 00 fd ff       	call   0x440080
47002e:	59                   	pop    %ecx
47002f:	8b c6                	mov    %esi,%eax
470031:	5e                   	pop    %esi
470032:	c2 04 00             	ret    $0x4
470035:	55                   	push   %ebp
470036:	8b ec                	mov    %esp,%ebp
470038:	83 ec 10             	sub    $0x10,%esp
47003b:	8b 41 58             	mov    0x58(%ecx),%eax
47003e:	56                   	push   %esi
47003f:	57                   	push   %edi
470040:	ff 75 10             	push   0x10(%ebp)
470043:	89 45 f0             	mov    %eax,-0x10(%ebp)
470046:	8b 41 60             	mov    0x60(%ecx),%eax
470049:	89 45 f4             	mov    %eax,-0xc(%ebp)
47004c:	8b 41 5c             	mov    0x5c(%ecx),%eax
47004f:	89 45 f8             	mov    %eax,-0x8(%ebp)
470052:	8b 41 64             	mov    0x64(%ecx),%eax
470055:	83 ec 10             	sub    $0x10,%esp
470058:	89 45 fc             	mov    %eax,-0x4(%ebp)
47005b:	8b 01                	mov    (%ecx),%eax
47005d:	8b fc                	mov    %esp,%edi
47005f:	ff 75 0c             	push   0xc(%ebp)
470062:	8d 75 f0             	lea    -0x10(%ebp),%esi
470065:	a5                   	movsl  %ds:(%esi),%es:(%edi)
470066:	a5                   	movsl  %ds:(%esi),%es:(%edi)
470067:	a5                   	movsl  %ds:(%esi),%es:(%edi)
470068:	6a 00                	push   $0x0
47006a:	ff 75 08             	push   0x8(%ebp)
47006d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47006e:	ff 90 68 01 00 00    	call   *0x168(%eax)
470074:	5f                   	pop    %edi
470075:	5e                   	pop    %esi
470076:	c9                   	leave
470077:	c2 0c 00             	ret    $0xc
47007a:	56                   	push   %esi
47007b:	8b f1                	mov    %ecx,%esi
47007d:	e8 7d 4b fd ff       	call   0x444bff
470082:	85 c0                	test   %eax,%eax
470084:	74 2f                	je     0x4700b5
470086:	8b 46 34             	mov    0x34(%esi),%eax
470089:	85 c0                	test   %eax,%eax
47008b:	74 12                	je     0x47009f
47008d:	8b 16                	mov    (%esi),%edx
47008f:	6a 00                	push   $0x0
470091:	50                   	push   %eax
470092:	68 25 04 00 00       	push   $0x425
470097:	8b ce                	mov    %esi,%ecx
470099:	ff 92 10 01 00 00    	call   *0x110(%edx)
47009f:	8b 06                	mov    (%esi),%eax
4700a1:	6a 00                	push   $0x0
4700a3:	6a 14                	push   $0x14
4700a5:	68 1e 04 00 00       	push   $0x41e
4700aa:	8b ce                	mov    %esi,%ecx
4700ac:	ff 90 10 01 00 00    	call   *0x110(%eax)
4700b2:	33 c0                	xor    %eax,%eax
4700b4:	40                   	inc    %eax
4700b5:	5e                   	pop    %esi
4700b6:	c2 04 00             	ret    $0x4
4700b9:	56                   	push   %esi
4700ba:	8b f1                	mov    %ecx,%esi
4700bc:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4700c0:	57                   	push   %edi
4700c1:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4700c5:	74 1d                	je     0x4700e4
4700c7:	85 ff                	test   %edi,%edi
4700c9:	75 04                	jne    0x4700cf
4700cb:	33 c0                	xor    %eax,%eax
4700cd:	eb 03                	jmp    0x4700d2
4700cf:	8b 47 1c             	mov    0x1c(%edi),%eax
4700d2:	8b 16                	mov    (%esi),%edx
4700d4:	6a 00                	push   $0x0
4700d6:	50                   	push   %eax
4700d7:	68 25 04 00 00       	push   $0x425
4700dc:	8b ce                	mov    %esi,%ecx
4700de:	ff 92 10 01 00 00    	call   *0x110(%edx)
4700e4:	57                   	push   %edi
4700e5:	8b ce                	mov    %esi,%ecx
4700e7:	e8 42 55 fa ff       	call   0x41562e
4700ec:	5f                   	pop    %edi
4700ed:	5e                   	pop    %esi
4700ee:	c2 04 00             	ret    $0x4
4700f1:	55                   	push   %ebp
4700f2:	8b ec                	mov    %esp,%ebp
4700f4:	56                   	push   %esi
4700f5:	8b f1                	mov    %ecx,%esi
4700f7:	ff 76 1c             	push   0x1c(%esi)
4700fa:	ff 15 64 07 4b 00    	call   *0x4b0764
470100:	85 c0                	test   %eax,%eax
470102:	74 4b                	je     0x47014f
470104:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
470108:	0f b7 4d 10          	movzwl 0x10(%ebp),%ecx
47010c:	57                   	push   %edi
47010d:	8b 3d 98 08 4b 00    	mov    0x4b0898,%edi
470113:	c1 e0 10             	shl    $0x10,%eax
470116:	0b c1                	or     %ecx,%eax
470118:	50                   	push   %eax
470119:	6a 00                	push   $0x0
47011b:	68 20 04 00 00       	push   $0x420
470120:	ff 76 1c             	push   0x1c(%esi)
470123:	ff d7                	call   *%edi
470125:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
470129:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
47012d:	c1 e0 10             	shl    $0x10,%eax
470130:	0b c1                	or     %ecx,%eax
470132:	50                   	push   %eax
470133:	6a 00                	push   $0x0
470135:	68 1f 04 00 00       	push   $0x41f
47013a:	ff 76 1c             	push   0x1c(%esi)
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