42311a:	ff 15 30 97 43 00    	call   *0x439730
423120:	ff 75 fc             	push   -0x4(%ebp)
423123:	be e4 03 00 00       	mov    $0x3e4,%esi
423128:	68 00 80 00 00       	push   $0x8000
42312d:	56                   	push   %esi
42312e:	57                   	push   %edi
42312f:	ff 75 0c             	push   0xc(%ebp)
423132:	e8 4f ff fe ff       	call   0x413086
423137:	50                   	push   %eax
423138:	ff 73 1c             	push   0x1c(%ebx)
42313b:	56                   	push   %esi
42313c:	ff 75 08             	push   0x8(%ebp)
42313f:	ff 15 40 98 43 00    	call   *0x439840
423145:	8b cb                	mov    %ebx,%ecx
423147:	e8 c5 a6 ff ff       	call   0x41d811
42314c:	85 c0                	test   %eax,%eax
42314e:	74 19                	je     0x423169
423150:	e8 f2 15 00 00       	call   0x424747
423155:	8b 40 04             	mov    0x4(%eax),%eax
423158:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
42315e:	51                   	push   %ecx
42315f:	8b c8                	mov    %eax,%ecx
423161:	8b 10                	mov    (%eax),%edx
423163:	ff 92 9c 00 00 00    	call   *0x9c(%edx)
423169:	5f                   	pop    %edi
42316a:	5e                   	pop    %esi
42316b:	33 c0                	xor    %eax,%eax
42316d:	5b                   	pop    %ebx
42316e:	c9                   	leave
42316f:	c2 08 00             	ret    $0x8
423172:	ff 74 24 08          	push   0x8(%esp)
423176:	ff 71 1c             	push   0x1c(%ecx)
423179:	68 e1 03 00 00       	push   $0x3e1
42317e:	ff 74 24 10          	push   0x10(%esp)
423182:	ff 15 40 98 43 00    	call   *0x439840
423188:	33 c0                	xor    %eax,%eax
42318a:	c2 08 00             	ret    $0x8
42318d:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
423193:	c3                   	ret
423194:	53                   	push   %ebx
423195:	8b 5c 24 08          	mov    0x8(%esp),%ebx
423199:	56                   	push   %esi
42319a:	8b f1                	mov    %ecx,%esi
42319c:	57                   	push   %edi
42319d:	8b be 98 00 00 00    	mov    0x98(%esi),%edi
4231a3:	3b df                	cmp    %edi,%ebx
4231a5:	74 41                	je     0x4231e8
4231a7:	83 a6 98 00 00 00 00 	andl   $0x0,0x98(%esi)
4231ae:	85 ff                	test   %edi,%edi
4231b0:	74 0e                	je     0x4231c0
4231b2:	8b 07                	mov    (%edi),%eax
4231b4:	57                   	push   %edi
4231b5:	53                   	push   %ebx
4231b6:	6a 00                	push   $0x0
4231b8:	8b cf                	mov    %edi,%ecx
4231ba:	ff 90 ec 00 00 00    	call   *0xec(%eax)
4231c0:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
4231c7:	75 1f                	jne    0x4231e8
4231c9:	85 db                	test   %ebx,%ebx
4231cb:	89 9e 98 00 00 00    	mov    %ebx,0x98(%esi)
4231d1:	74 15                	je     0x4231e8
4231d3:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
4231d8:	74 0e                	je     0x4231e8
4231da:	8b 03                	mov    (%ebx),%eax
4231dc:	57                   	push   %edi
4231dd:	53                   	push   %ebx
4231de:	6a 01                	push   $0x1
4231e0:	8b cb                	mov    %ebx,%ecx
4231e2:	ff 90 ec 00 00 00    	call   *0xec(%eax)
4231e8:	5f                   	pop    %edi
4231e9:	5e                   	pop    %esi
4231ea:	5b                   	pop    %ebx
4231eb:	c2 08 00             	ret    $0x8
4231ee:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
4231f4:	85 c0                	test   %eax,%eax
4231f6:	74 09                	je     0x423201
4231f8:	8b c8                	mov    %eax,%ecx
4231fa:	e8 54 a6 ff ff       	call   0x41d853
4231ff:	eb 05                	jmp    0x423206
423201:	e8 0f 70 ff ff       	call   0x41a215
423206:	c2 04 00             	ret    $0x4
423209:	e8 7f ff ff ff       	call   0x42318d
42320e:	85 c0                	test   %eax,%eax
423210:	74 04                	je     0x423216
423212:	8b 40 3c             	mov    0x3c(%eax),%eax
423215:	c3                   	ret
423216:	33 c0                	xor    %eax,%eax
423218:	c3                   	ret
423219:	55                   	push   %ebp
42321a:	8b ec                	mov    %esp,%ebp
42321c:	53                   	push   %ebx
42321d:	56                   	push   %esi
42321e:	57                   	push   %edi
42321f:	8b 7d 08             	mov    0x8(%ebp),%edi
423222:	8b cf                	mov    %edi,%ecx
423224:	e8 14 0e 00 00       	call   0x42403d
423229:	33 db                	xor    %ebx,%ebx
42322b:	8b f0                	mov    %eax,%esi
42322d:	39 5d 10             	cmp    %ebx,0x10(%ebp)
423230:	74 16                	je     0x423248
423232:	8b 07                	mov    (%edi),%eax
423234:	ff 75 0c             	push   0xc(%ebp)
423237:	8b cf                	mov    %edi,%ecx
423239:	ff 90 cc 00 00 00    	call   *0xcc(%eax)
42323f:	83 8e b8 00 00 00 0c 	orl    $0xc,0xb8(%esi)
423246:	eb 45                	jmp    0x42328d
423248:	8b 45 0c             	mov    0xc(%ebp),%eax
42324b:	8b cf                	mov    %edi,%ecx
42324d:	f7 d8                	neg    %eax
42324f:	1b c0                	sbb    %eax,%eax
423251:	24 c0                	and    $0xc0,%al
423253:	05 80 00 00 00       	add    $0x80,%eax
423258:	0c 17                	or     $0x17,%al
42325a:	50                   	push   %eax
42325b:	53                   	push   %ebx
42325c:	53                   	push   %ebx
42325d:	53                   	push   %ebx
42325e:	53                   	push   %ebx
42325f:	53                   	push   %ebx
423260:	e8 36 a5 ff ff       	call   0x41d79b
423265:	8b 07                	mov    (%edi),%eax
423267:	ff 75 0c             	push   0xc(%ebp)
42326a:	8b cf                	mov    %edi,%ecx
42326c:	ff 90 cc 00 00 00    	call   *0xcc(%eax)
423272:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
423275:	75 0b                	jne    0x423282
423277:	8b cf                	mov    %edi,%ecx
423279:	e8 d0 0d 00 00       	call   0x42404e
42327e:	85 c0                	test   %eax,%eax
423280:	75 0b                	jne    0x42328d
423282:	8b 06                	mov    (%esi),%eax
423284:	53                   	push   %ebx
423285:	8b ce                	mov    %esi,%ecx
423287:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
42328d:	8b cf                	mov    %edi,%ecx
42328f:	e8 ba 0d 00 00       	call   0x42404e
423294:	85 c0                	test   %eax,%eax
423296:	74 75                	je     0x42330d
423298:	8b 4f 70             	mov    0x70(%edi),%ecx
42329b:	3b cb                	cmp    %ebx,%ecx
42329d:	74 0a                	je     0x4232a9
42329f:	8b 01                	mov    (%ecx),%eax
4232a1:	ff 90 e8 00 00 00    	call   *0xe8(%eax)
4232a7:	eb 08                	jmp    0x4232b1
4232a9:	33 c0                	xor    %eax,%eax
4232ab:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4232ae:	0f 95 c0             	setne  %al
4232b1:	83 f8 01             	cmp    $0x1,%eax
4232b4:	75 23                	jne    0x4232d9
4232b6:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4232b9:	74 1e                	je     0x4232d9
4232bb:	83 8e 88 00 00 00 ff 	orl    $0xffffffff,0x88(%esi)
4232c2:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4232c5:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
4232cb:	74 08                	je     0x4232d5
4232cd:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
4232d3:	eb 2d                	jmp    0x423302
4232d5:	6a 08                	push   $0x8
4232d7:	eb 1b                	jmp    0x4232f4
4232d9:	3b c3                	cmp    %ebx,%eax
4232db:	75 20                	jne    0x4232fd
4232dd:	83 8e 88 00 00 00 ff 	orl    $0xffffffff,0x88(%esi)
4232e4:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4232e7:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
4232ed:	74 04                	je     0x4232f3
4232ef:	89 18                	mov    %ebx,(%eax)
4232f1:	eb 1a                	jmp    0x42330d
4232f3:	53                   	push   %ebx
4232f4:	8b ce                	mov    %esi,%ecx
4232f6:	e8 ef a4 ff ff       	call   0x41d7ea
4232fb:	eb 10                	jmp    0x42330d
4232fd:	39 5d 10             	cmp    %ebx,0x10(%ebp)
423300:	75 0b                	jne    0x42330d
423302:	8b 06                	mov    (%esi),%eax
423304:	53                   	push   %ebx
423305:	8b ce                	mov    %esi,%ecx
423307:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
42330d:	5f                   	pop    %edi
42330e:	5e                   	pop    %esi
42330f:	5b                   	pop    %ebx
423310:	5d                   	pop    %ebp
423311:	c2 0c 00             	ret    $0xc
423314:	55                   	push   %ebp
423315:	8b ec                	mov    %esp,%ebp
423317:	83 ec 2c             	sub    $0x2c,%esp
42331a:	53                   	push   %ebx
42331b:	56                   	push   %esi
42331c:	8b d9                	mov    %ecx,%ebx
42331e:	57                   	push   %edi
42331f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
423322:	ff 73 1c             	push   0x1c(%ebx)
423325:	e8 bb cd ff ff       	call   0x4200e5
42332a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42332e:	0f 85 3e 01 00 00    	jne    0x423472
423334:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
423337:	e8 24 a9 ff ff       	call   0x41dc60
42333c:	8b 75 08             	mov    0x8(%ebp),%esi
42333f:	89 75 e0             	mov    %esi,-0x20(%ebp)
423342:	e8 ad 10 00 00       	call   0x4243f4
423347:	8b 40 54             	mov    0x54(%eax),%eax
42334a:	3b 46 04             	cmp    0x4(%esi),%eax
42334d:	75 05                	jne    0x423354
42334f:	89 75 f8             	mov    %esi,-0x8(%ebp)
423352:	eb 53                	jmp    0x4233a7
423354:	ff 73 1c             	push   0x1c(%ebx)
423357:	8b 3d cc 98 43 00    	mov    0x4398cc,%edi
42335d:	ff d7                	call   *%edi
42335f:	85 c0                	test   %eax,%eax
423361:	74 44                	je     0x4233a7
423363:	8b cb                	mov    %ebx,%ecx
423365:	e8 6d 85 ff ff       	call   0x41b8d7
42336a:	85 c0                	test   %eax,%eax
42336c:	74 39                	je     0x4233a7
42336e:	ff 70 1c             	push   0x1c(%eax)
423371:	ff d7                	call   *%edi
423373:	8b f8                	mov    %eax,%edi
423375:	85 ff                	test   %edi,%edi
423377:	74 2e                	je     0x4233a7
423379:	57                   	push   %edi
42337a:	ff 15 c0 98 43 00    	call   *0x4398c0
423380:	33 db                	xor    %ebx,%ebx
423382:	89 45 10             	mov    %eax,0x10(%ebp)
423385:	85 c0                	test   %eax,%eax
423387:	7e 1e                	jle    0x4233a7
423389:	53                   	push   %ebx
42338a:	57                   	push   %edi
42338b:	ff 15 c4 98 43 00    	call   *0x4398c4
423391:	3b 46 04             	cmp    0x4(%esi),%eax
423394:	74 08                	je     0x42339e
423396:	43                   	inc    %ebx
423397:	3b 5d 10             	cmp    0x10(%ebp),%ebx
42339a:	7c ed                	jl     0x423389
42339c:	eb 09                	jmp    0x4233a7
42339e:	57                   	push   %edi
42339f:	e8 9c 98 ff ff       	call   0x41cc40
4233a4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4233a7:	ff 76 04             	push   0x4(%esi)
4233aa:	ff 15 c0 98 43 00    	call   *0x4398c0
4233b0:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
4233b4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4233b7:	85 c0                	test   %eax,%eax
4233b9:	0f 86 b3 00 00 00    	jbe    0x423472
4233bf:	8b 3d c8 98 43 00    	mov    0x4398c8,%edi
4233c5:	ff 75 dc             	push   -0x24(%ebp)
4233c8:	ff 76 04             	push   0x4(%esi)
4233cb:	ff d7                	call   *%edi
4233cd:	33 db                	xor    %ebx,%ebx
4233cf:	89 45 d8             	mov    %eax,-0x28(%ebp)
4233d2:	3b c3                	cmp    %ebx,%eax
4233d4:	0f 84 89 00 00 00    	je     0x423463
4233da:	83 f8 ff             	cmp    $0xffffffff,%eax
4233dd:	75 31                	jne    0x423410
4233df:	ff 75 dc             	push   -0x24(%ebp)
4233e2:	ff 76 04             	push   0x4(%esi)
4233e5:	ff 15 c4 98 43 00    	call   *0x4398c4
4233eb:	50                   	push   %eax
4233ec:	e8 4f 98 ff ff       	call   0x41cc40
4233f1:	3b c3                	cmp    %ebx,%eax
4233f3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4233f6:	74 6b                	je     0x423463
4233f8:	53                   	push   %ebx
4233f9:	ff 70 04             	push   0x4(%eax)
4233fc:	ff d7                	call   *%edi
4233fe:	3b c3                	cmp    %ebx,%eax
423400:	89 45 d8             	mov    %eax,-0x28(%ebp)
423403:	74 5e                	je     0x423463
423405:	83 f8 ff             	cmp    $0xffffffff,%eax
423408:	74 59                	je     0x423463
42340a:	53                   	push   %ebx
42340b:	ff 75 fc             	push   -0x4(%ebp)
42340e:	eb 1b                	jmp    0x42342b
423410:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423413:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
423416:	39 59 3c             	cmp    %ebx,0x3c(%ecx)
423419:	74 0c                	je     0x423427
42341b:	3d 00 f0 00 00       	cmp    $0xf000,%eax
423420:	73 05                	jae    0x423427
423422:	6a 01                	push   $0x1
423424:	58                   	pop    %eax
423425:	eb 02                	jmp    0x423429
423427:	33 c0                	xor    %eax,%eax
423429:	50                   	push   %eax
42342a:	51                   	push   %ecx
42342b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42342e:	e8 ed a9 ff ff       	call   0x41de20
423433:	ff 76 04             	push   0x4(%esi)
423436:	ff 15 c0 98 43 00    	call   *0x4398c0
42343c:	8b d8                	mov    %eax,%ebx
42343e:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
423441:	73 1d                	jae    0x423460
423443:	2b 45 f4             	sub    -0xc(%ebp),%eax
423446:	01 45 dc             	add    %eax,-0x24(%ebp)
423449:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
42344c:	73 12                	jae    0x423460
42344e:	ff 75 dc             	push   -0x24(%ebp)
423451:	ff 76 04             	push   0x4(%esi)
423454:	ff d7                	call   *%edi
423456:	3b 45 d8             	cmp    -0x28(%ebp),%eax
423459:	75 05                	jne    0x423460
42345b:	ff 45 dc             	incl   -0x24(%ebp)
42345e:	eb e9                	jmp    0x423449
423460:	89 5d f4             	mov    %ebx,-0xc(%ebp)
423463:	ff 45 dc             	incl   -0x24(%ebp)
423466:	8b 45 dc             	mov    -0x24(%ebp),%eax
423469:	3b 45 f4             	cmp    -0xc(%ebp),%eax
42346c:	0f 82 53 ff ff ff    	jb     0x4233c5
423472:	5f                   	pop    %edi
423473:	5e                   	pop    %esi
423474:	5b                   	pop    %ebx
423475:	c9                   	leave
423476:	c2 0c 00             	ret    $0xc
423479:	56                   	push   %esi
42347a:	8b f1                	mov    %ecx,%esi
42347c:	e8 82 84 ff ff       	call   0x41b903
423481:	81 7c 24 0c ff ff 00 	cmpl   $0xffff,0xc(%esp)
423488:	00
423489:	75 4f                	jne    0x4234da
42348b:	83 66 24 bf          	andl   $0xffffffbf,0x24(%esi)
42348f:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
423493:	75 0c                	jne    0x4234a1
423495:	c7 86 90 00 00 00 01 	movl   $0xe001,0x90(%esi)
42349c:	e0 00 00
42349f:	eb 0a                	jmp    0x4234ab
4234a1:	c7 86 90 00 00 00 02 	movl   $0xe002,0x90(%esi)
4234a8:	e0 00 00
4234ab:	6a 00                	push   $0x0
4234ad:	ff b6 90 00 00 00    	push   0x90(%esi)
4234b3:	68 62 03 00 00       	push   $0x362
4234b8:	ff 76 1c             	push   0x1c(%esi)
4234bb:	ff 15 88 99 43 00    	call   *0x439988
4234c1:	8b 06                	mov    (%esi),%eax
4234c3:	8b ce                	mov    %esi,%ecx
4234c5:	ff 90 dc 00 00 00    	call   *0xdc(%eax)
4234cb:	85 c0                	test   %eax,%eax
4234cd:	74 62                	je     0x423531
4234cf:	ff 70 1c             	push   0x1c(%eax)
4234d2:	ff 15 3c 99 43 00    	call   *0x43993c
4234d8:	eb 57                	jmp    0x423531
4234da:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4234de:	85 c9                	test   %ecx,%ecx
4234e0:	74 44                	je     0x423526
4234e2:	66 f7 44 24 0c 10 08 	testw  $0x810,0xc(%esp)
4234e9:	75 3b                	jne    0x423526
4234eb:	81 f9 00 f0 00 00    	cmp    $0xf000,%ecx
4234f1:	72 1f                	jb     0x423512
4234f3:	81 f9 f0 f1 00 00    	cmp    $0xf1f0,%ecx
4234f9:	73 17                	jae    0x423512
4234fb:	81 c1 00 10 ff ff    	add    $0xffff1000,%ecx
423501:	c1 e9 04             	shr    $0x4,%ecx
423504:	81 c1 00 ef 00 00    	add    $0xef00,%ecx