438140:	f7 c1 00 00 07 00    	test   $0x70000,%ecx
438146:	74 07                	je     0x43814f
438148:	8b fa                	mov    %edx,%edi
43814a:	89 55 f8             	mov    %edx,-0x8(%ebp)
43814d:	eb 0f                	jmp    0x43815e
43814f:	bf 00 00 00 40       	mov    $0x40000000,%edi
438154:	eb 05                	jmp    0x43815b
438156:	bf 00 00 00 80       	mov    $0x80000000,%edi
43815b:	89 7d f8             	mov    %edi,-0x8(%ebp)
43815e:	8b 45 18             	mov    0x18(%ebp),%eax
438161:	56                   	push   %esi
438162:	6a 10                	push   $0x10
438164:	5e                   	pop    %esi
438165:	6a 02                	push   $0x2
438167:	5a                   	pop    %edx
438168:	89 55 d8             	mov    %edx,-0x28(%ebp)
43816b:	2b c6                	sub    %esi,%eax
43816d:	74 36                	je     0x4381a5
43816f:	2b c6                	sub    %esi,%eax
438171:	74 29                	je     0x43819c
438173:	2b c6                	sub    %esi,%eax
438175:	74 20                	je     0x438197
438177:	2b c6                	sub    %esi,%eax
438179:	74 13                	je     0x43818e
43817b:	83 e8 40             	sub    $0x40,%eax
43817e:	75 75                	jne    0x4381f5
438180:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
438186:	0f 94 c0             	sete   %al
438189:	89 45 f4             	mov    %eax,-0xc(%ebp)
43818c:	eb 1a                	jmp    0x4381a8
43818e:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
438195:	eb 11                	jmp    0x4381a8
438197:	89 55 f4             	mov    %edx,-0xc(%ebp)
43819a:	eb 0c                	jmp    0x4381a8
43819c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4381a3:	eb 03                	jmp    0x4381a8
4381a5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4381a8:	8b c1                	mov    %ecx,%eax
4381aa:	be 00 04 00 00       	mov    $0x400,%esi
4381af:	25 00 07 00 00       	and    $0x700,%eax
4381b4:	3b c6                	cmp    %esi,%eax
4381b6:	7f 28                	jg     0x4381e0
4381b8:	74 21                	je     0x4381db
4381ba:	85 c0                	test   %eax,%eax
4381bc:	74 1d                	je     0x4381db
4381be:	3d 00 01 00 00       	cmp    $0x100,%eax
4381c3:	74 12                	je     0x4381d7
4381c5:	3d 00 02 00 00       	cmp    $0x200,%eax
4381ca:	74 4a                	je     0x438216
4381cc:	3d 00 03 00 00       	cmp    $0x300,%eax
4381d1:	75 22                	jne    0x4381f5
4381d3:	8b f2                	mov    %edx,%esi
4381d5:	eb 46                	jmp    0x43821d
4381d7:	6a 04                	push   $0x4
4381d9:	eb 02                	jmp    0x4381dd
4381db:	6a 03                	push   $0x3
4381dd:	5e                   	pop    %esi
4381de:	eb 3d                	jmp    0x43821d
4381e0:	3d 00 05 00 00       	cmp    $0x500,%eax
4381e5:	74 33                	je     0x43821a
4381e7:	3d 00 06 00 00       	cmp    $0x600,%eax
4381ec:	74 28                	je     0x438216
4381ee:	3d 00 07 00 00       	cmp    $0x700,%eax
4381f3:	74 25                	je     0x43821a
4381f5:	e8 3a 0b ff ff       	call   0x428d34
4381fa:	89 18                	mov    %ebx,(%eax)
4381fc:	8b 45 0c             	mov    0xc(%ebp),%eax
4381ff:	83 08 ff             	orl    $0xffffffff,(%eax)
438202:	e8 61 0b ff ff       	call   0x428d68
438207:	6a 16                	push   $0x16
438209:	5b                   	pop    %ebx
43820a:	89 18                	mov    %ebx,(%eax)
43820c:	e8 e5 0d ff ff       	call   0x428ff6
438211:	e9 c9 05 00 00       	jmp    0x4387df
438216:	6a 05                	push   $0x5
438218:	eb c3                	jmp    0x4381dd
43821a:	33 f6                	xor    %esi,%esi
43821c:	46                   	inc    %esi
43821d:	ba 80 00 00 00       	mov    $0x80,%edx
438222:	8b c3                	mov    %ebx,%eax
438224:	89 55 e8             	mov    %edx,-0x18(%ebp)
438227:	89 45 f0             	mov    %eax,-0x10(%ebp)
43822a:	f7 c1 00 01 00 00    	test   $0x100,%ecx
438230:	74 16                	je     0x438248
438232:	a1 c0 41 4c 00       	mov    0x4c41c0,%eax
438237:	f7 d0                	not    %eax
438239:	23 45 1c             	and    0x1c(%ebp),%eax
43823c:	84 c0                	test   %al,%al
43823e:	8b c3                	mov    %ebx,%eax
438240:	78 06                	js     0x438248
438242:	33 d2                	xor    %edx,%edx
438244:	42                   	inc    %edx
438245:	89 55 e8             	mov    %edx,-0x18(%ebp)
438248:	f6 c1 40             	test   $0x40,%cl
43824b:	74 15                	je     0x438262
43824d:	81 cf 00 00 01 00    	or     $0x10000,%edi
438253:	b8 00 00 00 04       	mov    $0x4000000,%eax
438258:	83 4d f4 04          	orl    $0x4,-0xc(%ebp)
43825c:	89 45 f0             	mov    %eax,-0x10(%ebp)
43825f:	89 7d f8             	mov    %edi,-0x8(%ebp)
438262:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
438268:	74 09                	je     0x438273
43826a:	81 ca 00 01 00 00    	or     $0x100,%edx
438270:	89 55 e8             	mov    %edx,-0x18(%ebp)
438273:	f7 c1 00 20 00 00    	test   $0x2000,%ecx
438279:	74 08                	je     0x438283
43827b:	0d 00 00 00 02       	or     $0x2000000,%eax
438280:	89 45 f0             	mov    %eax,-0x10(%ebp)
438283:	f6 c1 20             	test   $0x20,%cl
438286:	74 07                	je     0x43828f
438288:	0d 00 00 00 08       	or     $0x8000000,%eax
43828d:	eb 0a                	jmp    0x438299
43828f:	f6 c1 10             	test   $0x10,%cl
438292:	74 08                	je     0x43829c
438294:	0d 00 00 00 10       	or     $0x10000000,%eax
438299:	89 45 f0             	mov    %eax,-0x10(%ebp)
43829c:	e8 33 52 ff ff       	call   0x42d4d4
4382a1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4382a4:	89 07                	mov    %eax,(%edi)
4382a6:	83 f8 ff             	cmp    $0xffffffff,%eax
4382a9:	75 23                	jne    0x4382ce
4382ab:	e8 84 0a ff ff       	call   0x428d34
4382b0:	89 18                	mov    %ebx,(%eax)
4382b2:	83 0f ff             	orl    $0xffffffff,(%edi)
4382b5:	e8 ae 0a ff ff       	call   0x428d68
4382ba:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4382c0:	e8 a3 0a ff ff       	call   0x428d68
4382c5:	8b 00                	mov    (%eax),%eax
4382c7:	5e                   	pop    %esi
4382c8:	5f                   	pop    %edi
4382c9:	5b                   	pop    %ebx
4382ca:	8b e5                	mov    %ebp,%esp
4382cc:	5d                   	pop    %ebp
4382cd:	c3                   	ret
4382ce:	ff 75 f0             	push   -0x10(%ebp)
4382d1:	8b 45 08             	mov    0x8(%ebp),%eax
4382d4:	ff 75 e8             	push   -0x18(%ebp)
4382d7:	56                   	push   %esi
4382d8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4382de:	8d 45 c8             	lea    -0x38(%ebp),%eax
4382e1:	50                   	push   %eax
4382e2:	ff 75 f4             	push   -0xc(%ebp)
4382e5:	ff 75 f8             	push   -0x8(%ebp)
4382e8:	ff 75 10             	push   0x10(%ebp)
4382eb:	e8 5d fc ff ff       	call   0x437f4d
4382f0:	83 c4 1c             	add    $0x1c,%esp
4382f3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4382f6:	83 f8 ff             	cmp    $0xffffffff,%eax
4382f9:	75 73                	jne    0x43836e
4382fb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4382fe:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
438303:	8b c1                	mov    %ecx,%eax
438305:	23 c2                	and    %edx,%eax
438307:	3b c2                	cmp    %edx,%eax
438309:	75 31                	jne    0x43833c
43830b:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
43830f:	74 2b                	je     0x43833c
438311:	ff 75 f0             	push   -0x10(%ebp)
438314:	8d 45 c8             	lea    -0x38(%ebp),%eax
438317:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
43831d:	ff 75 e8             	push   -0x18(%ebp)
438320:	89 4d f8             	mov    %ecx,-0x8(%ebp)
438323:	56                   	push   %esi
438324:	50                   	push   %eax
438325:	ff 75 f4             	push   -0xc(%ebp)
438328:	51                   	push   %ecx
438329:	ff 75 10             	push   0x10(%ebp)
43832c:	e8 1c fc ff ff       	call   0x437f4d
438331:	83 c4 1c             	add    $0x1c,%esp
438334:	89 45 e4             	mov    %eax,-0x1c(%ebp)
438337:	83 f8 ff             	cmp    $0xffffffff,%eax
43833a:	75 32                	jne    0x43836e
43833c:	8b 0f                	mov    (%edi),%ecx
43833e:	8b c1                	mov    %ecx,%eax
438340:	c1 f8 05             	sar    $0x5,%eax
438343:	83 e1 1f             	and    $0x1f,%ecx
438346:	c1 e1 06             	shl    $0x6,%ecx
438349:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
438350:	80 64 08 04 fe       	andb   $0xfe,0x4(%eax,%ecx,1)
438355:	ff 15 40 f3 48 00    	call   *0x48f340
43835b:	50                   	push   %eax
43835c:	e8 e6 09 ff ff       	call   0x428d47
438361:	59                   	pop    %ecx
438362:	e8 01 0a ff ff       	call   0x428d68
438367:	8b 18                	mov    (%eax),%ebx
438369:	e9 71 04 00 00       	jmp    0x4387df
43836e:	50                   	push   %eax
43836f:	ff 15 bc f3 48 00    	call   *0x48f3bc
438375:	85 c0                	test   %eax,%eax
438377:	75 42                	jne    0x4383bb
438379:	8b 0f                	mov    (%edi),%ecx
43837b:	8b c1                	mov    %ecx,%eax
43837d:	c1 f8 05             	sar    $0x5,%eax
438380:	83 e1 1f             	and    $0x1f,%ecx
438383:	c1 e1 06             	shl    $0x6,%ecx
438386:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
43838d:	80 64 08 04 fe       	andb   $0xfe,0x4(%eax,%ecx,1)
438392:	ff 15 40 f3 48 00    	call   *0x48f340
438398:	8b f0                	mov    %eax,%esi
43839a:	56                   	push   %esi
43839b:	e8 a7 09 ff ff       	call   0x428d47
4383a0:	59                   	pop    %ecx
4383a1:	ff 75 e4             	push   -0x1c(%ebp)
4383a4:	ff 15 5c f3 48 00    	call   *0x48f35c
4383aa:	85 f6                	test   %esi,%esi
4383ac:	75 b4                	jne    0x438362
4383ae:	e8 b5 09 ff ff       	call   0x428d68
4383b3:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4383b9:	eb a7                	jmp    0x438362
4383bb:	83 f8 02             	cmp    $0x2,%eax
4383be:	75 06                	jne    0x4383c6
4383c0:	80 4d ff 40          	orb    $0x40,-0x1(%ebp)
4383c4:	eb 09                	jmp    0x4383cf
4383c6:	83 f8 03             	cmp    $0x3,%eax
4383c9:	75 04                	jne    0x4383cf
4383cb:	80 4d ff 08          	orb    $0x8,-0x1(%ebp)
4383cf:	ff 75 e4             	push   -0x1c(%ebp)
4383d2:	ff 37                	push   (%edi)
4383d4:	e8 91 53 ff ff       	call   0x42d76a
4383d9:	8a 55 ff             	mov    -0x1(%ebp),%dl
4383dc:	59                   	pop    %ecx
4383dd:	59                   	pop    %ecx
4383de:	8b 0f                	mov    (%edi),%ecx
4383e0:	80 ca 01             	or     $0x1,%dl
4383e3:	8b c1                	mov    %ecx,%eax
4383e5:	88 55 ff             	mov    %dl,-0x1(%ebp)
4383e8:	c1 f8 05             	sar    $0x5,%eax
4383eb:	83 e1 1f             	and    $0x1f,%ecx
4383ee:	c1 e1 06             	shl    $0x6,%ecx
4383f1:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
4383f8:	88 54 08 04          	mov    %dl,0x4(%eax,%ecx,1)
4383fc:	8b 0f                	mov    (%edi),%ecx
4383fe:	8b c1                	mov    %ecx,%eax
438400:	c1 f8 05             	sar    $0x5,%eax
438403:	83 e1 1f             	and    $0x1f,%ecx
438406:	c1 e1 06             	shl    $0x6,%ecx
438409:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
438410:	80 64 08 24 80       	andb   $0x80,0x24(%eax,%ecx,1)
438415:	8a c2                	mov    %dl,%al
438417:	8b 4d 14             	mov    0x14(%ebp),%ecx
43841a:	24 48                	and    $0x48,%al
43841c:	88 45 fd             	mov    %al,-0x3(%ebp)
43841f:	0f 85 96 00 00 00    	jne    0x4384bb
438425:	84 d2                	test   %dl,%dl
438427:	0f 89 b2 02 00 00    	jns    0x4386df
43842d:	f6 c1 02             	test   $0x2,%cl
438430:	0f 84 85 00 00 00    	je     0x4384bb
438436:	6a 02                	push   $0x2
438438:	6a ff                	push   $0xffffffff
43843a:	6a ff                	push   $0xffffffff
43843c:	ff 37                	push   (%edi)
43843e:	e8 ce 96 ff ff       	call   0x431b11
438443:	8b c8                	mov    %eax,%ecx
438445:	89 45 d4             	mov    %eax,-0x2c(%ebp)
438448:	23 ca                	and    %edx,%ecx
43844a:	89 55 ec             	mov    %edx,-0x14(%ebp)
43844d:	83 c4 10             	add    $0x10,%esp
438450:	83 f9 ff             	cmp    $0xffffffff,%ecx
438453:	75 19                	jne    0x43846e
438455:	e8 da 08 ff ff       	call   0x428d34
43845a:	81 38 83 00 00 00    	cmpl   $0x83,(%eax)
438460:	74 53                	je     0x4384b5
438462:	ff 37                	push   (%edi)
438464:	e8 c4 88 ff ff       	call   0x430d2d
438469:	e9 f3 fe ff ff       	jmp    0x438361
43846e:	6a 01                	push   $0x1
438470:	8d 45 dc             	lea    -0x24(%ebp),%eax
438473:	89 5d dc             	mov    %ebx,-0x24(%ebp)
438476:	50                   	push   %eax
438477:	ff 37                	push   (%edi)
438479:	e8 2d 8c ff ff       	call   0x4310ab
43847e:	83 c4 0c             	add    $0xc,%esp
438481:	85 c0                	test   %eax,%eax
438483:	75 1c                	jne    0x4384a1
438485:	66 83 7d dc 1a       	cmpw   $0x1a,-0x24(%ebp)
43848a:	75 15                	jne    0x4384a1
43848c:	ff 75 ec             	push   -0x14(%ebp)
43848f:	ff 75 d4             	push   -0x2c(%ebp)
438492:	ff 37                	push   (%edi)
438494:	e8 59 15 00 00       	call   0x4399f2
438499:	83 c4 0c             	add    $0xc,%esp
43849c:	83 f8 ff             	cmp    $0xffffffff,%eax
43849f:	74 c1                	je     0x438462
4384a1:	53                   	push   %ebx
4384a2:	53                   	push   %ebx
4384a3:	53                   	push   %ebx
4384a4:	ff 37                	push   (%edi)
4384a6:	e8 66 96 ff ff       	call   0x431b11
4384ab:	23 c2                	and    %edx,%eax
4384ad:	83 c4 10             	add    $0x10,%esp
4384b0:	83 f8 ff             	cmp    $0xffffffff,%eax
4384b3:	74 ad                	je     0x438462
4384b5:	8a 55 ff             	mov    -0x1(%ebp),%dl
4384b8:	8b 4d 14             	mov    0x14(%ebp),%ecx
4384bb:	84 d2                	test   %dl,%dl
4384bd:	0f 89 1c 02 00 00    	jns    0x4386df
4384c3:	f7 c1 00 40 07 00    	test   $0x74000,%ecx
4384c9:	75 17                	jne    0x4384e2
4384cb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4384ce:	25 00 40 07 00       	and    $0x74000,%eax
4384d3:	75 08                	jne    0x4384dd
4384d5:	81 c9 00 40 00 00    	or     $0x4000,%ecx
4384db:	eb 02                	jmp    0x4384df
4384dd:	0b c8                	or     %eax,%ecx
4384df:	89 4d 14             	mov    %ecx,0x14(%ebp)
4384e2:	8b c1                	mov    %ecx,%eax
4384e4:	25 00 40 07 00       	and    $0x74000,%eax
4384e9:	3d 00 40 00 00       	cmp    $0x4000,%eax
4384ee:	74 44                	je     0x438534
4384f0:	3d 00 00 01 00       	cmp    $0x10000,%eax
4384f5:	74 29                	je     0x438520
4384f7:	3d 00 40 01 00       	cmp    $0x14000,%eax
4384fc:	74 22                	je     0x438520
4384fe:	3d 00 00 02 00       	cmp    $0x20000,%eax
438503:	74 29                	je     0x43852e
438505:	3d 00 40 02 00       	cmp    $0x24000,%eax
43850a:	74 22                	je     0x43852e
43850c:	3d 00 00 04 00       	cmp    $0x40000,%eax
438511:	74 07                	je     0x43851a
438513:	3d 00 40 04 00       	cmp    $0x44000,%eax
438518:	75 1d                	jne    0x438537
43851a:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
43851e:	eb 17                	jmp    0x438537
438520:	8b c1                	mov    %ecx,%eax
438522:	25 01 03 00 00       	and    $0x301,%eax
438527:	3d 01 03 00 00       	cmp    $0x301,%eax
43852c:	75 09                	jne    0x438537
43852e:	c6 45 fe 02          	movb   $0x2,-0x2(%ebp)
438532:	eb 03                	jmp    0x438537
438534:	88 5d fe             	mov    %bl,-0x2(%ebp)
438537:	f7 c1 00 00 07 00    	test   $0x70000,%ecx
43853d:	0f 84 9c 01 00 00    	je     0x4386df
438543:	89 5d ec             	mov    %ebx,-0x14(%ebp)
438546:	f6 c2 40             	test   $0x40,%dl
438549:	0f 85 90 01 00 00    	jne    0x4386df
43854f:	8b 45 f8             	mov    -0x8(%ebp),%eax
438552:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
438557:	23 c1                	and    %ecx,%eax
438559:	3d 00 00 00 40       	cmp    $0x40000000,%eax
43855e:	0f 84 ed 00 00 00    	je     0x438651
438564:	3d 00 00 00 80       	cmp    $0x80000000,%eax
438569:	74 5b                	je     0x4385c6
43856b:	3b c1                	cmp    %ecx,%eax
43856d:	0f 85 6c 01 00 00    	jne    0x4386df
438573:	85 f6                	test   %esi,%esi
438575:	0f 84 64 01 00 00    	je     0x4386df
43857b:	6a 02                	push   $0x2
43857d:	59                   	pop    %ecx
43857e:	3b f1                	cmp    %ecx,%esi
438580:	0f 86 10 01 00 00    	jbe    0x438696