4367d9:	8b 7d cc             	mov    -0x34(%ebp),%edi
4367dc:	8b c7                	mov    %edi,%eax
4367de:	6a 1f                	push   $0x1f
4367e0:	99                   	cltd
4367e1:	59                   	pop    %ecx
4367e2:	23 d1                	and    %ecx,%edx
4367e4:	03 d0                	add    %eax,%edx
4367e6:	c1 fa 05             	sar    $0x5,%edx
4367e9:	81 e7 1f 00 00 80    	and    $0x8000001f,%edi
4367ef:	79 05                	jns    0x4367f6
4367f1:	4f                   	dec    %edi
4367f2:	83 cf e0             	or     $0xffffffe0,%edi
4367f5:	47                   	inc    %edi
4367f6:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
4367fa:	2b cf                	sub    %edi,%ecx
4367fc:	33 ff                	xor    %edi,%edi
4367fe:	47                   	inc    %edi
4367ff:	d3 e7                	shl    %cl,%edi
436801:	8b cb                	mov    %ebx,%ecx
436803:	89 7d dc             	mov    %edi,-0x24(%ebp)
436806:	03 f8                	add    %eax,%edi
436808:	89 7d e0             	mov    %edi,-0x20(%ebp)
43680b:	3b f8                	cmp    %eax,%edi
43680d:	8b 45 e0             	mov    -0x20(%ebp),%eax
436810:	6a ff                	push   $0xffffffff
436812:	5f                   	pop    %edi
436813:	72 05                	jb     0x43681a
436815:	3b 45 dc             	cmp    -0x24(%ebp),%eax
436818:	73 03                	jae    0x43681d
43681a:	33 c9                	xor    %ecx,%ecx
43681c:	41                   	inc    %ecx
43681d:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436821:	4a                   	dec    %edx
436822:	78 28                	js     0x43684c
436824:	85 c9                	test   %ecx,%ecx
436826:	74 21                	je     0x436849
436828:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
43682c:	8b cb                	mov    %ebx,%ecx
43682e:	8d 78 01             	lea    0x1(%eax),%edi
436831:	3b f8                	cmp    %eax,%edi
436833:	89 7d e0             	mov    %edi,-0x20(%ebp)
436836:	8b c7                	mov    %edi,%eax
436838:	72 05                	jb     0x43683f
43683a:	83 f8 01             	cmp    $0x1,%eax
43683d:	73 03                	jae    0x436842
43683f:	33 c9                	xor    %ecx,%ecx
436841:	41                   	inc    %ecx
436842:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436846:	4a                   	dec    %edx
436847:	79 db                	jns    0x436824
436849:	83 cf ff             	or     $0xffffffff,%edi
43684c:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43684f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
436852:	8b c7                	mov    %edi,%eax
436854:	d3 e0                	shl    %cl,%eax
436856:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
43685a:	42                   	inc    %edx
43685b:	3b d6                	cmp    %esi,%edx
43685d:	7d 11                	jge    0x436870
43685f:	8d 7d f0             	lea    -0x10(%ebp),%edi
436862:	8b ce                	mov    %esi,%ecx
436864:	8d 3c 97             	lea    (%edi,%edx,4),%edi
436867:	2b ca                	sub    %edx,%ecx
436869:	33 c0                	xor    %eax,%eax
43686b:	f3 ab                	rep stos %eax,%es:(%edi)
43686d:	83 cf ff             	or     $0xffffffff,%edi
436870:	8b 0d 1c 01 4c 00    	mov    0x4c011c,%ecx
436876:	41                   	inc    %ecx
436877:	8b c1                	mov    %ecx,%eax
436879:	99                   	cltd
43687a:	83 e2 1f             	and    $0x1f,%edx
43687d:	03 c2                	add    %edx,%eax
43687f:	c1 f8 05             	sar    $0x5,%eax
436882:	89 45 d8             	mov    %eax,-0x28(%ebp)
436885:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
43688b:	79 05                	jns    0x436892
43688d:	49                   	dec    %ecx
43688e:	83 c9 e0             	or     $0xffffffe0,%ecx
436891:	41                   	inc    %ecx
436892:	89 4d dc             	mov    %ecx,-0x24(%ebp)
436895:	8b c3                	mov    %ebx,%eax
436897:	d3 e7                	shl    %cl,%edi
436899:	6a 20                	push   $0x20
43689b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43689e:	f7 d7                	not    %edi
4368a0:	8b 5d dc             	mov    -0x24(%ebp),%ebx
4368a3:	59                   	pop    %ecx
4368a4:	2b cb                	sub    %ebx,%ecx
4368a6:	89 45 cc             	mov    %eax,-0x34(%ebp)
4368a9:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4368ac:	8b 54 85 f0          	mov    -0x10(%ebp,%eax,4),%edx
4368b0:	8b cb                	mov    %ebx,%ecx
4368b2:	8b c2                	mov    %edx,%eax
4368b4:	d3 ea                	shr    %cl,%edx
4368b6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4368b9:	23 c7                	and    %edi,%eax
4368bb:	0b 55 e0             	or     -0x20(%ebp),%edx
4368be:	89 54 8d f0          	mov    %edx,-0x10(%ebp,%ecx,4)
4368c2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4368c5:	d3 e0                	shl    %cl,%eax
4368c7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4368ca:	8b 45 cc             	mov    -0x34(%ebp),%eax
4368cd:	40                   	inc    %eax
4368ce:	89 45 cc             	mov    %eax,-0x34(%ebp)
4368d1:	3b c6                	cmp    %esi,%eax
4368d3:	7c d7                	jl     0x4368ac
4368d5:	8b 75 d8             	mov    -0x28(%ebp),%esi
4368d8:	8d 55 f8             	lea    -0x8(%ebp),%edx
4368db:	8b c6                	mov    %esi,%eax
4368dd:	c1 e0 02             	shl    $0x2,%eax
4368e0:	6a 02                	push   $0x2
4368e2:	2b d0                	sub    %eax,%edx
4368e4:	33 db                	xor    %ebx,%ebx
4368e6:	59                   	pop    %ecx
4368e7:	3b ce                	cmp    %esi,%ecx
4368e9:	7c 08                	jl     0x4368f3
4368eb:	8b 02                	mov    (%edx),%eax
4368ed:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
4368f1:	eb 04                	jmp    0x4368f7
4368f3:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
4368f7:	83 ea 04             	sub    $0x4,%edx
4368fa:	49                   	dec    %ecx
4368fb:	79 ea                	jns    0x4368e7
4368fd:	e9 d8 fd ff ff       	jmp    0x4366da
436902:	3b 0d 10 01 4c 00    	cmp    0x4c0110,%ecx
436908:	0f 8c a2 00 00 00    	jl     0x4369b0
43690e:	8b 0d 1c 01 4c 00    	mov    0x4c011c,%ecx
436914:	8d 7d f0             	lea    -0x10(%ebp),%edi
436917:	33 c0                	xor    %eax,%eax
436919:	ab                   	stos   %eax,%es:(%edi)
43691a:	ab                   	stos   %eax,%es:(%edi)
43691b:	ab                   	stos   %eax,%es:(%edi)
43691c:	8b c1                	mov    %ecx,%eax
43691e:	81 4d f0 00 00 00 80 	orl    $0x80000000,-0x10(%ebp)
436925:	99                   	cltd
436926:	83 e2 1f             	and    $0x1f,%edx
436929:	03 c2                	add    %edx,%eax
43692b:	c1 f8 05             	sar    $0x5,%eax
43692e:	89 45 cc             	mov    %eax,-0x34(%ebp)
436931:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436937:	79 05                	jns    0x43693e
436939:	49                   	dec    %ecx
43693a:	83 c9 e0             	or     $0xffffffe0,%ecx
43693d:	41                   	inc    %ecx
43693e:	83 cf ff             	or     $0xffffffff,%edi
436941:	89 4d c8             	mov    %ecx,-0x38(%ebp)
436944:	6a 20                	push   $0x20
436946:	d3 e7                	shl    %cl,%edi
436948:	58                   	pop    %eax
436949:	2b c1                	sub    %ecx,%eax
43694b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43694e:	f7 d7                	not    %edi
436950:	89 45 d8             	mov    %eax,-0x28(%ebp)
436953:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
436957:	8b c2                	mov    %edx,%eax
436959:	d3 ea                	shr    %cl,%edx
43695b:	23 c7                	and    %edi,%eax
43695d:	0b 55 e0             	or     -0x20(%ebp),%edx
436960:	8b 4d d8             	mov    -0x28(%ebp),%ecx
436963:	d3 e0                	shl    %cl,%eax
436965:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436968:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
43696c:	43                   	inc    %ebx
43696d:	89 45 e0             	mov    %eax,-0x20(%ebp)
436970:	3b de                	cmp    %esi,%ebx
436972:	7c df                	jl     0x436953
436974:	8b 75 cc             	mov    -0x34(%ebp),%esi
436977:	8d 55 f8             	lea    -0x8(%ebp),%edx
43697a:	8b c6                	mov    %esi,%eax
43697c:	c1 e0 02             	shl    $0x2,%eax
43697f:	6a 02                	push   $0x2
436981:	2b d0                	sub    %eax,%edx
436983:	33 db                	xor    %ebx,%ebx
436985:	59                   	pop    %ecx
436986:	3b ce                	cmp    %esi,%ecx
436988:	7c 08                	jl     0x436992
43698a:	8b 02                	mov    (%edx),%eax
43698c:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436990:	eb 04                	jmp    0x436996
436992:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436996:	83 ea 04             	sub    $0x4,%edx
436999:	49                   	dec    %ecx
43699a:	79 ea                	jns    0x436986
43699c:	8b 35 24 01 4c 00    	mov    0x4c0124,%esi
4369a2:	33 db                	xor    %ebx,%ebx
4369a4:	03 35 10 01 4c 00    	add    0x4c0110,%esi
4369aa:	43                   	inc    %ebx
4369ab:	e9 95 00 00 00       	jmp    0x436a45
4369b0:	8b 35 24 01 4c 00    	mov    0x4c0124,%esi
4369b6:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
4369bd:	03 f1                	add    %ecx,%esi
4369bf:	8b 0d 1c 01 4c 00    	mov    0x4c011c,%ecx
4369c5:	8b c1                	mov    %ecx,%eax
4369c7:	99                   	cltd
4369c8:	83 e2 1f             	and    $0x1f,%edx
4369cb:	89 75 c8             	mov    %esi,-0x38(%ebp)
4369ce:	03 c2                	add    %edx,%eax
4369d0:	c1 f8 05             	sar    $0x5,%eax
4369d3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4369d6:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4369dc:	79 05                	jns    0x4369e3
4369de:	49                   	dec    %ecx
4369df:	83 c9 e0             	or     $0xffffffe0,%ecx
4369e2:	41                   	inc    %ecx
4369e3:	6a 20                	push   $0x20
4369e5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4369e8:	8b f3                	mov    %ebx,%esi
4369ea:	d3 e7                	shl    %cl,%edi
4369ec:	8b d9                	mov    %ecx,%ebx
4369ee:	58                   	pop    %eax
4369ef:	2b c3                	sub    %ebx,%eax
4369f1:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4369f4:	f7 d7                	not    %edi
4369f6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4369f9:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
4369fd:	8b cb                	mov    %ebx,%ecx
4369ff:	8b c2                	mov    %edx,%eax
436a01:	d3 ea                	shr    %cl,%edx
436a03:	0b 55 e0             	or     -0x20(%ebp),%edx
436a06:	23 c7                	and    %edi,%eax
436a08:	8b 4d dc             	mov    -0x24(%ebp),%ecx
436a0b:	d3 e0                	shl    %cl,%eax
436a0d:	89 54 b5 f0          	mov    %edx,-0x10(%ebp,%esi,4)
436a11:	46                   	inc    %esi
436a12:	89 45 e0             	mov    %eax,-0x20(%ebp)
436a15:	83 fe 03             	cmp    $0x3,%esi
436a18:	7c df                	jl     0x4369f9
436a1a:	8b 7d d8             	mov    -0x28(%ebp),%edi
436a1d:	8d 55 f8             	lea    -0x8(%ebp),%edx
436a20:	8b 75 c8             	mov    -0x38(%ebp),%esi
436a23:	8b c7                	mov    %edi,%eax
436a25:	c1 e0 02             	shl    $0x2,%eax
436a28:	6a 02                	push   $0x2
436a2a:	2b d0                	sub    %eax,%edx
436a2c:	33 db                	xor    %ebx,%ebx
436a2e:	59                   	pop    %ecx
436a2f:	3b cf                	cmp    %edi,%ecx
436a31:	7c 08                	jl     0x436a3b
436a33:	8b 02                	mov    (%edx),%eax
436a35:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436a39:	eb 04                	jmp    0x436a3f
436a3b:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436a3f:	83 ea 04             	sub    $0x4,%edx
436a42:	49                   	dec    %ecx
436a43:	79 ea                	jns    0x436a2f
436a45:	8b 7d c0             	mov    -0x40(%ebp),%edi
436a48:	6a 1f                	push   $0x1f
436a4a:	58                   	pop    %eax
436a4b:	2b 05 1c 01 4c 00    	sub    0x4c011c,%eax
436a51:	8b c8                	mov    %eax,%ecx
436a53:	8b 45 bc             	mov    -0x44(%ebp),%eax
436a56:	d3 e6                	shl    %cl,%esi
436a58:	f7 d8                	neg    %eax
436a5a:	1b c0                	sbb    %eax,%eax
436a5c:	25 00 00 00 80       	and    $0x80000000,%eax
436a61:	0b f0                	or     %eax,%esi
436a63:	a1 20 01 4c 00       	mov    0x4c0120,%eax
436a68:	0b 75 f0             	or     -0x10(%ebp),%esi
436a6b:	83 f8 40             	cmp    $0x40,%eax
436a6e:	75 0a                	jne    0x436a7a
436a70:	8b 45 f4             	mov    -0xc(%ebp),%eax
436a73:	89 77 04             	mov    %esi,0x4(%edi)
436a76:	89 07                	mov    %eax,(%edi)
436a78:	eb 07                	jmp    0x436a81
436a7a:	83 f8 20             	cmp    $0x20,%eax
436a7d:	75 02                	jne    0x436a81
436a7f:	89 37                	mov    %esi,(%edi)
436a81:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436a84:	8b c3                	mov    %ebx,%eax
436a86:	5f                   	pop    %edi
436a87:	5e                   	pop    %esi
436a88:	33 cd                	xor    %ebp,%ecx
436a8a:	5b                   	pop    %ebx
436a8b:	e8 a6 5d ff ff       	call   0x42c836
436a90:	8b e5                	mov    %ebp,%esp
436a92:	5d                   	pop    %ebp
436a93:	c3                   	ret
436a94:	55                   	push   %ebp
436a95:	8b ec                	mov    %esp,%ebp
436a97:	83 ec 44             	sub    $0x44,%esp
436a9a:	a1 50 fd 4b 00       	mov    0x4bfd50,%eax
436a9f:	33 c5                	xor    %ebp,%eax
436aa1:	89 45 fc             	mov    %eax,-0x4(%ebp)
436aa4:	8b 4d 08             	mov    0x8(%ebp),%ecx
436aa7:	53                   	push   %ebx
436aa8:	56                   	push   %esi
436aa9:	57                   	push   %edi
436aaa:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
436aae:	33 db                	xor    %ebx,%ebx
436ab0:	8b 7d 0c             	mov    0xc(%ebp),%edi
436ab3:	8b d0                	mov    %eax,%edx
436ab5:	25 00 80 00 00       	and    $0x8000,%eax
436aba:	89 7d c0             	mov    %edi,-0x40(%ebp)
436abd:	89 45 bc             	mov    %eax,-0x44(%ebp)
436ac0:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
436ac6:	8b 41 06             	mov    0x6(%ecx),%eax
436ac9:	81 ea ff 3f 00 00    	sub    $0x3fff,%edx
436acf:	89 45 f0             	mov    %eax,-0x10(%ebp)
436ad2:	8b 41 02             	mov    0x2(%ecx),%eax
436ad5:	89 45 f4             	mov    %eax,-0xc(%ebp)
436ad8:	0f b7 01             	movzwl (%ecx),%eax
436adb:	c1 e0 10             	shl    $0x10,%eax
436ade:	89 55 e0             	mov    %edx,-0x20(%ebp)
436ae1:	89 45 f8             	mov    %eax,-0x8(%ebp)
436ae4:	81 fa 01 c0 ff ff    	cmp    $0xffffc001,%edx
436aea:	75 25                	jne    0x436b11
436aec:	8b f3                	mov    %ebx,%esi
436aee:	8b c3                	mov    %ebx,%eax
436af0:	39 5c 85 f0          	cmp    %ebx,-0x10(%ebp,%eax,4)
436af4:	75 0b                	jne    0x436b01
436af6:	40                   	inc    %eax
436af7:	83 f8 03             	cmp    $0x3,%eax
436afa:	7c f4                	jl     0x436af0
436afc:	e9 b9 04 00 00       	jmp    0x436fba
436b01:	33 c0                	xor    %eax,%eax
436b03:	8d 7d f0             	lea    -0x10(%ebp),%edi
436b06:	ab                   	stos   %eax,%es:(%edi)
436b07:	ab                   	stos   %eax,%es:(%edi)
436b08:	ab                   	stos   %eax,%es:(%edi)
436b09:	6a 02                	push   $0x2
436b0b:	5b                   	pop    %ebx
436b0c:	e9 a6 04 00 00       	jmp    0x436fb7
436b11:	a1 30 01 4c 00       	mov    0x4c0130,%eax
436b16:	8d 75 f0             	lea    -0x10(%ebp),%esi
436b19:	8d 7d e4             	lea    -0x1c(%ebp),%edi
436b1c:	89 55 dc             	mov    %edx,-0x24(%ebp)
436b1f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436b20:	48                   	dec    %eax
436b21:	89 45 cc             	mov    %eax,-0x34(%ebp)
436b24:	6a 1f                	push   $0x1f
436b26:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
436b29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436b2a:	8d 48 01             	lea    0x1(%eax),%ecx
436b2d:	8b c1                	mov    %ecx,%eax
436b2f:	99                   	cltd
436b30:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436b31:	5e                   	pop    %esi
436b32:	23 d6                	and    %esi,%edx
436b34:	03 d0                	add    %eax,%edx
436b36:	c1 fa 05             	sar    $0x5,%edx
436b39:	89 55 c4             	mov    %edx,-0x3c(%ebp)
436b3c:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436b42:	79 05                	jns    0x436b49
436b44:	49                   	dec    %ecx
436b45:	83 c9 e0             	or     $0xffffffe0,%ecx
436b48:	41                   	inc    %ecx
436b49:	2b f1                	sub    %ecx,%esi
436b4b:	33 c0                	xor    %eax,%eax
436b4d:	40                   	inc    %eax
436b4e:	89 75 d0             	mov    %esi,-0x30(%ebp)