43b8a8:	5e                   	pop    %esi
43b8a9:	5b                   	pop    %ebx
43b8aa:	5d                   	pop    %ebp
43b8ab:	c2 0c 00             	ret    $0xc
43b8ae:	8b ff                	mov    %edi,%edi
43b8b0:	55                   	push   %ebp
43b8b1:	8b ec                	mov    %esp,%ebp
43b8b3:	83 ec 28             	sub    $0x28,%esp
43b8b6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43b8b9:	56                   	push   %esi
43b8ba:	6a 00                	push   $0x0
43b8bc:	e8 a2 4e fe ff       	call   0x420763
43b8c1:	8d 45 d8             	lea    -0x28(%ebp),%eax
43b8c4:	50                   	push   %eax
43b8c5:	ff 75 10             	push   0x10(%ebp)
43b8c8:	ff 75 0c             	push   0xc(%ebp)
43b8cb:	ff 75 08             	push   0x8(%ebp)
43b8ce:	e8 12 00 00 00       	call   0x43b8e5
43b8d3:	83 c4 10             	add    $0x10,%esp
43b8d6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43b8d9:	8b f0                	mov    %eax,%esi
43b8db:	e8 cb 4e fe ff       	call   0x4207ab
43b8e0:	8b c6                	mov    %esi,%eax
43b8e2:	5e                   	pop    %esi
43b8e3:	c9                   	leave
43b8e4:	c3                   	ret
43b8e5:	8b ff                	mov    %edi,%edi
43b8e7:	55                   	push   %ebp
43b8e8:	8b ec                	mov    %esp,%ebp
43b8ea:	83 ec 2c             	sub    $0x2c,%esp
43b8ed:	53                   	push   %ebx
43b8ee:	8b 5d 08             	mov    0x8(%ebp),%ebx
43b8f1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
43b8f4:	56                   	push   %esi
43b8f5:	57                   	push   %edi
43b8f6:	ff 75 10             	push   0x10(%ebp)
43b8f9:	8b 7d 14             	mov    0x14(%ebp),%edi
43b8fc:	ff 75 0c             	push   0xc(%ebp)
43b8ff:	53                   	push   %ebx
43b900:	e8 5c ff ff ff       	call   0x43b861
43b905:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43b908:	23 45 d8             	and    -0x28(%ebp),%eax
43b90b:	83 f8 ff             	cmp    $0xffffffff,%eax
43b90e:	0f 84 40 01 00 00    	je     0x43ba54
43b914:	8b 45 dc             	mov    -0x24(%ebp),%eax
43b917:	23 45 e0             	and    -0x20(%ebp),%eax
43b91a:	83 f8 ff             	cmp    $0xffffffff,%eax
43b91d:	0f 84 31 01 00 00    	je     0x43ba54
43b923:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43b926:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43b929:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43b92c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b92f:	85 c9                	test   %ecx,%ecx
43b931:	0f 8c d2 00 00 00    	jl     0x43ba09
43b937:	7f 08                	jg     0x43b941
43b939:	85 c0                	test   %eax,%eax
43b93b:	0f 84 be 00 00 00    	je     0x43b9ff
43b941:	6a 01                	push   $0x1
43b943:	68 00 10 00 00       	push   $0x1000
43b948:	e8 cd 0a ff ff       	call   0x42c41a
43b94d:	8b f0                	mov    %eax,%esi
43b94f:	59                   	pop    %ecx
43b950:	59                   	pop    %ecx
43b951:	85 f6                	test   %esi,%esi
43b953:	75 0f                	jne    0x43b964
43b955:	6a 0c                	push   $0xc
43b957:	5b                   	pop    %ebx
43b958:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
43b95c:	89 5f 18             	mov    %ebx,0x18(%edi)
43b95f:	e9 92 00 00 00       	jmp    0x43b9f6
43b964:	68 00 80 00 00       	push   $0x8000
43b969:	53                   	push   %ebx
43b96a:	e8 11 e6 fe ff       	call   0x429f80
43b96f:	59                   	pop    %ecx
43b970:	59                   	pop    %ecx
43b971:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43b974:	89 45 f4             	mov    %eax,-0xc(%ebp)
43b977:	8b 45 e8             	mov    -0x18(%ebp),%eax
43b97a:	85 c0                	test   %eax,%eax
43b97c:	7c 0f                	jl     0x43b98d
43b97e:	7f 08                	jg     0x43b988
43b980:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
43b986:	72 05                	jb     0x43b98d
43b988:	b9 00 10 00 00       	mov    $0x1000,%ecx
43b98d:	57                   	push   %edi
43b98e:	51                   	push   %ecx
43b98f:	56                   	push   %esi
43b990:	53                   	push   %ebx
43b991:	e8 ed e4 ff ff       	call   0x439e83
43b996:	83 c4 10             	add    $0x10,%esp
43b999:	83 f8 ff             	cmp    $0xffffffff,%eax
43b99c:	74 34                	je     0x43b9d2
43b99e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43b9a1:	99                   	cltd
43b9a2:	2b c8                	sub    %eax,%ecx
43b9a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
43b9a7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43b9aa:	1b c2                	sbb    %edx,%eax
43b9ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
43b9af:	85 c0                	test   %eax,%eax
43b9b1:	7f d5                	jg     0x43b988
43b9b3:	7c 04                	jl     0x43b9b9
43b9b5:	85 c9                	test   %ecx,%ecx
43b9b7:	75 c1                	jne    0x43b97a
43b9b9:	ff 75 f4             	push   -0xc(%ebp)
43b9bc:	53                   	push   %ebx
43b9bd:	e8 be e5 fe ff       	call   0x429f80
43b9c2:	56                   	push   %esi
43b9c3:	e8 af 0a ff ff       	call   0x42c477
43b9c8:	83 c4 0c             	add    $0xc,%esp
43b9cb:	33 db                	xor    %ebx,%ebx
43b9cd:	e9 90 00 00 00       	jmp    0x43ba62
43b9d2:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
43b9d6:	74 11                	je     0x43b9e9
43b9d8:	83 7f 20 05          	cmpl   $0x5,0x20(%edi)
43b9dc:	75 0b                	jne    0x43b9e9
43b9de:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
43b9e2:	c7 47 18 0d 00 00 00 	movl   $0xd,0x18(%edi)
43b9e9:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
43b9ed:	74 05                	je     0x43b9f4
43b9ef:	8b 5f 18             	mov    0x18(%edi),%ebx
43b9f2:	eb 02                	jmp    0x43b9f6
43b9f4:	33 db                	xor    %ebx,%ebx
43b9f6:	56                   	push   %esi
43b9f7:	e8 7b 0a ff ff       	call   0x42c477
43b9fc:	59                   	pop    %ecx
43b9fd:	eb 63                	jmp    0x43ba62
43b9ff:	85 c9                	test   %ecx,%ecx
43ba01:	7f c8                	jg     0x43b9cb
43ba03:	7c 04                	jl     0x43ba09
43ba05:	85 c0                	test   %eax,%eax
43ba07:	73 c2                	jae    0x43b9cb
43ba09:	6a 00                	push   $0x0
43ba0b:	ff 75 10             	push   0x10(%ebp)
43ba0e:	ff 75 0c             	push   0xc(%ebp)
43ba11:	53                   	push   %ebx
43ba12:	e8 e9 4e ff ff       	call   0x430900
43ba17:	23 c2                	and    %edx,%eax
43ba19:	83 c4 10             	add    $0x10,%esp
43ba1c:	83 f8 ff             	cmp    $0xffffffff,%eax
43ba1f:	75 08                	jne    0x43ba29
43ba21:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
43ba25:	74 a4                	je     0x43b9cb
43ba27:	eb 31                	jmp    0x43ba5a
43ba29:	53                   	push   %ebx
43ba2a:	e8 fb 8b ff ff       	call   0x43462a
43ba2f:	59                   	pop    %ecx
43ba30:	50                   	push   %eax
43ba31:	ff 15 18 f0 43 00    	call   *0x43f018
43ba37:	85 c0                	test   %eax,%eax
43ba39:	75 90                	jne    0x43b9cb
43ba3b:	ff 15 60 f0 43 00    	call   *0x43f060
43ba41:	6a 0d                	push   $0xd
43ba43:	c6 47 24 01          	movb   $0x1,0x24(%edi)
43ba47:	89 47 20             	mov    %eax,0x20(%edi)
43ba4a:	5b                   	pop    %ebx
43ba4b:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
43ba4f:	89 5f 18             	mov    %ebx,0x18(%edi)
43ba52:	eb 0e                	jmp    0x43ba62
43ba54:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
43ba58:	74 05                	je     0x43ba5f
43ba5a:	8b 5f 18             	mov    0x18(%edi),%ebx
43ba5d:	eb 03                	jmp    0x43ba62
43ba5f:	6a 16                	push   $0x16
43ba61:	5b                   	pop    %ebx
43ba62:	6a 00                	push   $0x0
43ba64:	ff 75 d8             	push   -0x28(%ebp)
43ba67:	ff 75 d4             	push   -0x2c(%ebp)
43ba6a:	ff 75 ec             	push   -0x14(%ebp)
43ba6d:	e8 8e 4e ff ff       	call   0x430900
43ba72:	83 c4 10             	add    $0x10,%esp
43ba75:	8b c3                	mov    %ebx,%eax
43ba77:	5f                   	pop    %edi
43ba78:	5e                   	pop    %esi
43ba79:	5b                   	pop    %ebx
43ba7a:	c9                   	leave
43ba7b:	c3                   	ret
43ba7c:	8b ff                	mov    %edi,%edi
43ba7e:	55                   	push   %ebp
43ba7f:	8b ec                	mov    %esp,%ebp
43ba81:	51                   	push   %ecx
43ba82:	e8 a6 04 00 00       	call   0x43bf2d
43ba87:	85 c0                	test   %eax,%eax
43ba89:	74 1c                	je     0x43baa7
43ba8b:	8d 45 fc             	lea    -0x4(%ebp),%eax
43ba8e:	50                   	push   %eax
43ba8f:	8d 45 08             	lea    0x8(%ebp),%eax
43ba92:	6a 01                	push   $0x1
43ba94:	50                   	push   %eax
43ba95:	e8 cd 04 00 00       	call   0x43bf67
43ba9a:	83 c4 0c             	add    $0xc,%esp
43ba9d:	85 c0                	test   %eax,%eax
43ba9f:	74 06                	je     0x43baa7
43baa1:	66 8b 45 08          	mov    0x8(%ebp),%ax
43baa5:	c9                   	leave
43baa6:	c3                   	ret
43baa7:	b8 ff ff 00 00       	mov    $0xffff,%eax
43baac:	c9                   	leave
43baad:	c3                   	ret
43baae:	8b ff                	mov    %edi,%edi
43bab0:	55                   	push   %ebp
43bab1:	8b ec                	mov    %esp,%ebp
43bab3:	51                   	push   %ecx
43bab4:	51                   	push   %ecx
43bab5:	8b 55 0c             	mov    0xc(%ebp),%edx
43bab8:	56                   	push   %esi
43bab9:	8b 75 10             	mov    0x10(%ebp),%esi
43babc:	0f b7 ca             	movzwl %dx,%ecx
43babf:	57                   	push   %edi
43bac0:	85 f6                	test   %esi,%esi
43bac2:	75 05                	jne    0x43bac9
43bac4:	be 50 61 45 00       	mov    $0x456150,%esi
43bac9:	83 3e 00             	cmpl   $0x0,(%esi)
43bacc:	8d 81 00 24 00 00    	lea    0x2400(%ecx),%eax
43bad2:	0f b7 c0             	movzwl %ax,%eax
43bad5:	75 47                	jne    0x43bb1e
43bad7:	bf ff 03 00 00       	mov    $0x3ff,%edi
43badc:	66 3b c7             	cmp    %di,%ax
43badf:	77 0d                	ja     0x43baee
43bae1:	ff 75 14             	push   0x14(%ebp)
43bae4:	56                   	push   %esi
43bae5:	e8 37 fb ff ff       	call   0x43b621
43baea:	59                   	pop    %ecx
43baeb:	59                   	pop    %ecx
43baec:	eb 66                	jmp    0x43bb54
43baee:	8d 82 00 28 00 00    	lea    0x2800(%edx),%eax
43baf4:	66 3b c7             	cmp    %di,%ax
43baf7:	8b c1                	mov    %ecx,%eax
43baf9:	77 11                	ja     0x43bb0c
43bafb:	25 ff 27 ff ff       	and    $0xffff27ff,%eax
43bb00:	83 c0 40             	add    $0x40,%eax
43bb03:	c1 e0 0a             	shl    $0xa,%eax
43bb06:	89 06                	mov    %eax,(%esi)
43bb08:	33 c0                	xor    %eax,%eax
43bb0a:	eb 48                	jmp    0x43bb54
43bb0c:	ff 75 14             	push   0x14(%ebp)
43bb0f:	56                   	push   %esi
43bb10:	50                   	push   %eax
43bb11:	ff 75 08             	push   0x8(%ebp)
43bb14:	e8 14 cc ff ff       	call   0x43872d
43bb19:	83 c4 10             	add    $0x10,%esp
43bb1c:	eb 36                	jmp    0x43bb54
43bb1e:	ff 75 14             	push   0x14(%ebp)
43bb21:	b9 ff 03 00 00       	mov    $0x3ff,%ecx
43bb26:	66 3b c1             	cmp    %cx,%ax
43bb29:	77 b9                	ja     0x43bae4
43bb2b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43bb2f:	8d 45 f8             	lea    -0x8(%ebp),%eax
43bb32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43bb36:	50                   	push   %eax
43bb37:	0f b7 c2             	movzwl %dx,%eax
43bb3a:	25 ff 23 ff ff       	and    $0xffff23ff,%eax
43bb3f:	03 06                	add    (%esi),%eax
43bb41:	50                   	push   %eax
43bb42:	ff 75 08             	push   0x8(%ebp)
43bb45:	e8 e3 cb ff ff       	call   0x43872d
43bb4a:	56                   	push   %esi
43bb4b:	50                   	push   %eax
43bb4c:	e8 bc fa ff ff       	call   0x43b60d
43bb51:	83 c4 18             	add    $0x18,%esp
43bb54:	5f                   	pop    %edi
43bb55:	5e                   	pop    %esi
43bb56:	c9                   	leave
43bb57:	c3                   	ret
43bb58:	8b ff                	mov    %edi,%edi
43bb5a:	55                   	push   %ebp
43bb5b:	8b ec                	mov    %esp,%ebp
43bb5d:	56                   	push   %esi
43bb5e:	8b 75 14             	mov    0x14(%ebp),%esi
43bb61:	85 f6                	test   %esi,%esi
43bb63:	7e 0d                	jle    0x43bb72
43bb65:	56                   	push   %esi
43bb66:	ff 75 10             	push   0x10(%ebp)
43bb69:	e8 71 d5 fe ff       	call   0x4290df
43bb6e:	59                   	pop    %ecx
43bb6f:	59                   	pop    %ecx
43bb70:	8b f0                	mov    %eax,%esi
43bb72:	8b 45 1c             	mov    0x1c(%ebp),%eax
43bb75:	85 c0                	test   %eax,%eax
43bb77:	7e 0b                	jle    0x43bb84
43bb79:	50                   	push   %eax
43bb7a:	ff 75 18             	push   0x18(%ebp)
43bb7d:	e8 5d d5 fe ff       	call   0x4290df
43bb82:	59                   	pop    %ecx
43bb83:	59                   	pop    %ecx
43bb84:	85 f6                	test   %esi,%esi
43bb86:	74 1e                	je     0x43bba6
43bb88:	85 c0                	test   %eax,%eax
43bb8a:	74 1a                	je     0x43bba6
43bb8c:	33 c9                	xor    %ecx,%ecx
43bb8e:	51                   	push   %ecx
43bb8f:	51                   	push   %ecx
43bb90:	51                   	push   %ecx
43bb91:	50                   	push   %eax
43bb92:	ff 75 18             	push   0x18(%ebp)
43bb95:	56                   	push   %esi
43bb96:	ff 75 10             	push   0x10(%ebp)
43bb99:	ff 75 0c             	push   0xc(%ebp)
43bb9c:	ff 75 08             	push   0x8(%ebp)
43bb9f:	e8 c5 32 ff ff       	call   0x42ee69
43bba4:	eb 14                	jmp    0x43bbba
43bba6:	2b f0                	sub    %eax,%esi
43bba8:	75 05                	jne    0x43bbaf
43bbaa:	6a 02                	push   $0x2
43bbac:	5e                   	pop    %esi
43bbad:	eb 09                	jmp    0x43bbb8
43bbaf:	c1 fe 1f             	sar    $0x1f,%esi
43bbb2:	83 e6 fe             	and    $0xfffffffe,%esi
43bbb5:	83 c6 03             	add    $0x3,%esi
43bbb8:	8b c6                	mov    %esi,%eax
43bbba:	5e                   	pop    %esi
43bbbb:	5d                   	pop    %ebp
43bbbc:	c3                   	ret
43bbbd:	cc                   	int3
43bbbe:	cc                   	int3
43bbbf:	cc                   	int3
43bbc0:	55                   	push   %ebp
43bbc1:	8b ec                	mov    %esp,%ebp
43bbc3:	83 ec 08             	sub    $0x8,%esp
43bbc6:	83 e4 f0             	and    $0xfffffff0,%esp
43bbc9:	dd 1c 24             	fstpl  (%esp)
43bbcc:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
43bbd1:	e8 08 00 00 00       	call   0x43bbde
43bbd6:	c9                   	leave
43bbd7:	c3                   	ret
43bbd8:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
43bbde:	ba 00 00 00 00       	mov    $0x0,%edx
43bbe3:	66 0f 28 e8          	movapd %xmm0,%xmm5
43bbe7:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
43bbeb:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
43bbf0:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
43bbf5:	66 0f 28 0d 90 a1 44 	movapd 0x44a190,%xmm1
43bbfc:	00
43bbfd:	66 0f 28 15 a0 a1 44 	movapd 0x44a1a0,%xmm2
43bc04:	00
43bc05:	66 0f 28 1d 00 a2 44 	movapd 0x44a200,%xmm3
43bc0c:	00
43bc0d:	66 0f 28 25 b0 a1 44 	movapd 0x44a1b0,%xmm4
43bc14:	00
43bc15:	66 0f 28 35 c0 a1 44 	movapd 0x44a1c0,%xmm6
43bc1c:	00
43bc1d:	66 0f 54 c1          	andpd  %xmm1,%xmm0
43bc21:	66 0f 56 c3          	orpd   %xmm3,%xmm0
43bc25:	66 0f 58 e0          	addpd  %xmm0,%xmm4
43bc29:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
43bc2e:	25 f0 07 00 00       	and    $0x7f0,%eax
43bc33:	66 0f 28 a0 b0 a6 44 	movapd 0x44a6b0(%eax),%xmm4
43bc3a:	00
43bc3b:	66 0f 28 b8 a0 a2 44 	movapd 0x44a2a0(%eax),%xmm7
43bc42:	00