43821e:	8b f8                	mov    %eax,%edi
438220:	3b 7c 24 04          	cmp    0x4(%esp),%edi
438224:	7e 47                	jle    0x43826d
438226:	8b 7c 24 04          	mov    0x4(%esp),%edi
43822a:	db 44 24 04          	fildl  0x4(%esp)
43822e:	dc 4c 24 08          	fmull  0x8(%esp)
438232:	e8 25 ae fc ff       	call   0x40305c
438237:	8b f0                	mov    %eax,%esi
438239:	eb 32                	jmp    0x43826d
43823b:	8b 7c 24 04          	mov    0x4(%esp),%edi
43823f:	db 44 24 04          	fildl  0x4(%esp)
438243:	dc 4c 24 08          	fmull  0x8(%esp)
438247:	e8 10 ae fc ff       	call   0x40305c
43824c:	8b f0                	mov    %eax,%esi
43824e:	3b 34 24             	cmp    (%esp),%esi
438251:	7e 1a                	jle    0x43826d
438253:	8b 34 24             	mov    (%esp),%esi
438256:	db 04 24             	fildl  (%esp)
438259:	dc 74 24 08          	fdivl  0x8(%esp)
43825d:	e8 fa ad fc ff       	call   0x40305c
438262:	8b f8                	mov    %eax,%edi
438264:	eb 07                	jmp    0x43826d
438266:	8b 34 24             	mov    (%esp),%esi
438269:	8b 7c 24 04          	mov    0x4(%esp),%edi
43826d:	33 c0                	xor    %eax,%eax
43826f:	89 45 00             	mov    %eax,0x0(%ebp)
438272:	33 c0                	xor    %eax,%eax
438274:	89 45 04             	mov    %eax,0x4(%ebp)
438277:	89 75 08             	mov    %esi,0x8(%ebp)
43827a:	89 7d 0c             	mov    %edi,0xc(%ebp)
43827d:	80 bb a9 01 00 00 00 	cmpb   $0x0,0x1a9(%ebx)
438284:	74 22                	je     0x4382a8
438286:	8b 44 24 04          	mov    0x4(%esp),%eax
43828a:	2b c7                	sub    %edi,%eax
43828c:	d1 f8                	sar    $1,%eax
43828e:	79 03                	jns    0x438293
438290:	83 d0 00             	adc    $0x0,%eax
438293:	50                   	push   %eax
438294:	8b 44 24 04          	mov    0x4(%esp),%eax
438298:	2b c6                	sub    %esi,%eax
43829a:	d1 f8                	sar    $1,%eax
43829c:	79 03                	jns    0x4382a1
43829e:	83 d0 00             	adc    $0x0,%eax
4382a1:	50                   	push   %eax
4382a2:	55                   	push   %ebp
4382a3:	e8 00 ef fc ff       	call   0x4071a8
4382a8:	83 c4 18             	add    $0x18,%esp
4382ab:	5d                   	pop    %ebp
4382ac:	5f                   	pop    %edi
4382ad:	5e                   	pop    %esi
4382ae:	5b                   	pop    %ebx
4382af:	c3                   	ret
4382b0:	55                   	push   %ebp
4382b1:	8b ec                	mov    %esp,%ebp
4382b3:	83 c4 e8             	add    $0xffffffe8,%esp
4382b6:	53                   	push   %ebx
4382b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4382ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382bd:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4382c1:	74 36                	je     0x4382f9
4382c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382c6:	8b 98 90 01 00 00    	mov    0x190(%eax),%ebx
4382cc:	8b 43 10             	mov    0x10(%ebx),%eax
4382cf:	b2 01                	mov    $0x1,%dl
4382d1:	e8 16 c4 fe ff       	call   0x4246ec
4382d6:	8b 43 14             	mov    0x14(%ebx),%eax
4382d9:	b2 01                	mov    $0x1,%dl
4382db:	e8 2c c7 fe ff       	call   0x424a0c
4382e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382e3:	8b 40 48             	mov    0x48(%eax),%eax
4382e6:	50                   	push   %eax
4382e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382ea:	8b 40 4c             	mov    0x4c(%eax),%eax
4382ed:	50                   	push   %eax
4382ee:	33 c9                	xor    %ecx,%ecx
4382f0:	33 d2                	xor    %edx,%edx
4382f2:	8b c3                	mov    %ebx,%eax
4382f4:	e8 db ca fe ff       	call   0x424dd4
4382f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382fc:	0f b6 80 ac 01 00 00 	movzbl 0x1ac(%eax),%eax
438303:	88 45 fb             	mov    %al,-0x5(%ebp)
438306:	8b 45 fc             	mov    -0x4(%ebp),%eax
438309:	c6 80 ac 01 00 00 01 	movb   $0x1,0x1ac(%eax)
438310:	33 c0                	xor    %eax,%eax
438312:	55                   	push   %ebp
438313:	68 63 83 43 00       	push   $0x438363
438318:	64 ff 30             	push   %fs:(%eax)
43831b:	64 89 20             	mov    %esp,%fs:(%eax)
43831e:	8b 45 fc             	mov    -0x4(%ebp),%eax
438321:	8b 98 90 01 00 00    	mov    0x190(%eax),%ebx
438327:	8d 55 e8             	lea    -0x18(%ebp),%edx
43832a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43832d:	e8 52 fe ff ff       	call   0x438184
438332:	8d 55 e8             	lea    -0x18(%ebp),%edx
438335:	8b 45 fc             	mov    -0x4(%ebp),%eax
438338:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
43833e:	8b 48 0c             	mov    0xc(%eax),%ecx
438341:	8b c3                	mov    %ebx,%eax
438343:	e8 d4 ca fe ff       	call   0x424e1c
438348:	33 c0                	xor    %eax,%eax
43834a:	5a                   	pop    %edx
43834b:	59                   	pop    %ecx
43834c:	59                   	pop    %ecx
43834d:	64 89 10             	mov    %edx,%fs:(%eax)
438350:	68 6a 83 43 00       	push   $0x43836a
438355:	8b 45 fc             	mov    -0x4(%ebp),%eax
438358:	0f b6 55 fb          	movzbl -0x5(%ebp),%edx
43835c:	88 90 ac 01 00 00    	mov    %dl,0x1ac(%eax)
438362:	c3                   	ret
438363:	e9 48 bd fc ff       	jmp    0x4040b0
438368:	eb eb                	jmp    0x438355
43836a:	5b                   	pop    %ebx
43836b:	8b e5                	mov    %ebp,%esp
43836d:	5d                   	pop    %ebp
43836e:	c3                   	ret
43836f:	90                   	nop
438370:	53                   	push   %ebx
438371:	56                   	push   %esi
438372:	57                   	push   %edi
438373:	55                   	push   %ebp
438374:	8b e8                	mov    %eax,%ebp
438376:	33 db                	xor    %ebx,%ebx
438378:	8b 85 98 01 00 00    	mov    0x198(%ebp),%eax
43837e:	8b 70 0c             	mov    0xc(%eax),%esi
438381:	80 7d 57 00          	cmpb   $0x0,0x57(%ebp)
438385:	74 7b                	je     0x438402
438387:	f6 45 1c 01          	testb  $0x1,0x1c(%ebp)
43838b:	75 75                	jne    0x438402
43838d:	85 f6                	test   %esi,%esi
43838f:	74 71                	je     0x438402
438391:	80 7e 22 00          	cmpb   $0x0,0x22(%esi)
438395:	74 6b                	je     0x438402
438397:	8b c6                	mov    %esi,%eax
438399:	8b 10                	mov    (%eax),%edx
43839b:	ff 52 24             	call   *0x24(%edx)
43839e:	85 c0                	test   %eax,%eax
4383a0:	75 06                	jne    0x4383a8
4383a2:	c6 46 22 00          	movb   $0x0,0x22(%esi)
4383a6:	eb 5a                	jmp    0x438402
4383a8:	b2 01                	mov    $0x1,%dl
4383aa:	8b c5                	mov    %ebp,%eax
4383ac:	e8 0f 43 02 00       	call   0x45c6c0
4383b1:	8b f8                	mov    %eax,%edi
4383b3:	85 ff                	test   %edi,%edi
4383b5:	74 4b                	je     0x438402
4383b7:	80 bf 76 02 00 00 00 	cmpb   $0x0,0x276(%edi)
4383be:	74 42                	je     0x438402
4383c0:	8b c7                	mov    %edi,%eax
4383c2:	e8 85 99 01 00       	call   0x451d4c
4383c7:	84 c0                	test   %al,%al
4383c9:	74 37                	je     0x438402
4383cb:	80 bd ac 01 00 00 00 	cmpb   $0x0,0x1ac(%ebp)
4383d2:	74 12                	je     0x4383e6
4383d4:	6a 00                	push   $0x0
4383d6:	33 c9                	xor    %ecx,%ecx
4383d8:	ba 0f 03 00 00       	mov    $0x30f,%edx
4383dd:	8b c7                	mov    %edi,%eax
4383df:	e8 48 2d 01 00       	call   0x44b12c
4383e4:	eb 16                	jmp    0x4383fc
4383e6:	6a 00                	push   $0x0
4383e8:	6a 00                	push   $0x0
4383ea:	68 0f 03 00 00       	push   $0x30f
4383ef:	8b c7                	mov    %edi,%eax
4383f1:	e8 b6 95 01 00       	call   0x4519ac
4383f6:	50                   	push   %eax
4383f7:	e8 cc ed fc ff       	call   0x4071c8
4383fc:	b3 01                	mov    $0x1,%bl
4383fe:	c6 46 22 00          	movb   $0x0,0x22(%esi)
438402:	8b c3                	mov    %ebx,%eax
438404:	5d                   	pop    %ebp
438405:	5f                   	pop    %edi
438406:	5e                   	pop    %esi
438407:	5b                   	pop    %ebx
438408:	c3                   	ret
438409:	8d 40 00             	lea    0x0(%eax),%eax
43840c:	55                   	push   %ebp
43840d:	8b ec                	mov    %esp,%ebp
43840f:	51                   	push   %ecx
438410:	53                   	push   %ebx
438411:	56                   	push   %esi
438412:	57                   	push   %edi
438413:	88 4d ff             	mov    %cl,-0x1(%ebp)
438416:	8b fa                	mov    %edx,%edi
438418:	8b f0                	mov    %eax,%esi
43841a:	8b 5d 10             	mov    0x10(%ebp),%ebx
43841d:	84 9e aa 01 00 00    	test   %bl,0x1aa(%esi)
438423:	74 21                	je     0x438446
438425:	8b c6                	mov    %esi,%eax
438427:	e8 44 ff ff ff       	call   0x438370
43842c:	84 c0                	test   %al,%al
43842e:	74 0c                	je     0x43843c
438430:	8b c6                	mov    %esi,%eax
438432:	8b 10                	mov    (%eax),%edx
438434:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
43843a:	eb 0a                	jmp    0x438446
43843c:	8b c6                	mov    %esi,%eax
43843e:	8b 10                	mov    (%eax),%edx
438440:	ff 92 90 00 00 00    	call   *0x90(%edx)
438446:	66 83 be a2 01 00 00 	cmpw   $0x0,0x1a2(%esi)
43844d:	00
43844e:	74 20                	je     0x438470
438450:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
438454:	50                   	push   %eax
438455:	53                   	push   %ebx
438456:	8b 45 0c             	mov    0xc(%ebp),%eax
438459:	50                   	push   %eax
43845a:	8b 45 08             	mov    0x8(%ebp),%eax
43845d:	50                   	push   %eax
43845e:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
438462:	8b d7                	mov    %edi,%edx
438464:	8b 86 a4 01 00 00    	mov    0x1a4(%esi),%eax
43846a:	ff 96 a0 01 00 00    	call   *0x1a0(%esi)
438470:	5f                   	pop    %edi
438471:	5e                   	pop    %esi
438472:	5b                   	pop    %ebx
438473:	59                   	pop    %ecx
438474:	5d                   	pop    %ebp
438475:	c2 10 00             	ret    $0x10
438478:	3a 90 a9 01 00 00    	cmp    0x1a9(%eax),%dl
43847e:	74 0d                	je     0x43848d
438480:	88 90 a9 01 00 00    	mov    %dl,0x1a9(%eax)
438486:	8b d0                	mov    %eax,%edx
438488:	e8 5b 00 00 00       	call   0x4384e8
43848d:	c3                   	ret
43848e:	8b c0                	mov    %eax,%eax
438490:	56                   	push   %esi
438491:	8b f0                	mov    %eax,%esi
438493:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438499:	8b 08                	mov    (%eax),%ecx
43849b:	ff 51 08             	call   *0x8(%ecx)
43849e:	5e                   	pop    %esi
43849f:	c3                   	ret
4384a0:	3a 90 a8 01 00 00    	cmp    0x1a8(%eax),%dl
4384a6:	74 0d                	je     0x4384b5
4384a8:	88 90 a8 01 00 00    	mov    %dl,0x1a8(%eax)
4384ae:	8b d0                	mov    %eax,%edx
4384b0:	e8 33 00 00 00       	call   0x4384e8
4384b5:	c3                   	ret
4384b6:	8b c0                	mov    %eax,%eax
4384b8:	3a 90 ab 01 00 00    	cmp    0x1ab(%eax),%dl
4384be:	74 0d                	je     0x4384cd
4384c0:	88 90 ab 01 00 00    	mov    %dl,0x1ab(%eax)
4384c6:	8b d0                	mov    %eax,%edx
4384c8:	e8 1b 00 00 00       	call   0x4384e8
4384cd:	c3                   	ret
4384ce:	8b c0                	mov    %eax,%eax
4384d0:	3a 90 ad 01 00 00    	cmp    0x1ad(%eax),%dl
4384d6:	74 0d                	je     0x4384e5
4384d8:	88 90 ad 01 00 00    	mov    %dl,0x1ad(%eax)
4384de:	8b d0                	mov    %eax,%edx
4384e0:	e8 03 00 00 00       	call   0x4384e8
4384e5:	c3                   	ret
4384e6:	8b c0                	mov    %eax,%eax
4384e8:	53                   	push   %ebx
4384e9:	56                   	push   %esi
4384ea:	83 c4 f0             	add    $0xfffffff0,%esp
4384ed:	8b f0                	mov    %eax,%esi
4384ef:	80 7e 5c 00          	cmpb   $0x0,0x5c(%esi)
4384f3:	74 46                	je     0x43853b
4384f5:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4384fb:	e8 84 f0 fe ff       	call   0x427584
438500:	85 c0                	test   %eax,%eax
438502:	7e 37                	jle    0x43853b
438504:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
43850a:	e8 8d f0 fe ff       	call   0x42759c
43850f:	85 c0                	test   %eax,%eax
438511:	7e 28                	jle    0x43853b
438513:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438519:	e8 66 f0 fe ff       	call   0x427584
43851e:	50                   	push   %eax
43851f:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438525:	e8 72 f0 fe ff       	call   0x42759c
43852a:	50                   	push   %eax
43852b:	8b 4e 44             	mov    0x44(%esi),%ecx
43852e:	8b 56 40             	mov    0x40(%esi),%edx
438531:	8b c6                	mov    %esi,%eax
438533:	8b 18                	mov    (%eax),%ebx
438535:	ff 93 88 00 00 00    	call   *0x88(%ebx)
43853b:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
438541:	8b 58 0c             	mov    0xc(%eax),%ebx
438544:	85 db                	test   %ebx,%ebx
438546:	0f 84 9d 00 00 00    	je     0x4385e9
43854c:	8b c3                	mov    %ebx,%eax
43854e:	8b 15 90 2e 42 00    	mov    0x422e90,%edx
438554:	e8 4f b5 fc ff       	call   0x403aa8
438559:	84 c0                	test   %al,%al
43855b:	75 1f                	jne    0x43857c
43855d:	8b c3                	mov    %ebx,%eax
43855f:	8b 15 1c 31 42 00    	mov    0x42311c,%edx
438565:	e8 3e b5 fc ff       	call   0x403aa8
43856a:	84 c0                	test   %al,%al
43856c:	75 0e                	jne    0x43857c
43856e:	0f b6 96 ab 01 00 00 	movzbl 0x1ab(%esi),%edx
438575:	8b c3                	mov    %ebx,%eax
438577:	8b 08                	mov    (%eax),%ecx
438579:	ff 51 3c             	call   *0x3c(%ecx)
43857c:	8b d4                	mov    %esp,%edx
43857e:	8b c6                	mov    %esi,%eax
438580:	e8 ff fb ff ff       	call   0x438184
438585:	8b c3                	mov    %ebx,%eax
438587:	8b 10                	mov    (%eax),%edx
438589:	ff 52 28             	call   *0x28(%edx)
43858c:	84 c0                	test   %al,%al
43858e:	75 2c                	jne    0x4385bc
438590:	83 3c 24 00          	cmpl   $0x0,(%esp)
438594:	7f 26                	jg     0x4385bc
438596:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
43859b:	7f 1f                	jg     0x4385bc
43859d:	8b 44 24 08          	mov    0x8(%esp),%eax
4385a1:	3b 46 48             	cmp    0x48(%esi),%eax
4385a4:	7c 16                	jl     0x4385bc
4385a6:	8b 44 24 0c          	mov    0xc(%esp),%eax
4385aa:	3b 46 4c             	cmp    0x4c(%esi),%eax
4385ad:	7c 0d                	jl     0x4385bc
4385af:	a1 10 86 43 00       	mov    0x438610,%eax
4385b4:	0b 46 50             	or     0x50(%esi),%eax
4385b7:	89 46 50             	mov    %eax,0x50(%esi)
4385ba:	eb 0d                	jmp    0x4385c9
4385bc:	a1 10 86 43 00       	mov    0x438610,%eax
4385c1:	f7 d0                	not    %eax
4385c3:	23 46 50             	and    0x50(%esi),%eax
4385c6:	89 46 50             	mov    %eax,0x50(%esi)
4385c9:	8b c6                	mov    %esi,%eax
4385cb:	e8 a0 fd ff ff       	call   0x438370
4385d0:	84 c0                	test   %al,%al
4385d2:	74 22                	je     0x4385f6
4385d4:	80 be ac 01 00 00 00 	cmpb   $0x0,0x1ac(%esi)
4385db:	74 19                	je     0x4385f6
4385dd:	8b c6                	mov    %esi,%eax
4385df:	8b 10                	mov    (%eax),%edx
4385e1:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
4385e7:	eb 0d                	jmp    0x4385f6
4385e9:	a1 10 86 43 00       	mov    0x438610,%eax
4385ee:	f7 d0                	not    %eax
4385f0:	23 46 50             	and    0x50(%esi),%eax
4385f3:	89 46 50             	mov    %eax,0x50(%esi)
4385f6:	80 be ac 01 00 00 00 	cmpb   $0x0,0x1ac(%esi)
4385fd:	75 0a                	jne    0x438609
4385ff:	8b c6                	mov    %esi,%eax
438601:	8b 10                	mov    (%eax),%edx
438603:	ff 92 80 00 00 00    	call   *0x80(%edx)
438609:	83 c4 10             	add    $0x10,%esp
43860c:	5e                   	pop    %esi
43860d:	5b                   	pop    %ebx
43860e:	c3                   	ret
43860f:	00 40 00             	add    %al,0x0(%eax)
438612:	00 00                	add    %al,(%eax)
438614:	53                   	push   %ebx
438615:	56                   	push   %esi
438616:	57                   	push   %edi