439386:	0f 84 01 01 00 00    	je     0x43948d
43938c:	ff 75 f8             	push   -0x8(%ebp)
43938f:	8b c8                	mov    %eax,%ecx
439391:	e8 5a 48 00 00       	call   0x43dbf0
439396:	8b f8                	mov    %eax,%edi
439398:	85 ff                	test   %edi,%edi
43939a:	0f 84 ed 00 00 00    	je     0x43948d
4393a0:	8b 43 0c             	mov    0xc(%ebx),%eax
4393a3:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4393a9:	85 c0                	test   %eax,%eax
4393ab:	75 08                	jne    0x4393b5
4393ad:	89 47 04             	mov    %eax,0x4(%edi)
4393b0:	89 7b 10             	mov    %edi,0x10(%ebx)
4393b3:	eb 0b                	jmp    0x4393c0
4393b5:	8b 43 0c             	mov    0xc(%ebx),%eax
4393b8:	89 47 04             	mov    %eax,0x4(%edi)
4393bb:	8b 43 0c             	mov    0xc(%ebx),%eax
4393be:	89 38                	mov    %edi,(%eax)
4393c0:	89 7b 0c             	mov    %edi,0xc(%ebx)
4393c3:	8b b7 10 02 00 00    	mov    0x210(%edi),%esi
4393c9:	e8 32 40 ff ff       	call   0x42d400
4393ce:	2b c6                	sub    %esi,%eax
4393d0:	78 33                	js     0x439405
4393d2:	33 c0                	xor    %eax,%eax
4393d4:	66 89 87 14 02 00 00 	mov    %ax,0x214(%edi)
4393db:	66 89 87 1c 04 00 00 	mov    %ax,0x41c(%edi)
4393e2:	66 89 87 24 06 00 00 	mov    %ax,0x624(%edi)
4393e9:	89 87 2c 08 00 00    	mov    %eax,0x82c(%edi)
4393ef:	89 87 30 08 00 00    	mov    %eax,0x830(%edi)
4393f5:	e8 06 40 ff ff       	call   0x42d400
4393fa:	05 a0 86 01 00       	add    $0x186a0,%eax
4393ff:	89 87 10 02 00 00    	mov    %eax,0x210(%edi)
439405:	51                   	push   %ecx
439406:	ff 75 fc             	push   -0x4(%ebp)
439409:	ba 04 01 00 00       	mov    $0x104,%edx
43940e:	51                   	push   %ecx
43940f:	8d 8f 1c 04 00 00    	lea    0x41c(%edi),%ecx
439415:	e8 96 be fd ff       	call   0x4152b0
43941a:	8b c8                	mov    %eax,%ecx
43941c:	e8 bf f8 fe ff       	call   0x428ce0
439421:	8b b7 10 02 00 00    	mov    0x210(%edi),%esi
439427:	e8 d4 3f ff ff       	call   0x42d400
43942c:	2b c6                	sub    %esi,%eax
43942e:	78 33                	js     0x439463
439430:	33 c0                	xor    %eax,%eax
439432:	66 89 87 14 02 00 00 	mov    %ax,0x214(%edi)
439439:	66 89 87 1c 04 00 00 	mov    %ax,0x41c(%edi)
439440:	66 89 87 24 06 00 00 	mov    %ax,0x624(%edi)
439447:	89 87 2c 08 00 00    	mov    %eax,0x82c(%edi)
43944d:	89 87 30 08 00 00    	mov    %eax,0x830(%edi)
439453:	e8 a8 3f ff ff       	call   0x42d400
439458:	05 a0 86 01 00       	add    $0x186a0,%eax
43945d:	89 87 10 02 00 00    	mov    %eax,0x210(%edi)
439463:	51                   	push   %ecx
439464:	ff 75 f4             	push   -0xc(%ebp)
439467:	ba 04 01 00 00       	mov    $0x104,%edx
43946c:	51                   	push   %ecx
43946d:	8d 8f 24 06 00 00    	lea    0x624(%edi),%ecx
439473:	e8 38 be fd ff       	call   0x4152b0
439478:	8b c8                	mov    %eax,%ecx
43947a:	e8 61 f8 fe ff       	call   0x428ce0
43947f:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
439482:	8b 75 18             	mov    0x18(%ebp),%esi
439485:	8b 01                	mov    (%ecx),%eax
439487:	89 87 30 08 00 00    	mov    %eax,0x830(%edi)
43948d:	8b 7d f8             	mov    -0x8(%ebp),%edi
439490:	8b 5d 14             	mov    0x14(%ebp),%ebx
439493:	8b 4d e8             	mov    -0x18(%ebp),%ecx
439496:	6a 01                	push   $0x1
439498:	e8 a3 b9 fd ff       	call   0x414e40
43949d:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4394a0:	75 31                	jne    0x4394d3
4394a2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4394a5:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
4394ab:	8b c1                	mov    %ecx,%eax
4394ad:	f7 d8                	neg    %eax
4394af:	1b c0                	sbb    %eax,%eax
4394b1:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
4394b6:	05 57 00 07 80       	add    $0x80070057,%eax
4394bb:	85 c9                	test   %ecx,%ecx
4394bd:	74 0d                	je     0x4394cc
4394bf:	51                   	push   %ecx
4394c0:	57                   	push   %edi
4394c1:	51                   	push   %ecx
4394c2:	8b d1                	mov    %ecx,%edx
4394c4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4394c7:	e8 e4 bd fd ff       	call   0x4152b0
4394cc:	8b c8                	mov    %eax,%ecx
4394ce:	e8 0d f8 fe ff       	call   0x428ce0
4394d3:	39 7d f4             	cmp    %edi,-0xc(%ebp)
4394d6:	75 2d                	jne    0x439505
4394d8:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4394de:	8b c6                	mov    %esi,%eax
4394e0:	f7 d8                	neg    %eax
4394e2:	1b c0                	sbb    %eax,%eax
4394e4:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
4394e9:	05 57 00 07 80       	add    $0x80070057,%eax
4394ee:	85 f6                	test   %esi,%esi
4394f0:	74 0c                	je     0x4394fe
4394f2:	51                   	push   %ecx
4394f3:	57                   	push   %edi
4394f4:	51                   	push   %ecx
4394f5:	8b d6                	mov    %esi,%edx
4394f7:	8b cb                	mov    %ebx,%ecx
4394f9:	e8 b2 bd fd ff       	call   0x4152b0
4394fe:	8b c8                	mov    %eax,%ecx
439500:	e8 db f7 fe ff       	call   0x428ce0
439505:	5f                   	pop    %edi
439506:	5e                   	pop    %esi
439507:	5b                   	pop    %ebx
439508:	8b e5                	mov    %ebp,%esp
43950a:	5d                   	pop    %ebp
43950b:	c2 18 00             	ret    $0x18
43950e:	cc                   	int3
43950f:	cc                   	int3
439510:	8b ff                	mov    %edi,%edi
439512:	55                   	push   %ebp
439513:	8b ec                	mov    %esp,%ebp
439515:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
43951b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
439520:	33 c5                	xor    %ebp,%eax
439522:	89 45 fc             	mov    %eax,-0x4(%ebp)
439525:	8b 45 0c             	mov    0xc(%ebp),%eax
439528:	8b 55 08             	mov    0x8(%ebp),%edx
43952b:	53                   	push   %ebx
43952c:	8b 5d 10             	mov    0x10(%ebp),%ebx
43952f:	56                   	push   %esi
439530:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
439536:	8b 01                	mov    (%ecx),%eax
439538:	57                   	push   %edi
439539:	8b 7d 14             	mov    0x14(%ebp),%edi
43953c:	89 8d f0 fd ff ff    	mov    %ecx,-0x210(%ebp)
439542:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
439548:	8b 70 14             	mov    0x14(%eax),%esi
43954b:	51                   	push   %ecx
43954c:	52                   	push   %edx
43954d:	8b ce                	mov    %esi,%ecx
43954f:	89 95 e4 fd ff ff    	mov    %edx,-0x21c(%ebp)
439555:	c7 85 ec fd ff ff 00 	movl   $0x0,-0x214(%ebp)
43955c:	00 00 00
43955f:	ff 15 84 23 45 00    	call   *0x452384
439565:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
43956b:	ff d6                	call   *%esi
43956d:	8b f0                	mov    %eax,%esi
43956f:	85 f6                	test   %esi,%esi
439571:	78 62                	js     0x4395d5
439573:	57                   	push   %edi
439574:	53                   	push   %ebx
439575:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
43957b:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
439581:	50                   	push   %eax
439582:	ff 15 cc 20 45 00    	call   *0x4520cc
439588:	85 c0                	test   %eax,%eax
43958a:	75 2c                	jne    0x4395b8
43958c:	ff 15 6c 20 45 00    	call   *0x45206c
439592:	8b d0                	mov    %eax,%edx
439594:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
43959a:	52                   	push   %edx
43959b:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
4395a1:	8b 08                	mov    (%eax),%ecx
4395a3:	8b 71 10             	mov    0x10(%ecx),%esi
4395a6:	8b ce                	mov    %esi,%ecx
4395a8:	ff 15 84 23 45 00    	call   *0x452384
4395ae:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
4395b4:	ff d6                	call   *%esi
4395b6:	8b f0                	mov    %eax,%esi
4395b8:	85 f6                	test   %esi,%esi
4395ba:	79 52                	jns    0x43960e
4395bc:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
4395c2:	56                   	push   %esi
4395c3:	51                   	push   %ecx
4395c4:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
4395ca:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
4395d0:	e8 2b f4 ff ff       	call   0x438a00
4395d5:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
4395db:	85 c0                	test   %eax,%eax
4395dd:	74 0d                	je     0x4395ec
4395df:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4395e5:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4395ec:	85 db                	test   %ebx,%ebx
4395ee:	74 0d                	je     0x4395fd
4395f0:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4395f6:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
4395fd:	85 ff                	test   %edi,%edi
4395ff:	74 0d                	je     0x43960e
439601:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
439607:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
43960e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439611:	8b c6                	mov    %esi,%eax
439613:	5f                   	pop    %edi
439614:	5e                   	pop    %esi
439615:	33 cd                	xor    %ebp,%ecx
439617:	5b                   	pop    %ebx
439618:	e8 33 39 01 00       	call   0x44cf50
43961d:	8b e5                	mov    %ebp,%esp
43961f:	5d                   	pop    %ebp
439620:	c2 10 00             	ret    $0x10
439623:	cc                   	int3
439624:	cc                   	int3
439625:	cc                   	int3
439626:	cc                   	int3
439627:	cc                   	int3
439628:	cc                   	int3
439629:	cc                   	int3
43962a:	cc                   	int3
43962b:	cc                   	int3
43962c:	cc                   	int3
43962d:	cc                   	int3
43962e:	cc                   	int3
43962f:	cc                   	int3
439630:	8b ff                	mov    %edi,%edi
439632:	55                   	push   %ebp
439633:	8b ec                	mov    %esp,%ebp
439635:	81 ec 28 02 00 00    	sub    $0x228,%esp
43963b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
439640:	33 c5                	xor    %ebp,%eax
439642:	89 45 fc             	mov    %eax,-0x4(%ebp)
439645:	a1 08 29 41 00       	mov    0x412908,%eax
43964a:	89 45 f0             	mov    %eax,-0x10(%ebp)
43964d:	a1 0c 29 41 00       	mov    0x41290c,%eax
439652:	53                   	push   %ebx
439653:	89 45 f4             	mov    %eax,-0xc(%ebp)
439656:	66 a1 10 29 41 00    	mov    0x412910,%ax
43965c:	56                   	push   %esi
43965d:	57                   	push   %edi
43965e:	8b 7d 08             	mov    0x8(%ebp),%edi
439661:	8b f1                	mov    %ecx,%esi
439663:	8b 4d 0c             	mov    0xc(%ebp),%ecx
439666:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
43966a:	33 c0                	xor    %eax,%eax
43966c:	66 89 85 e0 fd ff ff 	mov    %ax,-0x220(%ebp)
439673:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
439679:	68 08 01 00 00       	push   $0x108
43967e:	50                   	push   %eax
43967f:	57                   	push   %edi
439680:	89 b5 dc fd ff ff    	mov    %esi,-0x224(%ebp)
439686:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
43968c:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
439692:	ff 15 f4 20 45 00    	call   *0x4520f4
439698:	85 c0                	test   %eax,%eax
43969a:	0f 85 cd 00 00 00    	jne    0x43976d
4396a0:	ff 15 6c 20 45 00    	call   *0x45206c
4396a6:	8b 0e                	mov    (%esi),%ecx
4396a8:	8b d8                	mov    %eax,%ebx
4396aa:	53                   	push   %ebx
4396ab:	8b 71 10             	mov    0x10(%ecx),%esi
4396ae:	8b ce                	mov    %esi,%ecx
4396b0:	ff 15 84 23 45 00    	call   *0x452384
4396b6:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
4396bc:	ff d6                	call   *%esi
4396be:	8b f0                	mov    %eax,%esi
4396c0:	85 db                	test   %ebx,%ebx
4396c2:	0f 84 a9 00 00 00    	je     0x439771
4396c8:	66 83 3f 5c          	cmpw   $0x5c,(%edi)
4396cc:	75 23                	jne    0x4396f1
4396ce:	66 83 7f 02 5c       	cmpw   $0x5c,0x2(%edi)
4396d3:	75 1c                	jne    0x4396f1
4396d5:	51                   	push   %ecx
4396d6:	57                   	push   %edi
4396d7:	51                   	push   %ecx
4396d8:	ba 08 01 00 00       	mov    $0x108,%edx
4396dd:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4396e3:	e8 c8 bb fd ff       	call   0x4152b0
4396e8:	8b c8                	mov    %eax,%ecx
4396ea:	e8 f1 f5 fe ff       	call   0x428ce0
4396ef:	eb 7e                	jmp    0x43976f
4396f1:	51                   	push   %ecx
4396f2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4396f5:	be 08 01 00 00       	mov    $0x108,%esi
4396fa:	50                   	push   %eax
4396fb:	51                   	push   %ecx
4396fc:	8b d6                	mov    %esi,%edx
4396fe:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
439704:	e8 a7 bb fd ff       	call   0x4152b0
439709:	8b c8                	mov    %eax,%ecx
43970b:	e8 d0 f5 fe ff       	call   0x428ce0
439710:	8b c6                	mov    %esi,%eax
439712:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
439718:	66 83 39 00          	cmpw   $0x0,(%ecx)
43971c:	74 08                	je     0x439726
43971e:	83 c1 02             	add    $0x2,%ecx
439721:	83 e8 01             	sub    $0x1,%eax
439724:	75 f2                	jne    0x439718
439726:	8b c8                	mov    %eax,%ecx
439728:	f7 d8                	neg    %eax
43972a:	1b c0                	sbb    %eax,%eax
43972c:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
439731:	05 57 00 07 80       	add    $0x80070057,%eax
439736:	85 c9                	test   %ecx,%ecx
439738:	74 2a                	je     0x439764
43973a:	8b d1                	mov    %ecx,%edx
43973c:	8d 81 f8 fe ff ff    	lea    -0x108(%ecx),%eax
439742:	f7 da                	neg    %edx
439744:	51                   	push   %ecx
439745:	1b d2                	sbb    %edx,%edx
439747:	23 d0                	and    %eax,%edx
439749:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
43974f:	03 d6                	add    %esi,%edx
439751:	2b f1                	sub    %ecx,%esi
439753:	57                   	push   %edi
439754:	51                   	push   %ecx
439755:	03 f6                	add    %esi,%esi
439757:	f7 d9                	neg    %ecx
439759:	1b c9                	sbb    %ecx,%ecx
43975b:	23 ce                	and    %esi,%ecx
43975d:	03 c8                	add    %eax,%ecx
43975f:	e8 4c bb fd ff       	call   0x4152b0
439764:	8b c8                	mov    %eax,%ecx
439766:	e8 75 f5 fe ff       	call   0x428ce0
43976b:	eb 02                	jmp    0x43976f
43976d:	33 db                	xor    %ebx,%ebx
43976f:	33 f6                	xor    %esi,%esi
439771:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
439777:	8d 51 02             	lea    0x2(%ecx),%edx
43977a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
439780:	66 8b 01             	mov    (%ecx),%ax
439783:	83 c1 02             	add    $0x2,%ecx
439786:	66 85 c0             	test   %ax,%ax
439789:	75 f5                	jne    0x439780
43978b:	2b ca                	sub    %edx,%ecx
43978d:	d1 f9                	sar    $1,%ecx
43978f:	66 83 bc 4d de fd ff 	cmpw   $0x5c,-0x222(%ebp,%ecx,2)
439796:	ff 5c
439798:	75 1d                	jne    0x4397b7
43979a:	8d 0c 4d fe ff ff ff 	lea    -0x2(,%ecx,2),%ecx
4397a1:	81 f9 10 02 00 00    	cmp    $0x210,%ecx
4397a7:	0f 83 84 00 00 00    	jae    0x439831
4397ad:	33 c0                	xor    %eax,%eax
4397af:	66 89 84 0d e0 fd ff 	mov    %ax,-0x220(%ebp,%ecx,1)
4397b6:	ff
4397b7:	6a 00                	push   $0x0
4397b9:	68 80 00 00 02       	push   $0x2000080
4397be:	6a 03                	push   $0x3
4397c0:	6a 00                	push   $0x0
4397c2:	6a 02                	push   $0x2
4397c4:	68 80 00 00 00       	push   $0x80
4397c9:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
4397cf:	50                   	push   %eax
4397d0:	ff 15 ec 20 45 00    	call   *0x4520ec
4397d6:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
4397dc:	89 01                	mov    %eax,(%ecx)
4397de:	83 f8 ff             	cmp    $0xffffffff,%eax
4397e1:	75 26                	jne    0x439809
4397e3:	ff 15 6c 20 45 00    	call   *0x45206c
4397e9:	8b d8                	mov    %eax,%ebx
4397eb:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
4397f1:	53                   	push   %ebx
4397f2:	8b 00                	mov    (%eax),%eax
4397f4:	8b 70 10             	mov    0x10(%eax),%esi
4397f7:	8b ce                	mov    %esi,%ecx