438347:	8b 10                	mov    (%eax),%edx
438349:	ff 52 4c             	call   *0x4c(%edx)
43834c:	c3                   	ret
43834d:	8d 40 00             	lea    0x0(%eax),%eax
438350:	53                   	push   %ebx
438351:	8b d8                	mov    %eax,%ebx
438353:	8b 43 38             	mov    0x38(%ebx),%eax
438356:	8b 10                	mov    (%eax),%edx
438358:	ff 52 4c             	call   *0x4c(%edx)
43835b:	85 c0                	test   %eax,%eax
43835d:	74 0d                	je     0x43836c
43835f:	8b 43 38             	mov    0x38(%ebx),%eax
438362:	8b 10                	mov    (%eax),%edx
438364:	ff 52 4c             	call   *0x4c(%edx)
438367:	e8 a4 ac 00 00       	call   0x443010
43836c:	5b                   	pop    %ebx
43836d:	c3                   	ret
43836e:	8b c0                	mov    %eax,%eax
438370:	53                   	push   %ebx
438371:	8b d8                	mov    %eax,%ebx
438373:	8b 43 38             	mov    0x38(%ebx),%eax
438376:	8b 10                	mov    (%eax),%edx
438378:	ff 52 4c             	call   *0x4c(%edx)
43837b:	85 c0                	test   %eax,%eax
43837d:	74 0d                	je     0x43838c
43837f:	8b 43 38             	mov    0x38(%ebx),%eax
438382:	8b 10                	mov    (%eax),%edx
438384:	ff 52 4c             	call   *0x4c(%edx)
438387:	e8 6c ac 00 00       	call   0x442ff8
43838c:	5b                   	pop    %ebx
43838d:	c3                   	ret
43838e:	8b c0                	mov    %eax,%eax
438390:	c3                   	ret
438391:	8d 40 00             	lea    0x0(%eax),%eax
438394:	55                   	push   %ebp
438395:	8b ec                	mov    %esp,%ebp
438397:	51                   	push   %ecx
438398:	53                   	push   %ebx
438399:	56                   	push   %esi
43839a:	84 d2                	test   %dl,%dl
43839c:	74 08                	je     0x4383a6
43839e:	83 c4 f0             	add    $0xfffffff0,%esp
4383a1:	e8 ea b1 fc ff       	call   0x403590
4383a6:	88 55 ff             	mov    %dl,-0x1(%ebp)
4383a9:	8b d8                	mov    %eax,%ebx
4383ab:	33 d2                	xor    %edx,%edx
4383ad:	8b c3                	mov    %ebx,%eax
4383af:	e8 c8 fe ff ff       	call   0x43827c
4383b4:	b2 01                	mov    $0x1,%dl
4383b6:	a1 4c b4 41 00       	mov    0x41b44c,%eax
4383bb:	e8 7c 4d fe ff       	call   0x41d13c
4383c0:	8b f0                	mov    %eax,%esi
4383c2:	89 73 40             	mov    %esi,0x40(%ebx)
4383c5:	ba ff ff ff 00       	mov    $0xffffff,%edx
4383ca:	33 c0                	xor    %eax,%eax
4383cc:	e8 c7 b9 fe ff       	call   0x423d98
4383d1:	8b d0                	mov    %eax,%edx
4383d3:	8b c6                	mov    %esi,%eax
4383d5:	e8 de 4e fe ff       	call   0x41d2b8
4383da:	8b c3                	mov    %ebx,%eax
4383dc:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4383e0:	74 0f                	je     0x4383f1
4383e2:	e8 01 b2 fc ff       	call   0x4035e8
4383e7:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4383ee:	83 c4 0c             	add    $0xc,%esp
4383f1:	8b c3                	mov    %ebx,%eax
4383f3:	5e                   	pop    %esi
4383f4:	5b                   	pop    %ebx
4383f5:	59                   	pop    %ecx
4383f6:	5d                   	pop    %ebp
4383f7:	c3                   	ret
4383f8:	53                   	push   %ebx
4383f9:	56                   	push   %esi
4383fa:	e8 f9 b1 fc ff       	call   0x4035f8
4383ff:	8b da                	mov    %edx,%ebx
438401:	8b f0                	mov    %eax,%esi
438403:	8b 46 40             	mov    0x40(%esi),%eax
438406:	e8 61 ae fc ff       	call   0x40326c
43840b:	8b d3                	mov    %ebx,%edx
43840d:	80 e2 fc             	and    $0xfc,%dl
438410:	8b c6                	mov    %esi,%eax
438412:	e8 45 ae fc ff       	call   0x40325c
438417:	84 db                	test   %bl,%bl
438419:	7e 07                	jle    0x438422
43841b:	8b c6                	mov    %esi,%eax
43841d:	e8 be b1 fc ff       	call   0x4035e0
438422:	5e                   	pop    %esi
438423:	5b                   	pop    %ebx
438424:	c3                   	ret
438425:	8d 40 00             	lea    0x0(%eax),%eax
438428:	53                   	push   %ebx
438429:	56                   	push   %esi
43842a:	57                   	push   %edi
43842b:	8b f2                	mov    %edx,%esi
43842d:	8b d8                	mov    %eax,%ebx
43842f:	8b d6                	mov    %esi,%edx
438431:	8b c3                	mov    %ebx,%eax
438433:	e8 68 fe ff ff       	call   0x4382a0
438438:	8b c6                	mov    %esi,%eax
43843a:	8b 15 a8 59 43 00    	mov    0x4359a8,%edx
438440:	e8 b3 af fc ff       	call   0x4033f8
438445:	84 c0                	test   %al,%al
438447:	74 37                	je     0x438480
438449:	8b c6                	mov    %esi,%eax
43844b:	8a 50 54             	mov    0x54(%eax),%dl
43844e:	88 53 54             	mov    %dl,0x54(%ebx)
438451:	8b 50 58             	mov    0x58(%eax),%edx
438454:	89 53 58             	mov    %edx,0x58(%ebx)
438457:	8a 50 6c             	mov    0x6c(%eax),%dl
43845a:	88 53 6c             	mov    %dl,0x6c(%ebx)
43845d:	56                   	push   %esi
43845e:	8d 70 44             	lea    0x44(%eax),%esi
438461:	8d 7b 44             	lea    0x44(%ebx),%edi
438464:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438465:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438466:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438467:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438468:	5e                   	pop    %esi
438469:	56                   	push   %esi
43846a:	8d 70 5c             	lea    0x5c(%eax),%esi
43846d:	8d 7b 5c             	lea    0x5c(%ebx),%edi
438470:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438471:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438472:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438473:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438474:	5e                   	pop    %esi
438475:	8b 50 40             	mov    0x40(%eax),%edx
438478:	8b 43 40             	mov    0x40(%ebx),%eax
43847b:	8b 08                	mov    (%eax),%ecx
43847d:	ff 51 08             	call   *0x8(%ecx)
438480:	5f                   	pop    %edi
438481:	5e                   	pop    %esi
438482:	5b                   	pop    %ebx
438483:	c3                   	ret
438484:	55                   	push   %ebp
438485:	8b ec                	mov    %esp,%ebp
438487:	56                   	push   %esi
438488:	57                   	push   %edi
438489:	8b fa                	mov    %edx,%edi
43848b:	8b f0                	mov    %eax,%esi
43848d:	8b 45 08             	mov    0x8(%ebp),%eax
438490:	50                   	push   %eax
438491:	8b d7                	mov    %edi,%edx
438493:	8b 46 38             	mov    0x38(%esi),%eax
438496:	66 be e5 ff          	mov    $0xffe5,%si
43849a:	e8 c9 af fc ff       	call   0x403468
43849f:	5f                   	pop    %edi
4384a0:	5e                   	pop    %esi
4384a1:	5d                   	pop    %ebp
4384a2:	c2 04 00             	ret    $0x4
4384a5:	8d 40 00             	lea    0x0(%eax),%eax
4384a8:	53                   	push   %ebx
4384a9:	56                   	push   %esi
4384aa:	8b da                	mov    %edx,%ebx
4384ac:	8b c8                	mov    %eax,%ecx
4384ae:	8b c1                	mov    %ecx,%eax
4384b0:	99                   	cltd
4384b1:	33 c2                	xor    %edx,%eax
4384b3:	2b c2                	sub    %edx,%eax
4384b5:	8b f0                	mov    %eax,%esi
4384b7:	8b c3                	mov    %ebx,%eax
4384b9:	99                   	cltd
4384ba:	33 c2                	xor    %edx,%eax
4384bc:	2b c2                	sub    %edx,%eax
4384be:	3b f0                	cmp    %eax,%esi
4384c0:	7d 05                	jge    0x4384c7
4384c2:	8b c1                	mov    %ecx,%eax
4384c4:	5e                   	pop    %esi
4384c5:	5b                   	pop    %ebx
4384c6:	c3                   	ret
4384c7:	8b c3                	mov    %ebx,%eax
4384c9:	5e                   	pop    %esi
4384ca:	5b                   	pop    %ebx
4384cb:	c3                   	ret
4384cc:	53                   	push   %ebx
4384cd:	56                   	push   %esi
4384ce:	57                   	push   %edi
4384cf:	83 c4 f0             	add    $0xfffffff0,%esp
4384d2:	8b f2                	mov    %edx,%esi
4384d4:	8d 3c 24             	lea    (%esp),%edi
4384d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384db:	8b d8                	mov    %eax,%ebx
4384dd:	8b 43 0c             	mov    0xc(%ebx),%eax
4384e0:	8b 14 24             	mov    (%esp),%edx
4384e3:	3b c2                	cmp    %edx,%eax
4384e5:	7c 06                	jl     0x4384ed
4384e7:	3b 44 24 08          	cmp    0x8(%esp),%eax
4384eb:	7e 14                	jle    0x438501
4384ed:	2b d0                	sub    %eax,%edx
4384ef:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4384f3:	2b c8                	sub    %eax,%ecx
4384f5:	8b c1                	mov    %ecx,%eax
4384f7:	92                   	xchg   %eax,%edx
4384f8:	e8 ab ff ff ff       	call   0x4384a8
4384fd:	8b f0                	mov    %eax,%esi
4384ff:	eb 02                	jmp    0x438503
438501:	33 f6                	xor    %esi,%esi
438503:	8b 43 10             	mov    0x10(%ebx),%eax
438506:	8b 54 24 04          	mov    0x4(%esp),%edx
43850a:	3b c2                	cmp    %edx,%eax
43850c:	7c 06                	jl     0x438514
43850e:	3b 44 24 0c          	cmp    0xc(%esp),%eax
438512:	7e 12                	jle    0x438526
438514:	2b d0                	sub    %eax,%edx
438516:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43851a:	2b c8                	sub    %eax,%ecx
43851c:	8b c1                	mov    %ecx,%eax
43851e:	92                   	xchg   %eax,%edx
43851f:	e8 84 ff ff ff       	call   0x4384a8
438524:	eb 02                	jmp    0x438528
438526:	33 c0                	xor    %eax,%eax
438528:	85 f6                	test   %esi,%esi
43852a:	75 04                	jne    0x438530
43852c:	85 c0                	test   %eax,%eax
43852e:	74 0f                	je     0x43853f
438530:	f7 d8                	neg    %eax
438532:	50                   	push   %eax
438533:	f7 de                	neg    %esi
438535:	56                   	push   %esi
438536:	8d 43 44             	lea    0x44(%ebx),%eax
438539:	50                   	push   %eax
43853a:	e8 59 e2 fc ff       	call   0x406798
43853f:	83 c4 10             	add    $0x10,%esp
438542:	5f                   	pop    %edi
438543:	5e                   	pop    %esi
438544:	5b                   	pop    %ebx
438545:	c3                   	ret
438546:	8b c0                	mov    %eax,%eax
438548:	56                   	push   %esi
438549:	8b f0                	mov    %eax,%esi
43854b:	8b d6                	mov    %esi,%edx
43854d:	8b 46 38             	mov    0x38(%esi),%eax
438550:	66 be db ff          	mov    $0xffdb,%si
438554:	e8 0f af fc ff       	call   0x403468
438559:	5e                   	pop    %esi
43855a:	c3                   	ret
43855b:	90                   	nop
43855c:	56                   	push   %esi
43855d:	8b f0                	mov    %eax,%esi
43855f:	8b d6                	mov    %esi,%edx
438561:	8b 46 38             	mov    0x38(%esi),%eax
438564:	66 be da ff          	mov    $0xffda,%si
438568:	e8 fb ae fc ff       	call   0x403468
43856d:	5e                   	pop    %esi
43856e:	c3                   	ret
43856f:	90                   	nop
438570:	55                   	push   %ebp
438571:	8b ec                	mov    %esp,%ebp
438573:	33 c0                	xor    %eax,%eax
438575:	5d                   	pop    %ebp
438576:	c2 04 00             	ret    $0x4
438579:	8d 40 00             	lea    0x0(%eax),%eax
43857c:	b8 04 00 00 00       	mov    $0x4,%eax
438581:	c3                   	ret
438582:	8b c0                	mov    %eax,%eax
438584:	c3                   	ret
438585:	8d 40 00             	lea    0x0(%eax),%eax
438588:	55                   	push   %ebp
438589:	8b ec                	mov    %esp,%ebp
43858b:	83 c4 f0             	add    $0xfffffff0,%esp
43858e:	53                   	push   %ebx
43858f:	56                   	push   %esi
438590:	57                   	push   %edi
438591:	8b 5d 0c             	mov    0xc(%ebp),%ebx
438594:	8b 75 08             	mov    0x8(%ebp),%esi
438597:	8b fb                	mov    %ebx,%edi
438599:	3b 77 04             	cmp    0x4(%edi),%esi
43859c:	75 04                	jne    0x4385a2
43859e:	33 c0                	xor    %eax,%eax
4385a0:	eb 46                	jmp    0x4385e8
4385a2:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
4385a6:	75 20                	jne    0x4385c8
4385a8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4385ab:	50                   	push   %eax
4385ac:	56                   	push   %esi
4385ad:	e8 0e e1 fc ff       	call   0x4066c0
4385b2:	ff 77 10             	push   0x10(%edi)
4385b5:	ff 77 0c             	push   0xc(%edi)
4385b8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4385bb:	50                   	push   %eax
4385bc:	e8 f7 e1 fc ff       	call   0x4067b8
4385c1:	85 c0                	test   %eax,%eax
4385c3:	74 03                	je     0x4385c8
4385c5:	89 77 08             	mov    %esi,0x8(%edi)
4385c8:	8b d3                	mov    %ebx,%edx
4385ca:	3b 72 08             	cmp    0x8(%edx),%esi
4385cd:	75 08                	jne    0x4385d7
4385cf:	33 c0                	xor    %eax,%eax
4385d1:	c6 42 14 01          	movb   $0x1,0x14(%edx)
4385d5:	eb 11                	jmp    0x4385e8
4385d7:	3b 32                	cmp    (%edx),%esi
4385d9:	75 0a                	jne    0x4385e5
4385db:	83 c8 ff             	or     $0xffffffff,%eax
4385de:	33 c9                	xor    %ecx,%ecx
4385e0:	89 4a 08             	mov    %ecx,0x8(%edx)
4385e3:	eb 03                	jmp    0x4385e8
4385e5:	83 c8 ff             	or     $0xffffffff,%eax
4385e8:	5f                   	pop    %edi
4385e9:	5e                   	pop    %esi
4385ea:	5b                   	pop    %ebx
4385eb:	8b e5                	mov    %ebp,%esp
4385ed:	5d                   	pop    %ebp
4385ee:	c2 08 00             	ret    $0x8
4385f1:	8d 40 00             	lea    0x0(%eax),%eax
4385f4:	55                   	push   %ebp
4385f5:	8b ec                	mov    %esp,%ebp
4385f7:	83 c4 c4             	add    $0xffffffc4,%esp
4385fa:	53                   	push   %ebx
4385fb:	56                   	push   %esi
4385fc:	57                   	push   %edi
4385fd:	8b d8                	mov    %eax,%ebx
4385ff:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
438603:	8b 45 08             	mov    0x8(%ebp),%eax
438606:	83 c0 f7             	add    $0xfffffff7,%eax
438609:	e8 36 04 00 00       	call   0x438a44
43860e:	8b f0                	mov    %eax,%esi
438610:	89 75 ec             	mov    %esi,-0x14(%ebp)
438613:	6a 04                	push   $0x4
438615:	56                   	push   %esi
438616:	e8 85 e0 fc ff       	call   0x4066a0
43861b:	8b 15 0c 7f 46 00    	mov    0x467f0c,%edx
438621:	8b 12                	mov    (%edx),%edx
438623:	3b 42 30             	cmp    0x30(%edx),%eax
438626:	74 27                	je     0x43864f
438628:	8b 45 ec             	mov    -0x14(%ebp),%eax
43862b:	e8 dc f4 ff ff       	call   0x437b0c
438630:	8b f0                	mov    %eax,%esi
438632:	85 f6                	test   %esi,%esi
438634:	0f 84 48 01 00 00    	je     0x438782
43863a:	eb 02                	jmp    0x43863e
43863c:	8b f0                	mov    %eax,%esi
43863e:	8b 46 30             	mov    0x30(%esi),%eax
438641:	85 c0                	test   %eax,%eax
438643:	75 f7                	jne    0x43863c
438645:	8b c6                	mov    %esi,%eax
438647:	e8 10 8e 00 00       	call   0x44145c
43864c:	89 45 ec             	mov    %eax,-0x14(%ebp)
43864f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
438653:	0f 84 29 01 00 00    	je     0x438782
438659:	8b f3                	mov    %ebx,%esi
43865b:	eb 02                	jmp    0x43865f
43865d:	8b f0                	mov    %eax,%esi
43865f:	8b 46 30             	mov    0x30(%esi),%eax
438662:	85 c0                	test   %eax,%eax
438664:	75 f7                	jne    0x43865d
438666:	8b c6                	mov    %esi,%eax
438668:	e8 ef 8d 00 00       	call   0x44145c