43a944:	50                   	push   %eax
43a945:	e8 8b 10 03 00       	call   0x46b9d5
43a94a:	8b d0                	mov    %eax,%edx
43a94c:	83 c4 14             	add    $0x14,%esp
43a94f:	85 d2                	test   %edx,%edx
43a951:	75 04                	jne    0x43a957
43a953:	03 f6                	add    %esi,%esi
43a955:	eb cb                	jmp    0x43a922
43a957:	83 7d e0 08          	cmpl   $0x8,-0x20(%ebp)
43a95b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43a95e:	8b 5d c0             	mov    -0x40(%ebp),%ebx
43a961:	72 03                	jb     0x43a966
43a963:	8b 4d cc             	mov    -0x34(%ebp),%ecx
43a966:	8d 45 cc             	lea    -0x34(%ebp),%eax
43a969:	72 03                	jb     0x43a96e
43a96b:	8b 45 cc             	mov    -0x34(%ebp),%eax
43a96e:	ff 75 10             	push   0x10(%ebp)
43a971:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
43a974:	ff 75 0c             	push   0xc(%ebp)
43a977:	51                   	push   %ecx
43a978:	8d 48 02             	lea    0x2(%eax),%ecx
43a97b:	51                   	push   %ecx
43a97c:	53                   	push   %ebx
43a97d:	e8 f4 3e ff ff       	call   0x42e876
43a982:	83 c4 14             	add    $0x14,%esp
43a985:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43a988:	e8 6d 29 fe ff       	call   0x41d2fa
43a98d:	8b c3                	mov    %ebx,%eax
43a98f:	e8 94 50 00 00       	call   0x43fa28
43a994:	c2 20 00             	ret    $0x20
43a997:	6a 34                	push   $0x34
43a999:	b8 7f 28 49 00       	mov    $0x49287f,%eax
43a99e:	e8 db 50 00 00       	call   0x43fa7e
43a9a3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
43a9a6:	8b 45 1c             	mov    0x1c(%ebp),%eax
43a9a9:	8d 7d e4             	lea    -0x1c(%ebp),%edi
43a9ac:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a9af:	be cc a9 49 00       	mov    $0x49a9cc,%esi
43a9b4:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
43a9b8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43a9bb:	33 c0                	xor    %eax,%eax
43a9bd:	89 5d c0             	mov    %ebx,-0x40(%ebp)
43a9c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a9c1:	c7 45 e0 07 00 00 00 	movl   $0x7,-0x20(%ebp)
43a9c8:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
43a9cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a9cd:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
43a9cf:	21 45 fc             	and    %eax,-0x4(%ebp)
43a9d2:	8a 45 24             	mov    0x24(%ebp),%al
43a9d5:	84 c0                	test   %al,%al
43a9d7:	75 0b                	jne    0x43a9e4
43a9d9:	66 0f be 45 20       	movsbw 0x20(%ebp),%ax
43a9de:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
43a9e2:	eb 0f                	jmp    0x43a9f3
43a9e4:	66 98                	cbtw
43a9e6:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
43a9ea:	66 0f be 45 20       	movsbw 0x20(%ebp),%ax
43a9ef:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
43a9f3:	8b 7d c8             	mov    -0x38(%ebp),%edi
43a9f6:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
43a9f9:	6a 10                	push   $0x10
43a9fb:	5e                   	pop    %esi
43a9fc:	6a 00                	push   $0x0
43a9fe:	56                   	push   %esi
43a9ff:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43aa02:	e8 1a 4c fe ff       	call   0x41f621
43aa07:	83 7d e0 08          	cmpl   $0x8,-0x20(%ebp)
43aa0b:	8d 45 cc             	lea    -0x34(%ebp),%eax
43aa0e:	72 03                	jb     0x43aa13
43aa10:	8b 45 cc             	mov    -0x34(%ebp),%eax
43aa13:	ff 77 08             	push   0x8(%edi)
43aa16:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43aa19:	53                   	push   %ebx
43aa1a:	51                   	push   %ecx
43aa1b:	ff 75 dc             	push   -0x24(%ebp)
43aa1e:	50                   	push   %eax
43aa1f:	e8 b1 0f 03 00       	call   0x46b9d5
43aa24:	8b d0                	mov    %eax,%edx
43aa26:	83 c4 14             	add    $0x14,%esp
43aa29:	85 d2                	test   %edx,%edx
43aa2b:	75 04                	jne    0x43aa31
43aa2d:	03 f6                	add    %esi,%esi
43aa2f:	eb cb                	jmp    0x43a9fc
43aa31:	83 7d e0 08          	cmpl   $0x8,-0x20(%ebp)
43aa35:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43aa38:	8b 5d c0             	mov    -0x40(%ebp),%ebx
43aa3b:	72 03                	jb     0x43aa40
43aa3d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
43aa40:	8d 45 cc             	lea    -0x34(%ebp),%eax
43aa43:	72 03                	jb     0x43aa48
43aa45:	8b 45 cc             	mov    -0x34(%ebp),%eax
43aa48:	ff 75 10             	push   0x10(%ebp)
43aa4b:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
43aa4e:	ff 75 0c             	push   0xc(%ebp)
43aa51:	51                   	push   %ecx
43aa52:	8d 48 02             	lea    0x2(%eax),%ecx
43aa55:	51                   	push   %ecx
43aa56:	53                   	push   %ebx
43aa57:	e8 48 3e ff ff       	call   0x42e8a4
43aa5c:	83 c4 14             	add    $0x14,%esp
43aa5f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43aa62:	e8 93 28 fe ff       	call   0x41d2fa
43aa67:	8b c3                	mov    %ebx,%eax
43aa69:	e8 ba 4f 00 00       	call   0x43fa28
43aa6e:	c2 20 00             	ret    $0x20
43aa71:	55                   	push   %ebp
43aa72:	8b ec                	mov    %esp,%ebp
43aa74:	53                   	push   %ebx
43aa75:	57                   	push   %edi
43aa76:	8b 7d 0c             	mov    0xc(%ebp),%edi
43aa79:	8b d9                	mov    %ecx,%ebx
43aa7b:	3b 7d 10             	cmp    0x10(%ebp),%edi
43aa7e:	74 26                	je     0x43aaa6
43aa80:	56                   	push   %esi
43aa81:	0f b7 0f             	movzwl (%edi),%ecx
43aa84:	8b 03                	mov    (%ebx),%eax
43aa86:	51                   	push   %ecx
43aa87:	ff 75 08             	push   0x8(%ebp)
43aa8a:	8b 70 10             	mov    0x10(%eax),%esi
43aa8d:	8b ce                	mov    %esi,%ecx
43aa8f:	ff 15 54 43 49 00    	call   *0x494354
43aa95:	8b cb                	mov    %ebx,%ecx
43aa97:	ff d6                	call   *%esi
43aa99:	84 c0                	test   %al,%al
43aa9b:	75 08                	jne    0x43aaa5
43aa9d:	83 c7 02             	add    $0x2,%edi
43aaa0:	3b 7d 10             	cmp    0x10(%ebp),%edi
43aaa3:	75 dc                	jne    0x43aa81
43aaa5:	5e                   	pop    %esi
43aaa6:	8b c7                	mov    %edi,%eax
43aaa8:	5f                   	pop    %edi
43aaa9:	5b                   	pop    %ebx
43aaaa:	5d                   	pop    %ebp
43aaab:	c2 0c 00             	ret    $0xc
43aaae:	55                   	push   %ebp
43aaaf:	8b ec                	mov    %esp,%ebp
43aab1:	53                   	push   %ebx
43aab2:	57                   	push   %edi
43aab3:	8b 7d 0c             	mov    0xc(%ebp),%edi
43aab6:	8b d9                	mov    %ecx,%ebx
43aab8:	3b 7d 10             	cmp    0x10(%ebp),%edi
43aabb:	74 26                	je     0x43aae3
43aabd:	56                   	push   %esi
43aabe:	0f b7 0f             	movzwl (%edi),%ecx
43aac1:	8b 03                	mov    (%ebx),%eax
43aac3:	51                   	push   %ecx
43aac4:	ff 75 08             	push   0x8(%ebp)
43aac7:	8b 70 10             	mov    0x10(%eax),%esi
43aaca:	8b ce                	mov    %esi,%ecx
43aacc:	ff 15 54 43 49 00    	call   *0x494354
43aad2:	8b cb                	mov    %ebx,%ecx
43aad4:	ff d6                	call   *%esi
43aad6:	84 c0                	test   %al,%al
43aad8:	74 08                	je     0x43aae2
43aada:	83 c7 02             	add    $0x2,%edi
43aadd:	3b 7d 10             	cmp    0x10(%ebp),%edi
43aae0:	75 dc                	jne    0x43aabe
43aae2:	5e                   	pop    %esi
43aae3:	8b c7                	mov    %edi,%eax
43aae5:	5f                   	pop    %edi
43aae6:	5b                   	pop    %ebx
43aae7:	5d                   	pop    %ebp
43aae8:	c2 0c 00             	ret    $0xc
43aaeb:	66 8b 41 0e          	mov    0xe(%ecx),%ax
43aaef:	c3                   	ret
43aaf0:	66 8b 41 0e          	mov    0xe(%ecx),%ax
43aaf4:	c3                   	ret
43aaf5:	66 8b 41 0e          	mov    0xe(%ecx),%ax
43aaf9:	c3                   	ret
43aafa:	55                   	push   %ebp
43aafb:	8b ec                	mov    %esp,%ebp
43aafd:	8d 41 08             	lea    0x8(%ecx),%eax
43ab00:	50                   	push   %eax
43ab01:	ff 75 08             	push   0x8(%ebp)
43ab04:	e8 8a ba fe ff       	call   0x426593
43ab09:	59                   	pop    %ecx
43ab0a:	59                   	pop    %ecx
43ab0b:	5d                   	pop    %ebp
43ab0c:	c2 04 00             	ret    $0x4
43ab0f:	55                   	push   %ebp
43ab10:	8b ec                	mov    %esp,%ebp
43ab12:	51                   	push   %ecx
43ab13:	8b 45 0c             	mov    0xc(%ebp),%eax
43ab16:	53                   	push   %ebx
43ab17:	56                   	push   %esi
43ab18:	8b 75 08             	mov    0x8(%ebp),%esi
43ab1b:	33 db                	xor    %ebx,%ebx
43ab1d:	2b c6                	sub    %esi,%eax
43ab1f:	40                   	inc    %eax
43ab20:	d1 e8                	shr    $1,%eax
43ab22:	39 75 0c             	cmp    %esi,0xc(%ebp)
43ab25:	57                   	push   %edi
43ab26:	1b ff                	sbb    %edi,%edi
43ab28:	f7 d7                	not    %edi
43ab2a:	23 f8                	and    %eax,%edi
43ab2c:	74 20                	je     0x43ab4e
43ab2e:	8d 41 08             	lea    0x8(%ecx),%eax
43ab31:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ab34:	50                   	push   %eax
43ab35:	0f b7 06             	movzwl (%esi),%eax
43ab38:	50                   	push   %eax
43ab39:	e8 55 ba fe ff       	call   0x426593
43ab3e:	66 89 06             	mov    %ax,(%esi)
43ab41:	83 c6 02             	add    $0x2,%esi
43ab44:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ab47:	43                   	inc    %ebx
43ab48:	59                   	pop    %ecx
43ab49:	59                   	pop    %ecx
43ab4a:	3b df                	cmp    %edi,%ebx
43ab4c:	75 e6                	jne    0x43ab34
43ab4e:	5f                   	pop    %edi
43ab4f:	8b c6                	mov    %esi,%eax
43ab51:	5e                   	pop    %esi
43ab52:	5b                   	pop    %ebx
43ab53:	c9                   	leave
43ab54:	c2 08 00             	ret    $0x8
43ab57:	55                   	push   %ebp
43ab58:	8b ec                	mov    %esp,%ebp
43ab5a:	8d 41 08             	lea    0x8(%ecx),%eax
43ab5d:	50                   	push   %eax
43ab5e:	ff 75 08             	push   0x8(%ebp)
43ab61:	e8 8d ba fe ff       	call   0x4265f3
43ab66:	59                   	pop    %ecx
43ab67:	59                   	pop    %ecx
43ab68:	5d                   	pop    %ebp
43ab69:	c2 04 00             	ret    $0x4
43ab6c:	55                   	push   %ebp
43ab6d:	8b ec                	mov    %esp,%ebp
43ab6f:	51                   	push   %ecx
43ab70:	8b 45 0c             	mov    0xc(%ebp),%eax
43ab73:	53                   	push   %ebx
43ab74:	56                   	push   %esi
43ab75:	8b 75 08             	mov    0x8(%ebp),%esi
43ab78:	33 db                	xor    %ebx,%ebx
43ab7a:	2b c6                	sub    %esi,%eax
43ab7c:	40                   	inc    %eax
43ab7d:	d1 e8                	shr    $1,%eax
43ab7f:	39 75 0c             	cmp    %esi,0xc(%ebp)
43ab82:	57                   	push   %edi
43ab83:	1b ff                	sbb    %edi,%edi
43ab85:	f7 d7                	not    %edi
43ab87:	23 f8                	and    %eax,%edi
43ab89:	74 20                	je     0x43abab
43ab8b:	8d 41 08             	lea    0x8(%ecx),%eax
43ab8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ab91:	50                   	push   %eax
43ab92:	0f b7 06             	movzwl (%esi),%eax
43ab95:	50                   	push   %eax
43ab96:	e8 58 ba fe ff       	call   0x4265f3
43ab9b:	66 89 06             	mov    %ax,(%esi)
43ab9e:	83 c6 02             	add    $0x2,%esi
43aba1:	8b 45 fc             	mov    -0x4(%ebp),%eax
43aba4:	43                   	inc    %ebx
43aba5:	59                   	pop    %ecx
43aba6:	59                   	pop    %ecx
43aba7:	3b df                	cmp    %edi,%ebx
43aba9:	75 e6                	jne    0x43ab91
43abab:	5f                   	pop    %edi
43abac:	8b c6                	mov    %esi,%eax
43abae:	5e                   	pop    %esi
43abaf:	5b                   	pop    %ebx
43abb0:	c9                   	leave
43abb1:	c2 08 00             	ret    $0x8
43abb4:	6a 04                	push   $0x4
43abb6:	b8 bd 28 49 00       	mov    $0x4928bd,%eax
43abbb:	e8 8a 4e 00 00       	call   0x43fa4a
43abc0:	33 db                	xor    %ebx,%ebx
43abc2:	33 c0                	xor    %eax,%eax
43abc4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43abc7:	8b 75 08             	mov    0x8(%ebp),%esi
43abca:	89 5e 10             	mov    %ebx,0x10(%esi)
43abcd:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
43abd4:	66 89 06             	mov    %ax,(%esi)
43abd7:	8b 45 10             	mov    0x10(%ebp),%eax
43abda:	2b 45 0c             	sub    0xc(%ebp),%eax
43abdd:	d1 f8                	sar    $1,%eax
43abdf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43abe2:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
43abe9:	74 3c                	je     0x43ac27
43abeb:	8d 79 08             	lea    0x8(%ecx),%edi
43abee:	53                   	push   %ebx
43abef:	50                   	push   %eax
43abf0:	8b ce                	mov    %esi,%ecx
43abf2:	e8 4e 08 00 00       	call   0x43b445
43abf7:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43abfb:	8b d6                	mov    %esi,%edx
43abfd:	72 02                	jb     0x43ac01
43abff:	8b 16                	mov    (%esi),%edx
43ac01:	8b ce                	mov    %esi,%ecx
43ac03:	72 02                	jb     0x43ac07
43ac05:	8b 0e                	mov    (%esi),%ecx
43ac07:	8b 46 10             	mov    0x10(%esi),%eax
43ac0a:	57                   	push   %edi
43ac0b:	ff 75 10             	push   0x10(%ebp)
43ac0e:	ff 75 0c             	push   0xc(%ebp)
43ac11:	8d 04 42             	lea    (%edx,%eax,2),%eax
43ac14:	50                   	push   %eax
43ac15:	51                   	push   %ecx
43ac16:	e8 21 31 ff ff       	call   0x42dd3c
43ac1b:	83 c4 14             	add    $0x14,%esp
43ac1e:	3b 46 10             	cmp    0x10(%esi),%eax
43ac21:	76 04                	jbe    0x43ac27
43ac23:	85 c0                	test   %eax,%eax
43ac25:	75 c7                	jne    0x43abee
43ac27:	53                   	push   %ebx
43ac28:	50                   	push   %eax
43ac29:	8b ce                	mov    %esi,%ecx
43ac2b:	e8 15 08 00 00       	call   0x43b445
43ac30:	8b c6                	mov    %esi,%eax
43ac32:	e8 dc 4d 00 00       	call   0x43fa13
43ac37:	c2 0c 00             	ret    $0xc
43ac3a:	55                   	push   %ebp
43ac3b:	8b ec                	mov    %esp,%ebp
43ac3d:	ff 71 14             	push   0x14(%ecx)
43ac40:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ac43:	e8 54 4c ff ff       	call   0x42f89c
43ac48:	8b 45 08             	mov    0x8(%ebp),%eax
43ac4b:	5d                   	pop    %ebp
43ac4c:	c2 04 00             	ret    $0x4
43ac4f:	55                   	push   %ebp
43ac50:	8b ec                	mov    %esp,%ebp
43ac52:	83 ec 18             	sub    $0x18,%esp
43ac55:	a1 94 80 4b 00       	mov    0x4b8094,%eax
43ac5a:	33 c5                	xor    %ebp,%eax
43ac5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ac5f:	8b 55 08             	mov    0x8(%ebp),%edx
43ac62:	8b 45 0c             	mov    0xc(%ebp),%eax
43ac65:	53                   	push   %ebx
43ac66:	8b 5d 14             	mov    0x14(%ebp),%ebx
43ac69:	56                   	push   %esi
43ac6a:	57                   	push   %edi
43ac6b:	33 ff                	xor    %edi,%edi
43ac6d:	89 55 f0             	mov    %edx,-0x10(%ebp)
43ac70:	89 03                	mov    %eax,(%ebx)
43ac72:	8b 02                	mov    (%edx),%eax
43ac74:	89 45 ec             	mov    %eax,-0x14(%ebp)
43ac77:	8b 42 04             	mov    0x4(%edx),%eax
43ac7a:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ac7d:	8d 41 08             	lea    0x8(%ecx),%eax
43ac80:	50                   	push   %eax
43ac81:	52                   	push   %edx
43ac82:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ac85:	57                   	push   %edi
43ac86:	50                   	push   %eax
43ac87:	e8 87 b3 fe ff       	call   0x426013
43ac8c:	8b f0                	mov    %eax,%esi
43ac8e:	83 c4 10             	add    $0x10,%esp
43ac91:	85 f6                	test   %esi,%esi
43ac93:	7f 05                	jg     0x43ac9a
43ac95:	6a 02                	push   $0x2