43765a:	cc                   	int3
43765b:	cc                   	int3
43765c:	cc                   	int3
43765d:	cc                   	int3
43765e:	cc                   	int3
43765f:	cc                   	int3
437660:	8b ff                	mov    %edi,%edi
437662:	55                   	push   %ebp
437663:	8b ec                	mov    %esp,%ebp
437665:	83 e4 f8             	and    $0xfffffff8,%esp
437668:	83 ec 24             	sub    $0x24,%esp
43766b:	53                   	push   %ebx
43766c:	56                   	push   %esi
43766d:	8b f1                	mov    %ecx,%esi
43766f:	89 74 24 08          	mov    %esi,0x8(%esp)
437673:	57                   	push   %edi
437674:	85 f6                	test   %esi,%esi
437676:	74 30                	je     0x4376a8
437678:	8b 36                	mov    (%esi),%esi
43767a:	8b 96 b0 03 00 00    	mov    0x3b0(%esi),%edx
437680:	8b 42 1c             	mov    0x1c(%edx),%eax
437683:	8b 78 08             	mov    0x8(%eax),%edi
437686:	8b 86 b0 03 00 00    	mov    0x3b0(%esi),%eax
43768c:	8b 4a 20             	mov    0x20(%edx),%ecx
43768f:	8b 74 24 0c          	mov    0xc(%esp),%esi
437693:	8b 59 04             	mov    0x4(%ecx),%ebx
437696:	03 58 58             	add    0x58(%eax),%ebx
437699:	03 58 40             	add    0x40(%eax),%ebx
43769c:	03 58 38             	add    0x38(%eax),%ebx
43769f:	8b 41 08             	mov    0x8(%ecx),%eax
4376a2:	03 df                	add    %edi,%ebx
4376a4:	2b d8                	sub    %eax,%ebx
4376a6:	eb 02                	jmp    0x4376aa
4376a8:	33 db                	xor    %ebx,%ebx
4376aa:	e8 e1 5e ff ff       	call   0x42d590
4376af:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
4376b6:	89 44 24 18          	mov    %eax,0x18(%esp)
4376ba:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4376be:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4376c2:	89 74 24 14          	mov    %esi,0x14(%esp)
4376c6:	75 1f                	jne    0x4376e7
4376c8:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
4376cf:	75 16                	jne    0x4376e7
4376d1:	8d 44 24 10          	lea    0x10(%esp),%eax
4376d5:	50                   	push   %eax
4376d6:	8d 44 24 18          	lea    0x18(%esp),%eax
4376da:	50                   	push   %eax
4376db:	6a 02                	push   $0x2
4376dd:	6a 45                	push   $0x45
4376df:	e8 8c fc 00 00       	call   0x447370
4376e4:	83 c4 10             	add    $0x10,%esp
4376e7:	33 ff                	xor    %edi,%edi
4376e9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4376f0:	85 f6                	test   %esi,%esi
4376f2:	74 04                	je     0x4376f8
4376f4:	85 db                	test   %ebx,%ebx
4376f6:	74 4c                	je     0x437744
4376f8:	83 c7 01             	add    $0x1,%edi
4376fb:	74 47                	je     0x437744
4376fd:	8b 0d 5c 12 45 00    	mov    0x45125c,%ecx
437703:	83 ec 08             	sub    $0x8,%esp
437706:	68 90 5b 43 00       	push   $0x435b90
43770b:	e8 90 4a 01 00       	call   0x44c1a0
437710:	85 c0                	test   %eax,%eax
437712:	79 30                	jns    0x437744
437714:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43771a:	8b ce                	mov    %esi,%ecx
43771c:	ff 15 84 23 45 00    	call   *0x452384
437722:	ff d6                	call   *%esi
437724:	6a 00                	push   $0x0
437726:	6a 01                	push   $0x1
437728:	ff 15 20 22 45 00    	call   *0x452220
43772e:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
437734:	8b ce                	mov    %esi,%ecx
437736:	ff 15 84 23 45 00    	call   *0x452384
43773c:	ff d6                	call   *%esi
43773e:	8b 74 24 0c          	mov    0xc(%esp),%esi
437742:	eb ac                	jmp    0x4376f0
437744:	e8 e7 5d ff ff       	call   0x42d530
437749:	52                   	push   %edx
43774a:	50                   	push   %eax
43774b:	e8 40 5e ff ff       	call   0x42d590
437750:	2b 44 24 20          	sub    0x20(%esp),%eax
437754:	1b 54 24 24          	sbb    0x24(%esp),%edx
437758:	52                   	push   %edx
437759:	50                   	push   %eax
43775a:	e8 e1 0d 00 00       	call   0x438540
43775f:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
437766:	89 44 24 28          	mov    %eax,0x28(%esp)
43776a:	89 54 24 2c          	mov    %edx,0x2c(%esp)
43776e:	89 7c 24 20          	mov    %edi,0x20(%esp)
437772:	89 74 24 24          	mov    %esi,0x24(%esp)
437776:	75 24                	jne    0x43779c
437778:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
43777f:	75 1b                	jne    0x43779c
437781:	8d 44 24 28          	lea    0x28(%esp),%eax
437785:	50                   	push   %eax
437786:	8d 44 24 24          	lea    0x24(%esp),%eax
43778a:	50                   	push   %eax
43778b:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43778f:	50                   	push   %eax
437790:	6a 03                	push   $0x3
437792:	6a 46                	push   $0x46
437794:	e8 d7 fb 00 00       	call   0x447370
437799:	83 c4 14             	add    $0x14,%esp
43779c:	5f                   	pop    %edi
43779d:	5e                   	pop    %esi
43779e:	5b                   	pop    %ebx
43779f:	8b e5                	mov    %ebp,%esp
4377a1:	5d                   	pop    %ebp
4377a2:	c3                   	ret
4377a3:	cc                   	int3
4377a4:	cc                   	int3
4377a5:	cc                   	int3
4377a6:	cc                   	int3
4377a7:	cc                   	int3
4377a8:	cc                   	int3
4377a9:	cc                   	int3
4377aa:	cc                   	int3
4377ab:	cc                   	int3
4377ac:	cc                   	int3
4377ad:	cc                   	int3
4377ae:	cc                   	int3
4377af:	cc                   	int3
4377b0:	8b ff                	mov    %edi,%edi
4377b2:	55                   	push   %ebp
4377b3:	8b ec                	mov    %esp,%ebp
4377b5:	56                   	push   %esi
4377b6:	8b 31                	mov    (%ecx),%esi
4377b8:	8b c6                	mov    %esi,%eax
4377ba:	57                   	push   %edi
4377bb:	8b 7d 08             	mov    0x8(%ebp),%edi
4377be:	8b d7                	mov    %edi,%edx
4377c0:	89 77 1c             	mov    %esi,0x1c(%edi)
4377c3:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
4377c7:	3b c6                	cmp    %esi,%eax
4377c9:	74 18                	je     0x4377e3
4377cb:	eb 03                	jmp    0x4377d0
4377cd:	8d 49 00             	lea    0x0(%ecx),%ecx
4377d0:	f3 90                	pause
4377d2:	8b 31                	mov    (%ecx),%esi
4377d4:	8b d7                	mov    %edi,%edx
4377d6:	89 77 1c             	mov    %esi,0x1c(%edi)
4377d9:	8b c6                	mov    %esi,%eax
4377db:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
4377df:	3b c6                	cmp    %esi,%eax
4377e1:	75 ed                	jne    0x4377d0
4377e3:	ff 41 08             	incl   0x8(%ecx)
4377e6:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
4377ea:	75 03                	jne    0x4377ef
4377ec:	89 79 04             	mov    %edi,0x4(%ecx)
4377ef:	5f                   	pop    %edi
4377f0:	5e                   	pop    %esi
4377f1:	5d                   	pop    %ebp
4377f2:	c2 08 00             	ret    $0x8
4377f5:	cc                   	int3
4377f6:	cc                   	int3
4377f7:	cc                   	int3
4377f8:	cc                   	int3
4377f9:	cc                   	int3
4377fa:	cc                   	int3
4377fb:	cc                   	int3
4377fc:	cc                   	int3
4377fd:	cc                   	int3
4377fe:	cc                   	int3
4377ff:	cc                   	int3
437800:	8b ff                	mov    %edi,%edi
437802:	55                   	push   %ebp
437803:	8b ec                	mov    %esp,%ebp
437805:	51                   	push   %ecx
437806:	d9 ee                	fldz
437808:	dd 45 08             	fldl   0x8(%ebp)
43780b:	d8 d1                	fcom   %st(1)
43780d:	df e0                	fnstsw %ax
43780f:	57                   	push   %edi
437810:	8b f9                	mov    %ecx,%edi
437812:	dd d9                	fstp   %st(1)
437814:	f6 c4 05             	test   $0x5,%ah
437817:	0f 8b b6 00 00 00    	jnp    0x4378d3
43781d:	d9 e8                	fld1
43781f:	de d9                	fcompp
437821:	df e0                	fnstsw %ax
437823:	f6 c4 05             	test   $0x5,%ah
437826:	0f 8b a9 00 00 00    	jnp    0x4378d5
43782c:	a1 24 11 45 00       	mov    0x451124,%eax
437831:	89 07                	mov    %eax,(%edi)
437833:	c1 e0 05             	shl    $0x5,%eax
437836:	8d 48 20             	lea    0x20(%eax),%ecx
437839:	3b c8                	cmp    %eax,%ecx
43783b:	72 24                	jb     0x437861
43783d:	51                   	push   %ecx
43783e:	6a 00                	push   $0x0
437840:	ff 35 00 12 45 00    	push   0x451200
437846:	ff 15 24 21 45 00    	call   *0x452124
43784c:	8b d0                	mov    %eax,%edx
43784e:	85 d2                	test   %edx,%edx
437850:	74 0f                	je     0x437861
437852:	8d 42 20             	lea    0x20(%edx),%eax
437855:	83 e0 e0             	and    $0xffffffe0,%eax
437858:	8a c8                	mov    %al,%cl
43785a:	2a ca                	sub    %dl,%cl
43785c:	88 48 ff             	mov    %cl,-0x1(%eax)
43785f:	eb 02                	jmp    0x437863
437861:	33 c0                	xor    %eax,%eax
437863:	89 47 04             	mov    %eax,0x4(%edi)
437866:	85 c0                	test   %eax,%eax
437868:	75 0c                	jne    0x437876
43786a:	b8 02 00 00 00       	mov    $0x2,%eax
43786f:	5f                   	pop    %edi
437870:	8b e5                	mov    %ebp,%esp
437872:	5d                   	pop    %ebp
437873:	c2 08 00             	ret    $0x8
437876:	53                   	push   %ebx
437877:	33 db                	xor    %ebx,%ebx
437879:	39 1f                	cmp    %ebx,(%edi)
43787b:	76 37                	jbe    0x4378b4
43787d:	33 c0                	xor    %eax,%eax
43787f:	89 45 fc             	mov    %eax,-0x4(%ebp)
437882:	56                   	push   %esi
437883:	8b 77 04             	mov    0x4(%edi),%esi
437886:	03 f0                	add    %eax,%esi
437888:	6a 01                	push   $0x1
43788a:	8b ce                	mov    %esi,%ecx
43788c:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
437892:	e8 a9 d5 fd ff       	call   0x414e40
437897:	8b 45 fc             	mov    -0x4(%ebp),%eax
43789a:	43                   	inc    %ebx
43789b:	83 c0 20             	add    $0x20,%eax
43789e:	c7 46 04 14 00 00 00 	movl   $0x14,0x4(%esi)
4378a5:	c7 46 08 14 00 00 00 	movl   $0x14,0x8(%esi)
4378ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4378af:	3b 1f                	cmp    (%edi),%ebx
4378b1:	72 d0                	jb     0x437883
4378b3:	5e                   	pop    %esi
4378b4:	5b                   	pop    %ebx
4378b5:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
4378bc:	33 c0                	xor    %eax,%eax
4378be:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
4378c5:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
4378cc:	5f                   	pop    %edi
4378cd:	8b e5                	mov    %ebp,%esp
4378cf:	5d                   	pop    %ebp
4378d0:	c2 08 00             	ret    $0x8
4378d3:	dd d8                	fstp   %st(0)
4378d5:	b8 01 00 00 00       	mov    $0x1,%eax
4378da:	5f                   	pop    %edi
4378db:	8b e5                	mov    %ebp,%esp
4378dd:	5d                   	pop    %ebp
4378de:	c2 08 00             	ret    $0x8
4378e1:	cc                   	int3
4378e2:	cc                   	int3
4378e3:	cc                   	int3
4378e4:	cc                   	int3
4378e5:	cc                   	int3
4378e6:	cc                   	int3
4378e7:	cc                   	int3
4378e8:	cc                   	int3
4378e9:	cc                   	int3
4378ea:	cc                   	int3
4378eb:	cc                   	int3
4378ec:	cc                   	int3
4378ed:	cc                   	int3
4378ee:	cc                   	int3
4378ef:	cc                   	int3
4378f0:	8b ff                	mov    %edi,%edi
4378f2:	56                   	push   %esi
4378f3:	8b f1                	mov    %ecx,%esi
4378f5:	8b 56 04             	mov    0x4(%esi),%edx
4378f8:	85 d2                	test   %edx,%edx
4378fa:	74 28                	je     0x437924
4378fc:	0f b6 42 ff          	movzbl -0x1(%edx),%eax
437900:	2b d0                	sub    %eax,%edx
437902:	74 19                	je     0x43791d
437904:	52                   	push   %edx
437905:	6a 00                	push   $0x0
437907:	ff 35 00 12 45 00    	push   0x451200
43790d:	ff 15 18 21 45 00    	call   *0x452118
437913:	85 c0                	test   %eax,%eax
437915:	75 06                	jne    0x43791d
437917:	ff 15 6c 20 45 00    	call   *0x45206c
43791d:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
437924:	83 c6 20             	add    $0x20,%esi
437927:	8b 16                	mov    (%esi),%edx
437929:	4a                   	dec    %edx
43792a:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
437930:	8d 4a 01             	lea    0x1(%edx),%ecx
437933:	8b c1                	mov    %ecx,%eax
437935:	f0 0f b1 16          	lock cmpxchg %edx,(%esi)
437939:	3b c1                	cmp    %ecx,%eax
43793b:	74 ea                	je     0x437927
43793d:	8d 49 00             	lea    0x0(%ecx),%ecx
437940:	85 c0                	test   %eax,%eax
437942:	7e 1a                	jle    0x43795e
437944:	f3 90                	pause
437946:	8b 16                	mov    (%esi),%edx
437948:	4a                   	dec    %edx
437949:	81 e2 ff ff ff 7f    	and    $0x7fffffff,%edx
43794f:	8d 4a 01             	lea    0x1(%edx),%ecx
437952:	8b c1                	mov    %ecx,%eax
437954:	f0 0f b1 16          	lock cmpxchg %edx,(%esi)
437958:	3b c1                	cmp    %ecx,%eax
43795a:	75 e4                	jne    0x437940
43795c:	eb c9                	jmp    0x437927
43795e:	5e                   	pop    %esi
43795f:	c3                   	ret
437960:	8b ff                	mov    %edi,%edi
437962:	55                   	push   %ebp
437963:	8b ec                	mov    %esp,%ebp
437965:	51                   	push   %ecx
437966:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
43796c:	53                   	push   %ebx
43796d:	8b d9                	mov    %ecx,%ebx
43796f:	8b 0d 24 11 45 00    	mov    0x451124,%ecx
437975:	56                   	push   %esi
437976:	0f b6 80 77 0f 00 00 	movzbl 0xf77(%eax),%eax
43797d:	89 45 fc             	mov    %eax,-0x4(%ebp)
437980:	3b c1                	cmp    %ecx,%eax
437982:	7c 08                	jl     0x43798c
437984:	99                   	cltd
437985:	f7 f9                	idiv   %ecx
437987:	8b c2                	mov    %edx,%eax
437989:	89 55 fc             	mov    %edx,-0x4(%ebp)
43798c:	33 d2                	xor    %edx,%edx
43798e:	f7 33                	divl   (%ebx)
437990:	57                   	push   %edi
437991:	8b f2                	mov    %edx,%esi
437993:	bf 01 00 00 00       	mov    $0x1,%edi
437998:	c1 e6 05             	shl    $0x5,%esi
43799b:	03 73 04             	add    0x4(%ebx),%esi
43799e:	39 3b                	cmp    %edi,(%ebx)
4379a0:	76 21                	jbe    0x4379c3
4379a2:	8b ce                	mov    %esi,%ecx
4379a4:	e8 e7 cd fe ff       	call   0x424790
4379a9:	85 c0                	test   %eax,%eax
4379ab:	75 2a                	jne    0x4379d7
4379ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4379b0:	33 d2                	xor    %edx,%edx
4379b2:	03 c7                	add    %edi,%eax
4379b4:	47                   	inc    %edi
4379b5:	f7 33                	divl   (%ebx)
4379b7:	8b f2                	mov    %edx,%esi
4379b9:	c1 e6 05             	shl    $0x5,%esi
4379bc:	03 73 04             	add    0x4(%ebx),%esi
4379bf:	3b 3b                	cmp    (%ebx),%edi
4379c1:	72 df                	jb     0x4379a2
4379c3:	8b ce                	mov    %esi,%ecx
4379c5:	e8 c6 cd fe ff       	call   0x424790
4379ca:	85 c0                	test   %eax,%eax
4379cc:	75 09                	jne    0x4379d7
4379ce:	6a ff                	push   $0xffffffff