4446e3:	8b 45 cc             	mov    -0x34(%ebp),%eax
4446e6:	03 c2                	add    %edx,%eax
4446e8:	99                   	cltd
4446e9:	2b c2                	sub    %edx,%eax
4446eb:	8b f0                	mov    %eax,%esi
4446ed:	8b c3                	mov    %ebx,%eax
4446ef:	99                   	cltd
4446f0:	2b c2                	sub    %edx,%eax
4446f2:	d1 fe                	sar    $1,%esi
4446f4:	d1 f8                	sar    $1,%eax
4446f6:	2b f0                	sub    %eax,%esi
4446f8:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
4446fb:	7d 05                	jge    0x444702
4446fd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
444700:	eb 11                	jmp    0x444713
444702:	8b 45 f0             	mov    -0x10(%ebp),%eax
444705:	03 f9                	add    %ecx,%edi
444707:	3b f8                	cmp    %eax,%edi
444709:	7e 08                	jle    0x444713
44470b:	2b 45 e0             	sub    -0x20(%ebp),%eax
44470e:	03 45 d8             	add    -0x28(%ebp),%eax
444711:	8b c8                	mov    %eax,%ecx
444713:	3b 75 ec             	cmp    -0x14(%ebp),%esi
444716:	7d 05                	jge    0x44471d
444718:	8b 75 ec             	mov    -0x14(%ebp),%esi
44471b:	eb 10                	jmp    0x44472d
44471d:	03 de                	add    %esi,%ebx
44471f:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
444722:	7e 09                	jle    0x44472d
444724:	8b 75 dc             	mov    -0x24(%ebp),%esi
444727:	2b 75 e4             	sub    -0x1c(%ebp),%esi
44472a:	03 75 f4             	add    -0xc(%ebp),%esi
44472d:	6a 15                	push   $0x15
44472f:	6a ff                	push   $0xffffffff
444731:	6a ff                	push   $0xffffffff
444733:	56                   	push   %esi
444734:	51                   	push   %ecx
444735:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444738:	6a 00                	push   $0x0
44473a:	e8 2a c8 ff ff       	call   0x440f69
44473f:	5f                   	pop    %edi
444740:	5e                   	pop    %esi
444741:	5b                   	pop    %ebx
444742:	c9                   	leave
444743:	c2 04 00             	ret    $0x4
444746:	83 ec 10             	sub    $0x10,%esp
444749:	53                   	push   %ebx
44474a:	55                   	push   %ebp
44474b:	56                   	push   %esi
44474c:	33 db                	xor    %ebx,%ebx
44474e:	57                   	push   %edi
44474f:	43                   	inc    %ebx
444750:	33 ff                	xor    %edi,%edi
444752:	f6 44 24 24 04       	testb  $0x4,0x24(%esp)
444757:	8b f1                	mov    %ecx,%esi
444759:	89 5c 24 14          	mov    %ebx,0x14(%esp)
44475d:	89 7c 24 10          	mov    %edi,0x10(%esp)
444761:	74 0c                	je     0x44476f
444763:	e8 de c4 ff ff       	call   0x440c46
444768:	a9 00 00 00 10       	test   $0x10000000,%eax
44476d:	74 02                	je     0x444771
44476f:	33 db                	xor    %ebx,%ebx
444771:	ff 76 1c             	push   0x1c(%esi)
444774:	ff 15 d8 07 4b 00    	call   *0x4b07d8
44477a:	83 4e 38 18          	orl    $0x18,0x38(%esi)
44477e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
444782:	e8 69 cf ff ff       	call   0x4416f0
444787:	8b 2d 48 08 4b 00    	mov    0x4b0848,%ebp
44478d:	89 44 24 18          	mov    %eax,0x18(%esp)
444791:	eb 72                	jmp    0x444805
444793:	57                   	push   %edi
444794:	57                   	push   %edi
444795:	57                   	push   %edi
444796:	57                   	push   %edi
444797:	ff 74 24 28          	push   0x28(%esp)
44479b:	ff 15 a8 07 4b 00    	call   *0x4b07a8
4447a1:	85 c0                	test   %eax,%eax
4447a3:	75 66                	jne    0x44480b
4447a5:	3b df                	cmp    %edi,%ebx
4447a7:	74 10                	je     0x4447b9
4447a9:	6a 01                	push   $0x1
4447ab:	8b ce                	mov    %esi,%ecx
4447ad:	e8 b9 c5 ff ff       	call   0x440d6b
4447b2:	ff 76 1c             	push   0x1c(%esi)
4447b5:	ff d5                	call   *%ebp
4447b7:	33 db                	xor    %ebx,%ebx
4447b9:	f6 44 24 24 01       	testb  $0x1,0x24(%esp)
4447be:	75 1f                	jne    0x4447df
4447c0:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
4447c4:	74 19                	je     0x4447df
4447c6:	39 7c 24 10          	cmp    %edi,0x10(%esp)
4447ca:	75 13                	jne    0x4447df
4447cc:	ff 76 1c             	push   0x1c(%esi)
4447cf:	57                   	push   %edi
4447d0:	68 21 01 00 00       	push   $0x121
4447d5:	ff 74 24 28          	push   0x28(%esp)
4447d9:	ff 15 98 08 4b 00    	call   *0x4b0898
4447df:	f6 44 24 24 02       	testb  $0x2,0x24(%esp)
4447e4:	75 1b                	jne    0x444801
4447e6:	ff 74 24 10          	push   0x10(%esp)
4447ea:	57                   	push   %edi
4447eb:	68 6a 03 00 00       	push   $0x36a
4447f0:	ff 76 1c             	push   0x1c(%esi)
4447f3:	ff 15 98 08 4b 00    	call   *0x4b0898
4447f9:	ff 44 24 10          	incl   0x10(%esp)
4447fd:	85 c0                	test   %eax,%eax
4447ff:	75 04                	jne    0x444805
444801:	89 7c 24 14          	mov    %edi,0x14(%esp)
444805:	39 7c 24 14          	cmp    %edi,0x14(%esp)
444809:	75 88                	jne    0x444793
44480b:	e8 36 d3 ff ff       	call   0x441b46
444810:	85 c0                	test   %eax,%eax
444812:	74 65                	je     0x444879
444814:	3b df                	cmp    %edi,%ebx
444816:	74 25                	je     0x44483d
444818:	8b 44 24 18          	mov    0x18(%esp),%eax
44481c:	8b 40 04             	mov    0x4(%eax),%eax
44481f:	3d 18 01 00 00       	cmp    $0x118,%eax
444824:	74 07                	je     0x44482d
444826:	3d 04 01 00 00       	cmp    $0x104,%eax
44482b:	75 10                	jne    0x44483d
44482d:	6a 01                	push   $0x1
44482f:	8b ce                	mov    %esi,%ecx
444831:	e8 35 c5 ff ff       	call   0x440d6b
444836:	ff 76 1c             	push   0x1c(%esi)
444839:	ff d5                	call   *%ebp
44483b:	33 db                	xor    %ebx,%ebx
44483d:	8b 06                	mov    (%esi),%eax
44483f:	8b ce                	mov    %esi,%ecx
444841:	ff 90 80 00 00 00    	call   *0x80(%eax)
444847:	85 c0                	test   %eax,%eax
444849:	74 39                	je     0x444884
44484b:	ff 74 24 18          	push   0x18(%esp)
44484f:	e8 14 d2 ff ff       	call   0x441a68
444854:	85 c0                	test   %eax,%eax
444856:	59                   	pop    %ecx
444857:	74 0c                	je     0x444865
444859:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
444860:	00
444861:	89 7c 24 10          	mov    %edi,0x10(%esp)
444865:	57                   	push   %edi
444866:	57                   	push   %edi
444867:	57                   	push   %edi
444868:	57                   	push   %edi
444869:	ff 74 24 28          	push   0x28(%esp)
44486d:	ff 15 a8 07 4b 00    	call   *0x4b07a8
444873:	85 c0                	test   %eax,%eax
444875:	75 94                	jne    0x44480b
444877:	eb 8c                	jmp    0x444805
444879:	57                   	push   %edi
44487a:	e8 19 c6 03 00       	call   0x480e98
44487f:	83 c8 ff             	or     $0xffffffff,%eax
444882:	eb 07                	jmp    0x44488b
444884:	83 66 38 e7          	andl   $0xffffffe7,0x38(%esi)
444888:	8b 46 40             	mov    0x40(%esi),%eax
44488b:	5f                   	pop    %edi
44488c:	5e                   	pop    %esi
44488d:	5d                   	pop    %ebp
44488e:	5b                   	pop    %ebx
44488f:	83 c4 10             	add    $0x10,%esp
444892:	c2 04 00             	ret    $0x4
444895:	8b 44 24 04          	mov    0x4(%esp),%eax
444899:	89 41 40             	mov    %eax,0x40(%ecx)
44489c:	8b 41 38             	mov    0x38(%ecx),%eax
44489f:	a8 10                	test   $0x10,%al
4448a1:	74 14                	je     0x4448b7
4448a3:	83 e0 ef             	and    $0xffffffef,%eax
4448a6:	89 41 38             	mov    %eax,0x38(%ecx)
4448a9:	33 c0                	xor    %eax,%eax
4448ab:	50                   	push   %eax
4448ac:	50                   	push   %eax
4448ad:	50                   	push   %eax
4448ae:	ff 71 1c             	push   0x1c(%ecx)
4448b1:	ff 15 c8 07 4b 00    	call   *0x4b07c8
4448b7:	c2 04 00             	ret    $0x4
4448ba:	8b 44 24 08          	mov    0x8(%esp),%eax
4448be:	56                   	push   %esi
4448bf:	8b 74 24 08          	mov    0x8(%esp),%esi
4448c3:	57                   	push   %edi
4448c4:	89 46 24             	mov    %eax,0x24(%esi)
4448c7:	e8 35 90 02 00       	call   0x46d901
4448cc:	0f b7 4c 24 14       	movzwl 0x14(%esp),%ecx
4448d1:	8b 40 0c             	mov    0xc(%eax),%eax
4448d4:	8b 3d 84 08 4b 00    	mov    0x4b0884,%edi
4448da:	51                   	push   %ecx
4448db:	50                   	push   %eax
4448dc:	ff d7                	call   *%edi
4448de:	85 c0                	test   %eax,%eax
4448e0:	89 46 14             	mov    %eax,0x14(%esi)
4448e3:	75 0b                	jne    0x4448f0
4448e5:	68 00 7f 00 00       	push   $0x7f00
4448ea:	50                   	push   %eax
4448eb:	ff d7                	call   *%edi
4448ed:	89 46 14             	mov    %eax,0x14(%esi)
4448f0:	56                   	push   %esi
4448f1:	e8 e7 e9 ff ff       	call   0x4432dd
4448f6:	5f                   	pop    %edi
4448f7:	5e                   	pop    %esi
4448f8:	c2 0c 00             	ret    $0xc
4448fb:	55                   	push   %ebp
4448fc:	8b ec                	mov    %esp,%ebp
4448fe:	83 ec 34             	sub    $0x34,%esp
444901:	e8 fb 8f 02 00       	call   0x46d901
444906:	89 45 fc             	mov    %eax,-0x4(%ebp)
444909:	8b 40 18             	mov    0x18(%eax),%eax
44490c:	f7 d0                	not    %eax
44490e:	21 45 08             	and    %eax,0x8(%ebp)
444911:	75 08                	jne    0x44491b
444913:	33 c0                	xor    %eax,%eax
444915:	40                   	inc    %eax
444916:	e9 ab 02 00 00       	jmp    0x444bc6
44491b:	53                   	push   %ebx
44491c:	56                   	push   %esi
44491d:	57                   	push   %edi
44491e:	6a 28                	push   $0x28
444920:	33 ff                	xor    %edi,%edi
444922:	8d 45 cc             	lea    -0x34(%ebp),%eax
444925:	57                   	push   %edi
444926:	50                   	push   %eax
444927:	33 f6                	xor    %esi,%esi
444929:	e8 12 39 fd ff       	call   0x418240
44492e:	a1 28 07 4b 00       	mov    0x4b0728,%eax
444933:	83 c4 0c             	add    $0xc,%esp
444936:	89 45 d0             	mov    %eax,-0x30(%ebp)
444939:	e8 c3 8f 02 00       	call   0x46d901
44493e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
444942:	8b 40 08             	mov    0x8(%eax),%eax
444945:	6a 08                	push   $0x8
444947:	89 45 dc             	mov    %eax,-0x24(%ebp)
44494a:	a1 18 c4 4a 00       	mov    0x4ac418,%eax
44494f:	5b                   	pop    %ebx
444950:	89 45 e4             	mov    %eax,-0x1c(%ebp)
444953:	89 5d f4             	mov    %ebx,-0xc(%ebp)
444956:	74 1c                	je     0x444974
444958:	8d 45 cc             	lea    -0x34(%ebp),%eax
44495b:	50                   	push   %eax
44495c:	c7 45 cc 0b 00 00 00 	movl   $0xb,-0x34(%ebp)
444963:	c7 45 f0 5c af 48 00 	movl   $0x48af5c,-0x10(%ebp)
44496a:	e8 6e e9 ff ff       	call   0x4432dd
44496f:	85 c0                	test   %eax,%eax
444971:	74 01                	je     0x444974
444973:	46                   	inc    %esi
444974:	f6 45 08 20          	testb  $0x20,0x8(%ebp)
444978:	74 1b                	je     0x444995
44497a:	80 4d cc 8b          	orb    $0x8b,-0x34(%ebp)
44497e:	8d 45 cc             	lea    -0x34(%ebp),%eax
444981:	50                   	push   %eax
444982:	c7 45 f0 a0 af 48 00 	movl   $0x48afa0,-0x10(%ebp)
444989:	e8 4f e9 ff ff       	call   0x4432dd
44498e:	85 c0                	test   %eax,%eax
444990:	74 03                	je     0x444995
444992:	83 ce 20             	or     $0x20,%esi
444995:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
444999:	74 21                	je     0x4449bc
44499b:	8d 45 cc             	lea    -0x34(%ebp),%eax
44499e:	50                   	push   %eax
44499f:	89 7d cc             	mov    %edi,-0x34(%ebp)
4449a2:	c7 45 f0 68 af 48 00 	movl   $0x48af68,-0x10(%ebp)
4449a9:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
4449b0:	e8 28 e9 ff ff       	call   0x4432dd
4449b5:	85 c0                	test   %eax,%eax
4449b7:	74 03                	je     0x4449bc
4449b9:	83 ce 02             	or     $0x2,%esi
4449bc:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
4449c0:	74 20                	je     0x4449e2
4449c2:	68 01 7a 00 00       	push   $0x7a01
4449c7:	68 7c af 48 00       	push   $0x48af7c
4449cc:	8d 45 cc             	lea    -0x34(%ebp),%eax
4449cf:	50                   	push   %eax
4449d0:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4449d3:	89 7d e8             	mov    %edi,-0x18(%ebp)
4449d6:	e8 df fe ff ff       	call   0x4448ba
4449db:	85 c0                	test   %eax,%eax
4449dd:	74 03                	je     0x4449e2
4449df:	83 ce 04             	or     $0x4,%esi
4449e2:	84 5d 08             	test   %bl,0x8(%ebp)
4449e5:	74 27                	je     0x444a0e
4449e7:	68 02 7a 00 00       	push   $0x7a02
4449ec:	68 8c af 48 00       	push   $0x48af8c
4449f1:	8d 45 cc             	lea    -0x34(%ebp),%eax
4449f4:	50                   	push   %eax
4449f5:	c7 45 cc 0b 00 00 00 	movl   $0xb,-0x34(%ebp)
4449fc:	c7 45 e8 06 00 00 00 	movl   $0x6,-0x18(%ebp)
444a03:	e8 b2 fe ff ff       	call   0x4448ba
444a08:	85 c0                	test   %eax,%eax
444a0a:	74 02                	je     0x444a0e
444a0c:	0b f3                	or     %ebx,%esi
444a0e:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
444a12:	74 1d                	je     0x444a31
444a14:	68 c0 3f 00 00       	push   $0x3fc0
444a19:	8d 45 f4             	lea    -0xc(%ebp),%eax
444a1c:	50                   	push   %eax
444a1d:	c7 45 f8 ff 00 00 00 	movl   $0xff,-0x8(%ebp)
444a24:	e8 54 f3 ff ff       	call   0x443d7d
444a29:	0b f0                	or     %eax,%esi
444a2b:	66 81 65 08 3f c0    	andw   $0xc03f,0x8(%ebp)
444a31:	f6 45 08 40          	testb  $0x40,0x8(%ebp)
444a35:	74 14                	je     0x444a4b
444a37:	6a 40                	push   $0x40
444a39:	8d 45 f4             	lea    -0xc(%ebp),%eax
444a3c:	50                   	push   %eax
444a3d:	c7 45 f8 10 00 00 00 	movl   $0x10,-0x8(%ebp)
444a44:	e8 34 f3 ff ff       	call   0x443d7d
444a49:	0b f0                	or     %eax,%esi
444a4b:	f6 45 08 80          	testb  $0x80,0x8(%ebp)
444a4f:	74 17                	je     0x444a68
444a51:	68 80 00 00 00       	push   $0x80
444a56:	8d 45 f4             	lea    -0xc(%ebp),%eax
444a59:	50                   	push   %eax
444a5a:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
444a61:	e8 17 f3 ff ff       	call   0x443d7d
444a66:	0b f0                	or     %eax,%esi
444a68:	b8 00 01 00 00       	mov    $0x100,%eax
444a6d:	85 45 08             	test   %eax,0x8(%ebp)
444a70:	74 0f                	je     0x444a81
444a72:	50                   	push   %eax
444a73:	8d 45 f4             	lea    -0xc(%ebp),%eax
444a76:	50                   	push   %eax
444a77:	89 5d f8             	mov    %ebx,-0x8(%ebp)
444a7a:	e8 fe f2 ff ff       	call   0x443d7d
444a7f:	0b f0                	or     %eax,%esi
444a81:	b8 00 02 00 00       	mov    $0x200,%eax
444a86:	85 45 08             	test   %eax,0x8(%ebp)
444a89:	74 13                	je     0x444a9e
444a8b:	50                   	push   %eax
444a8c:	8d 45 f4             	lea    -0xc(%ebp),%eax
444a8f:	50                   	push   %eax
444a90:	c7 45 f8 20 00 00 00 	movl   $0x20,-0x8(%ebp)
444a97:	e8 e1 f2 ff ff       	call   0x443d7d
444a9c:	0b f0                	or     %eax,%esi
444a9e:	bb 00 04 00 00       	mov    $0x400,%ebx
444aa3:	85 5d 08             	test   %ebx,0x8(%ebp)
444aa6:	74 13                	je     0x444abb
444aa8:	53                   	push   %ebx
444aa9:	8d 45 f4             	lea    -0xc(%ebp),%eax
444aac:	50                   	push   %eax
444aad:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
444ab4:	e8 c4 f2 ff ff       	call   0x443d7d
444ab9:	0b f0                	or     %eax,%esi
444abb:	bf 00 08 00 00       	mov    $0x800,%edi
444ac0:	85 7d 08             	test   %edi,0x8(%ebp)
444ac3:	74 13                	je     0x444ad8
444ac5:	57                   	push   %edi
444ac6:	8d 45 f4             	lea    -0xc(%ebp),%eax
444ac9:	50                   	push   %eax
444aca:	c7 45 f8 40 00 00 00 	movl   $0x40,-0x8(%ebp)
444ad1:	e8 a7 f2 ff ff       	call   0x443d7d
444ad6:	0b f0                	or     %eax,%esi
444ad8:	b8 00 10 00 00       	mov    $0x1000,%eax
444add:	85 45 08             	test   %eax,0x8(%ebp)