44a852:	55                   	push   %ebp
44a853:	8b ec                	mov    %esp,%ebp
44a855:	83 e4 f8             	and    $0xfffffff8,%esp
44a858:	83 ec 24             	sub    $0x24,%esp
44a85b:	8b 55 24             	mov    0x24(%ebp),%edx
44a85e:	53                   	push   %ebx
44a85f:	56                   	push   %esi
44a860:	8b 75 08             	mov    0x8(%ebp),%esi
44a863:	33 db                	xor    %ebx,%ebx
44a865:	57                   	push   %edi
44a866:	8b f9                	mov    %ecx,%edi
44a868:	89 5c 24 10          	mov    %ebx,0x10(%esp)
44a86c:	8b 4d 18             	mov    0x18(%ebp),%ecx
44a86f:	83 e1 03             	and    $0x3,%ecx
44a872:	03 c9                	add    %ecx,%ecx
44a874:	8b 87 30 02 00 00    	mov    0x230(%edi),%eax
44a87a:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
44a880:	8b 45 10             	mov    0x10(%ebp),%eax
44a883:	89 46 68             	mov    %eax,0x68(%esi)
44a886:	8b 45 14             	mov    0x14(%ebp),%eax
44a889:	89 46 6c             	mov    %eax,0x6c(%esi)
44a88c:	8b 46 44             	mov    0x44(%esi),%eax
44a88f:	83 e0 f0             	and    $0xfffffff0,%eax
44a892:	89 56 7c             	mov    %edx,0x7c(%esi)
44a895:	8b 55 28             	mov    0x28(%ebp),%edx
44a898:	0b c8                	or     %eax,%ecx
44a89a:	8b 45 0c             	mov    0xc(%ebp),%eax
44a89d:	83 e0 01             	and    $0x1,%eax
44a8a0:	89 56 78             	mov    %edx,0x78(%esi)
44a8a3:	8b 55 30             	mov    0x30(%ebp),%edx
44a8a6:	0b c8                	or     %eax,%ecx
44a8a8:	8b 45 1c             	mov    0x1c(%ebp),%eax
44a8ab:	89 4e 44             	mov    %ecx,0x44(%esi)
44a8ae:	8b 4d 20             	mov    0x20(%ebp),%ecx
44a8b1:	89 96 84 00 00 00    	mov    %edx,0x84(%esi)
44a8b7:	8b 55 2c             	mov    0x2c(%ebp),%edx
44a8ba:	89 46 70             	mov    %eax,0x70(%esi)
44a8bd:	89 4e 74             	mov    %ecx,0x74(%esi)
44a8c0:	89 96 88 00 00 00    	mov    %edx,0x88(%esi)
44a8c6:	89 46 08             	mov    %eax,0x8(%esi)
44a8c9:	89 4e 0c             	mov    %ecx,0xc(%esi)
44a8cc:	89 5e 1c             	mov    %ebx,0x1c(%esi)
44a8cf:	89 9e c0 00 00 00    	mov    %ebx,0xc0(%esi)
44a8d5:	80 7e 5c 80          	cmpb   $0x80,0x5c(%esi)
44a8d9:	73 7a                	jae    0x44a955
44a8db:	80 7e 64 ff          	cmpb   $0xff,0x64(%esi)
44a8df:	75 74                	jne    0x44a955
44a8e1:	83 7e 60 ff          	cmpl   $0xffffffff,0x60(%esi)
44a8e5:	75 6e                	jne    0x44a955
44a8e7:	e8 04 34 ff ff       	call   0x43dcf0
44a8ec:	c7 44 24 1c a8 17 41 	movl   $0x4117a8,0x1c(%esp)
44a8f3:	00
44a8f4:	c7 44 24 20 ff ff ff 	movl   $0xffffffff,0x20(%esp)
44a8fb:	ff
44a8fc:	8b 40 6c             	mov    0x6c(%eax),%eax
44a8ff:	89 44 24 18          	mov    %eax,0x18(%esp)
44a903:	33 c0                	xor    %eax,%eax
44a905:	89 44 24 24          	mov    %eax,0x24(%esp)
44a909:	89 44 24 28          	mov    %eax,0x28(%esp)
44a90d:	89 44 24 2c          	mov    %eax,0x2c(%esp)
44a911:	e8 da 33 ff ff       	call   0x43dcf0
44a916:	8b 4c 24 18          	mov    0x18(%esp),%ecx
44a91a:	83 c0 70             	add    $0x70,%eax
44a91d:	85 c9                	test   %ecx,%ecx
44a91f:	75 04                	jne    0x44a925
44a921:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
44a925:	50                   	push   %eax
44a926:	51                   	push   %ecx
44a927:	8d 4e 48             	lea    0x48(%esi),%ecx
44a92a:	e8 81 12 00 00       	call   0x44bbb0
44a92f:	b8 a8 17 41 00       	mov    $0x4117a8,%eax
44a934:	3b c0                	cmp    %eax,%eax
44a936:	74 1d                	je     0x44a955
44a938:	85 c0                	test   %eax,%eax
44a93a:	74 19                	je     0x44a955
44a93c:	50                   	push   %eax
44a93d:	6a 00                	push   $0x0
44a93f:	ff 35 00 12 45 00    	push   0x451200
44a945:	ff 15 18 21 45 00    	call   *0x452118
44a94b:	85 c0                	test   %eax,%eax
44a94d:	75 06                	jne    0x44a955
44a94f:	ff 15 6c 20 45 00    	call   *0x45206c
44a955:	e8 36 2c fe ff       	call   0x42d590
44a95a:	8b 4e 44             	mov    0x44(%esi),%ecx
44a95d:	89 46 38             	mov    %eax,0x38(%esi)
44a960:	89 56 3c             	mov    %edx,0x3c(%esi)
44a963:	f6 c1 01             	test   $0x1,%cl
44a966:	0f 84 e0 02 00 00    	je     0x44ac4c
44a96c:	8b 5e 7c             	mov    0x7c(%esi),%ebx
44a96f:	8b d1                	mov    %ecx,%edx
44a971:	c1 e2 1d             	shl    $0x1d,%edx
44a974:	33 c0                	xor    %eax,%eax
44a976:	c1 fa 1e             	sar    $0x1e,%edx
44a979:	03 5e 70             	add    0x70(%esi),%ebx
44a97c:	89 5c 24 14          	mov    %ebx,0x14(%esp)
44a980:	bb 00 00 00 00       	mov    $0x0,%ebx
44a985:	13 46 74             	adc    0x74(%esi),%eax
44a988:	3b 84 d7 5c 02 00 00 	cmp    0x25c(%edi,%edx,8),%eax
44a98f:	0f 82 b7 02 00 00    	jb     0x44ac4c
44a995:	77 11                	ja     0x44a9a8
44a997:	8b 44 24 14          	mov    0x14(%esp),%eax
44a99b:	3b 84 d7 58 02 00 00 	cmp    0x258(%edi,%edx,8),%eax
44a9a2:	0f 86 a4 02 00 00    	jbe    0x44ac4c
44a9a8:	81 e1 ff fd ff ff    	and    $0xfffffdff,%ecx
44a9ae:	89 4e 44             	mov    %ecx,0x44(%esi)
44a9b1:	f6 c1 40             	test   $0x40,%cl
44a9b4:	75 28                	jne    0x44a9de
44a9b6:	8b 87 30 02 00 00    	mov    0x230(%edi),%eax
44a9bc:	56                   	push   %esi
44a9bd:	ff 75 14             	push   0x14(%ebp)
44a9c0:	8b 08                	mov    (%eax),%ecx
44a9c2:	ff 75 10             	push   0x10(%ebp)
44a9c5:	8b 89 b0 03 00 00    	mov    0x3b0(%ecx),%ecx
44a9cb:	e8 80 84 fe ff       	call   0x432e50
44a9d0:	8b d8                	mov    %eax,%ebx
44a9d2:	89 5c 24 10          	mov    %ebx,0x10(%esp)
44a9d6:	85 db                	test   %ebx,%ebx
44a9d8:	0f 88 b8 01 00 00    	js     0x44ab96
44a9de:	8b 5d 34             	mov    0x34(%ebp),%ebx
44a9e1:	8d 46 48             	lea    0x48(%esi),%eax
44a9e4:	89 44 24 14          	mov    %eax,0x14(%esp)
44a9e8:	85 db                	test   %ebx,%ebx
44a9ea:	74 26                	je     0x44aa12
44a9ec:	56                   	push   %esi
44a9ed:	ff 75 30             	push   0x30(%ebp)
44a9f0:	8b cb                	mov    %ebx,%ecx
44a9f2:	ff 75 28             	push   0x28(%ebp)
44a9f5:	ff 75 24             	push   0x24(%ebp)
44a9f8:	ff 75 20             	push   0x20(%ebp)
44a9fb:	ff 75 1c             	push   0x1c(%ebp)
44a9fe:	ff 75 14             	push   0x14(%ebp)
44aa01:	ff 75 10             	push   0x10(%ebp)
44aa04:	50                   	push   %eax
44aa05:	57                   	push   %edi
44aa06:	6a 00                	push   $0x0
44aa08:	ff 15 84 23 45 00    	call   *0x452384
44aa0e:	ff d3                	call   *%ebx
44aa10:	eb 04                	jmp    0x44aa16
44aa12:	89 44 24 14          	mov    %eax,0x14(%esp)
44aa16:	6a 68                	push   $0x68
44aa18:	6a 00                	push   $0x0
44aa1a:	ff 35 00 12 45 00    	push   0x451200
44aa20:	ff 15 24 21 45 00    	call   *0x452124
44aa26:	8b d8                	mov    %eax,%ebx
44aa28:	85 db                	test   %ebx,%ebx
44aa2a:	74 18                	je     0x44aa44
44aa2c:	6a 68                	push   $0x68
44aa2e:	6a 00                	push   $0x0
44aa30:	53                   	push   %ebx
44aa31:	e8 2b 30 00 00       	call   0x44da61
44aa36:	83 c4 0c             	add    $0xc,%esp
44aa39:	8b cb                	mov    %ebx,%ecx
44aa3b:	e8 b0 e6 ff ff       	call   0x4490f0
44aa40:	8b d8                	mov    %eax,%ebx
44aa42:	eb 02                	jmp    0x44aa46
44aa44:	33 db                	xor    %ebx,%ebx
44aa46:	c6 46 2c 0e          	movb   $0xe,0x2c(%esi)
44aa4a:	85 db                	test   %ebx,%ebx
44aa4c:	75 11                	jne    0x44aa5f
44aa4e:	8b 56 7c             	mov    0x7c(%esi),%edx
44aa51:	8d 4b 08             	lea    0x8(%ebx),%ecx
44aa54:	56                   	push   %esi
44aa55:	e8 b6 bb fe ff       	call   0x436610
44aa5a:	e9 33 01 00 00       	jmp    0x44ab92
44aa5f:	8b 45 18             	mov    0x18(%ebp),%eax
44aa62:	8d 4b 14             	lea    0x14(%ebx),%ecx
44aa65:	89 43 10             	mov    %eax,0x10(%ebx)
44aa68:	8d 46 5c             	lea    0x5c(%esi),%eax
44aa6b:	50                   	push   %eax
44aa6c:	ff 74 24 18          	push   0x18(%esp)
44aa70:	89 7b 08             	mov    %edi,0x8(%ebx)
44aa73:	89 73 0c             	mov    %esi,0xc(%ebx)
44aa76:	e8 35 11 00 00       	call   0x44bbb0
44aa7b:	8b 45 1c             	mov    0x1c(%ebp),%eax
44aa7e:	89 43 38             	mov    %eax,0x38(%ebx)
44aa81:	8b 45 20             	mov    0x20(%ebp),%eax
44aa84:	89 43 3c             	mov    %eax,0x3c(%ebx)
44aa87:	8b 45 24             	mov    0x24(%ebp),%eax
44aa8a:	89 43 40             	mov    %eax,0x40(%ebx)
44aa8d:	8b 45 28             	mov    0x28(%ebp),%eax
44aa90:	89 43 44             	mov    %eax,0x44(%ebx)
44aa93:	8b 45 10             	mov    0x10(%ebp),%eax
44aa96:	89 43 48             	mov    %eax,0x48(%ebx)
44aa99:	8b 45 14             	mov    0x14(%ebp),%eax
44aa9c:	89 43 4c             	mov    %eax,0x4c(%ebx)
44aa9f:	8b 45 2c             	mov    0x2c(%ebp),%eax
44aaa2:	89 43 50             	mov    %eax,0x50(%ebx)
44aaa5:	8b 45 30             	mov    0x30(%ebp),%eax
44aaa8:	89 43 54             	mov    %eax,0x54(%ebx)
44aaab:	e8 50 29 fe ff       	call   0x42d400
44aab0:	8d 8f 70 02 00 00    	lea    0x270(%edi),%ecx
44aab6:	89 43 5c             	mov    %eax,0x5c(%ebx)
44aab9:	c7 43 60 00 00 00 00 	movl   $0x0,0x60(%ebx)
44aac0:	c7 43 64 00 00 00 00 	movl   $0x0,0x64(%ebx)
44aac7:	e8 c4 9c fd ff       	call   0x424790
44aacc:	8b 56 44             	mov    0x44(%esi),%edx
44aacf:	c1 e2 1d             	shl    $0x1d,%edx
44aad2:	c1 fa 1e             	sar    $0x1e,%edx
44aad5:	89 54 24 14          	mov    %edx,0x14(%esp)
44aad9:	85 c0                	test   %eax,%eax
44aadb:	74 51                	je     0x44ab2e
44aadd:	8b 8c d7 5c 02 00 00 	mov    0x25c(%edi,%edx,8),%ecx
44aae4:	8b 84 d7 58 02 00 00 	mov    0x258(%edi,%edx,8),%eax
44aaeb:	89 4e 74             	mov    %ecx,0x74(%esi)
44aaee:	89 4e 0c             	mov    %ecx,0xc(%esi)
44aaf1:	8d 8f 4c 02 00 00    	lea    0x24c(%edi),%ecx
44aaf7:	52                   	push   %edx
44aaf8:	89 46 70             	mov    %eax,0x70(%esi)
44aafb:	c7 46 7c 00 00 00 00 	movl   $0x0,0x7c(%esi)
44ab02:	c7 46 78 00 00 00 00 	movl   $0x0,0x78(%esi)
44ab09:	89 9e 84 00 00 00    	mov    %ebx,0x84(%esi)
44ab0f:	c7 86 88 00 00 00 30 	movl   $0x44ad30,0x88(%esi)
44ab16:	ad 44 00
44ab19:	89 46 08             	mov    %eax,0x8(%esi)
44ab1c:	e8 ff 10 00 00       	call   0x44bc20
44ab21:	8b 56 7c             	mov    0x7c(%esi),%edx
44ab24:	33 c9                	xor    %ecx,%ecx
44ab26:	56                   	push   %esi
44ab27:	e8 e4 ba fe ff       	call   0x436610
44ab2c:	eb 64                	jmp    0x44ab92
44ab2e:	8d 8f 74 02 00 00    	lea    0x274(%edi),%ecx
44ab34:	e8 57 9c fd ff       	call   0x424790
44ab39:	85 c0                	test   %eax,%eax
44ab3b:	75 0d                	jne    0x44ab4a
44ab3d:	6a ff                	push   $0xffffffff
44ab3f:	8d 8f 74 02 00 00    	lea    0x274(%edi),%ecx
44ab45:	e8 96 9f fd ff       	call   0x424ae0
44ab4a:	8b 87 7c 02 00 00    	mov    0x27c(%edi),%eax
44ab50:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
44ab57:	85 c0                	test   %eax,%eax
44ab59:	75 0a                	jne    0x44ab65
44ab5b:	89 03                	mov    %eax,(%ebx)
44ab5d:	89 9f 78 02 00 00    	mov    %ebx,0x278(%edi)
44ab63:	eb 0b                	jmp    0x44ab70
44ab65:	89 03                	mov    %eax,(%ebx)
44ab67:	8b 87 7c 02 00 00    	mov    0x27c(%edi),%eax
44ab6d:	89 58 04             	mov    %ebx,0x4(%eax)
44ab70:	6a 01                	push   $0x1
44ab72:	8d 8f 74 02 00 00    	lea    0x274(%edi),%ecx
44ab78:	89 9f 7c 02 00 00    	mov    %ebx,0x27c(%edi)
44ab7e:	e8 bd a2 fc ff       	call   0x414e40
44ab83:	ff 74 24 14          	push   0x14(%esp)
44ab87:	8d 8f 4c 02 00 00    	lea    0x24c(%edi),%ecx
44ab8d:	e8 8e 10 00 00       	call   0x44bc20
44ab92:	8b 5c 24 10          	mov    0x10(%esp),%ebx
44ab96:	81 fb 5a f0 ff ff    	cmp    $0xfffff05a,%ebx
44ab9c:	0f 85 74 01 00 00    	jne    0x44ad16
44aba2:	8b 46 44             	mov    0x44(%esi),%eax
44aba5:	8d 8f 4c 02 00 00    	lea    0x24c(%edi),%ecx
44abab:	c1 e0 1d             	shl    $0x1d,%eax
44abae:	c1 f8 1e             	sar    $0x1e,%eax
44abb1:	50                   	push   %eax
44abb2:	e8 69 10 00 00       	call   0x44bc20
44abb7:	81 66 44 ff fd ff ff 	andl   $0xfffffdff,0x44(%esi)
44abbe:	8b 46 48             	mov    0x48(%esi),%eax
44abc1:	3d a8 17 41 00       	cmp    $0x4117a8,%eax
44abc6:	74 22                	je     0x44abea
44abc8:	c6 40 10 00          	movb   $0x0,0x10(%eax)
44abcc:	33 c9                	xor    %ecx,%ecx
44abce:	8b 46 48             	mov    0x48(%esi),%eax
44abd1:	c6 40 30 00          	movb   $0x0,0x30(%eax)
44abd5:	8b 46 48             	mov    0x48(%esi),%eax
44abd8:	c6 40 50 00          	movb   $0x0,0x50(%eax)
44abdc:	8b 46 48             	mov    0x48(%esi),%eax
44abdf:	89 08                	mov    %ecx,(%eax)
44abe1:	89 48 04             	mov    %ecx,0x4(%eax)
44abe4:	89 48 08             	mov    %ecx,0x8(%eax)
44abe7:	89 48 0c             	mov    %ecx,0xc(%eax)
44abea:	33 c0                	xor    %eax,%eax
44abec:	89 46 4c             	mov    %eax,0x4c(%esi)
44abef:	89 46 50             	mov    %eax,0x50(%esi)
44abf2:	89 46 54             	mov    %eax,0x54(%esi)
44abf5:	89 46 5c             	mov    %eax,0x5c(%esi)
44abf8:	c6 46 64 ff          	movb   $0xff,0x64(%esi)
44abfc:	c7 46 60 ff ff ff ff 	movl   $0xffffffff,0x60(%esi)
44ac03:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
44ac09:	8b 46 44             	mov    0x44(%esi),%eax
44ac0c:	51                   	push   %ecx
44ac0d:	56                   	push   %esi
44ac0e:	a8 10                	test   $0x10,%al
44ac10:	74 1a                	je     0x44ac2c
44ac12:	8b 0d 60 12 45 00    	mov    0x451260,%ecx
44ac18:	c6 46 2c 03          	movb   $0x3,0x2c(%esi)
44ac1c:	e8 3f cd fe ff       	call   0x437960
44ac21:	8b c3                	mov    %ebx,%eax
44ac23:	5f                   	pop    %edi
44ac24:	5e                   	pop    %esi
44ac25:	5b                   	pop    %ebx
44ac26:	8b e5                	mov    %ebp,%esp
44ac28:	5d                   	pop    %ebp
44ac29:	c2 30 00             	ret    $0x30
44ac2c:	8b 0d 64 12 45 00    	mov    0x451264,%ecx
44ac32:	83 e0 df             	and    $0xffffffdf,%eax
44ac35:	89 46 44             	mov    %eax,0x44(%esi)
44ac38:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
44ac3c:	e8 1f cd fe ff       	call   0x437960
44ac41:	8b c3                	mov    %ebx,%eax
44ac43:	5f                   	pop    %edi
44ac44:	5e                   	pop    %esi
44ac45:	5b                   	pop    %ebx
44ac46:	8b e5                	mov    %ebp,%esp
44ac48:	5d                   	pop    %ebp
44ac49:	c2 30 00             	ret    $0x30
44ac4c:	8b ce                	mov    %esi,%ecx
44ac4e:	e8 8d fb ff ff       	call   0x44a7e0
44ac53:	85 c0                	test   %eax,%eax
44ac55:	0f 84 80 00 00 00    	je     0x44acdb
44ac5b:	e8 90 30 ff ff       	call   0x43dcf0
44ac60:	f6 40 10 02          	testb  $0x2,0x10(%eax)
44ac64:	75 75                	jne    0x44acdb
44ac66:	8b 4d 34             	mov    0x34(%ebp),%ecx
44ac69:	85 c9                	test   %ecx,%ecx
44ac6b:	74 26                	je     0x44ac93
44ac6d:	56                   	push   %esi
44ac6e:	ff 75 30             	push   0x30(%ebp)
44ac71:	8d 46 48             	lea    0x48(%esi),%eax
44ac74:	ff 75 28             	push   0x28(%ebp)
44ac77:	ff 75 24             	push   0x24(%ebp)
44ac7a:	ff 75 20             	push   0x20(%ebp)
44ac7d:	ff 75 1c             	push   0x1c(%ebp)
44ac80:	ff 75 14             	push   0x14(%ebp)
44ac83:	ff 75 10             	push   0x10(%ebp)
44ac86:	50                   	push   %eax
44ac87:	57                   	push   %edi
44ac88:	6a 00                	push   $0x0
44ac8a:	ff 15 84 23 45 00    	call   *0x452384
44ac90:	ff 55 34             	call   *0x34(%ebp)
44ac93:	83 7e 7c 00          	cmpl   $0x0,0x7c(%esi)
44ac97:	75 30                	jne    0x44acc9
44ac99:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
44ac9f:	33 d2                	xor    %edx,%edx
44aca1:	8b 4e 74             	mov    0x74(%esi),%ecx
44aca4:	56                   	push   %esi
44aca5:	8b 00                	mov    (%eax),%eax
44aca7:	89 46 40             	mov    %eax,0x40(%esi)
44acaa:	8b 46 70             	mov    0x70(%esi),%eax
44acad:	89 4e 0c             	mov    %ecx,0xc(%esi)
44acb0:	33 c9                	xor    %ecx,%ecx
44acb2:	c6 46 2c 0b          	movb   $0xb,0x2c(%esi)
44acb6:	89 46 08             	mov    %eax,0x8(%esi)
44acb9:	e8 52 b9 fe ff       	call   0x436610
44acbe:	8b c3                	mov    %ebx,%eax
44acc0:	5f                   	pop    %edi
44acc1:	5e                   	pop    %esi
44acc2:	5b                   	pop    %ebx
44acc3:	8b e5                	mov    %ebp,%esp
44acc5:	5d                   	pop    %ebp
44acc6:	c2 30 00             	ret    $0x30
44acc9:	8b ce                	mov    %esi,%ecx
44accb:	e8 50 a7 fe ff       	call   0x435420