4348b8:	c1 e0 02             	shl    $0x2,%eax
4348bb:	8d 55 f8             	lea    -0x8(%ebp),%edx
4348be:	6a 02                	push   $0x2
4348c0:	2b d0                	sub    %eax,%edx
4348c2:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4348c5:	33 db                	xor    %ebx,%ebx
4348c7:	59                   	pop    %ecx
4348c8:	83 cf ff             	or     $0xffffffff,%edi
4348cb:	3b c8                	cmp    %eax,%ecx
4348cd:	7c 0b                	jl     0x4348da
4348cf:	8b 02                	mov    (%edx),%eax
4348d1:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
4348d5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4348d8:	eb 04                	jmp    0x4348de
4348da:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
4348de:	83 ea 04             	sub    $0x4,%edx
4348e1:	49                   	dec    %ecx
4348e2:	79 e7                	jns    0x4348cb
4348e4:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4348e7:	41                   	inc    %ecx
4348e8:	8b c1                	mov    %ecx,%eax
4348ea:	99                   	cltd
4348eb:	83 e2 1f             	and    $0x1f,%edx
4348ee:	03 d0                	add    %eax,%edx
4348f0:	c1 fa 05             	sar    $0x5,%edx
4348f3:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4348f6:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4348fc:	79 05                	jns    0x434903
4348fe:	49                   	dec    %ecx
4348ff:	83 c9 e0             	or     $0xffffffe0,%ecx
434902:	41                   	inc    %ecx
434903:	6a 1f                	push   $0x1f
434905:	58                   	pop    %eax
434906:	2b c1                	sub    %ecx,%eax
434908:	89 45 d0             	mov    %eax,-0x30(%ebp)
43490b:	8b 4d d0             	mov    -0x30(%ebp),%ecx
43490e:	33 c0                	xor    %eax,%eax
434910:	40                   	inc    %eax
434911:	d3 e0                	shl    %cl,%eax
434913:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
434917:	0f 84 92 00 00 00    	je     0x4349af
43491d:	8b c7                	mov    %edi,%eax
43491f:	d3 e0                	shl    %cl,%eax
434921:	f7 d0                	not    %eax
434923:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
434927:	eb 04                	jmp    0x43492d
434929:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
43492d:	75 07                	jne    0x434936
43492f:	42                   	inc    %edx
434930:	3b d6                	cmp    %esi,%edx
434932:	7c f5                	jl     0x434929
434934:	eb 76                	jmp    0x4349ac
434936:	8b 7d cc             	mov    -0x34(%ebp),%edi
434939:	8b c7                	mov    %edi,%eax
43493b:	99                   	cltd
43493c:	6a 1f                	push   $0x1f
43493e:	59                   	pop    %ecx
43493f:	23 d1                	and    %ecx,%edx
434941:	03 d0                	add    %eax,%edx
434943:	c1 fa 05             	sar    $0x5,%edx
434946:	81 e7 1f 00 00 80    	and    $0x8000001f,%edi
43494c:	79 05                	jns    0x434953
43494e:	4f                   	dec    %edi
43494f:	83 cf e0             	or     $0xffffffe0,%edi
434952:	47                   	inc    %edi
434953:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
434957:	2b cf                	sub    %edi,%ecx
434959:	33 ff                	xor    %edi,%edi
43495b:	47                   	inc    %edi
43495c:	d3 e7                	shl    %cl,%edi
43495e:	6a ff                	push   $0xffffffff
434960:	8b cb                	mov    %ebx,%ecx
434962:	89 7d dc             	mov    %edi,-0x24(%ebp)
434965:	03 f8                	add    %eax,%edi
434967:	89 7d e0             	mov    %edi,-0x20(%ebp)
43496a:	3b f8                	cmp    %eax,%edi
43496c:	8b 45 e0             	mov    -0x20(%ebp),%eax
43496f:	5f                   	pop    %edi
434970:	72 05                	jb     0x434977
434972:	3b 45 dc             	cmp    -0x24(%ebp),%eax
434975:	73 03                	jae    0x43497a
434977:	33 c9                	xor    %ecx,%ecx
434979:	41                   	inc    %ecx
43497a:	4a                   	dec    %edx
43497b:	89 44 95 f4          	mov    %eax,-0xc(%ebp,%edx,4)
43497f:	78 28                	js     0x4349a9
434981:	85 c9                	test   %ecx,%ecx
434983:	74 21                	je     0x4349a6
434985:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
434989:	8b cb                	mov    %ebx,%ecx
43498b:	8d 78 01             	lea    0x1(%eax),%edi
43498e:	3b f8                	cmp    %eax,%edi
434990:	89 7d e0             	mov    %edi,-0x20(%ebp)
434993:	8b c7                	mov    %edi,%eax
434995:	72 05                	jb     0x43499c
434997:	83 f8 01             	cmp    $0x1,%eax
43499a:	73 03                	jae    0x43499f
43499c:	33 c9                	xor    %ecx,%ecx
43499e:	41                   	inc    %ecx
43499f:	4a                   	dec    %edx
4349a0:	89 44 95 f4          	mov    %eax,-0xc(%ebp,%edx,4)
4349a4:	79 db                	jns    0x434981
4349a6:	83 cf ff             	or     $0xffffffff,%edi
4349a9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4349ac:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4349af:	8b c7                	mov    %edi,%eax
4349b1:	d3 e0                	shl    %cl,%eax
4349b3:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
4349b7:	42                   	inc    %edx
4349b8:	3b d6                	cmp    %esi,%edx
4349ba:	7d 11                	jge    0x4349cd
4349bc:	8d 7d f0             	lea    -0x10(%ebp),%edi
4349bf:	8b ce                	mov    %esi,%ecx
4349c1:	8d 3c 97             	lea    (%edi,%edx,4),%edi
4349c4:	2b ca                	sub    %edx,%ecx
4349c6:	33 c0                	xor    %eax,%eax
4349c8:	f3 ab                	rep stos %eax,%es:(%edi)
4349ca:	83 cf ff             	or     $0xffffffff,%edi
4349cd:	8b 0d a4 b1 4b 00    	mov    0x4bb1a4,%ecx
4349d3:	41                   	inc    %ecx
4349d4:	8b c1                	mov    %ecx,%eax
4349d6:	99                   	cltd
4349d7:	83 e2 1f             	and    $0x1f,%edx
4349da:	03 c2                	add    %edx,%eax
4349dc:	c1 f8 05             	sar    $0x5,%eax
4349df:	89 45 d8             	mov    %eax,-0x28(%ebp)
4349e2:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4349e8:	79 05                	jns    0x4349ef
4349ea:	49                   	dec    %ecx
4349eb:	83 c9 e0             	or     $0xffffffe0,%ecx
4349ee:	41                   	inc    %ecx
4349ef:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4349f2:	d3 e7                	shl    %cl,%edi
4349f4:	8b c3                	mov    %ebx,%eax
4349f6:	6a 20                	push   $0x20
4349f8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4349fb:	8b 5d dc             	mov    -0x24(%ebp),%ebx
4349fe:	59                   	pop    %ecx
4349ff:	2b cb                	sub    %ebx,%ecx
434a01:	f7 d7                	not    %edi
434a03:	89 45 cc             	mov    %eax,-0x34(%ebp)
434a06:	89 4d dc             	mov    %ecx,-0x24(%ebp)
434a09:	8b 54 85 f0          	mov    -0x10(%ebp,%eax,4),%edx
434a0d:	8b c2                	mov    %edx,%eax
434a0f:	8b cb                	mov    %ebx,%ecx
434a11:	d3 ea                	shr    %cl,%edx
434a13:	8b 4d cc             	mov    -0x34(%ebp),%ecx
434a16:	23 c7                	and    %edi,%eax
434a18:	0b 55 e0             	or     -0x20(%ebp),%edx
434a1b:	89 54 8d f0          	mov    %edx,-0x10(%ebp,%ecx,4)
434a1f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
434a22:	d3 e0                	shl    %cl,%eax
434a24:	89 45 e0             	mov    %eax,-0x20(%ebp)
434a27:	8b 45 cc             	mov    -0x34(%ebp),%eax
434a2a:	40                   	inc    %eax
434a2b:	89 45 cc             	mov    %eax,-0x34(%ebp)
434a2e:	3b c6                	cmp    %esi,%eax
434a30:	7c d7                	jl     0x434a09
434a32:	8b 75 d8             	mov    -0x28(%ebp),%esi
434a35:	8b c6                	mov    %esi,%eax
434a37:	c1 e0 02             	shl    $0x2,%eax
434a3a:	8d 55 f8             	lea    -0x8(%ebp),%edx
434a3d:	6a 02                	push   $0x2
434a3f:	2b d0                	sub    %eax,%edx
434a41:	59                   	pop    %ecx
434a42:	33 db                	xor    %ebx,%ebx
434a44:	3b ce                	cmp    %esi,%ecx
434a46:	7c 08                	jl     0x434a50
434a48:	8b 02                	mov    (%edx),%eax
434a4a:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
434a4e:	eb 04                	jmp    0x434a54
434a50:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
434a54:	83 ea 04             	sub    $0x4,%edx
434a57:	49                   	dec    %ecx
434a58:	79 ea                	jns    0x434a44
434a5a:	e9 d8 fd ff ff       	jmp    0x434837
434a5f:	3b 0d 98 b1 4b 00    	cmp    0x4bb198,%ecx
434a65:	0f 8c a2 00 00 00    	jl     0x434b0d
434a6b:	8b 0d a4 b1 4b 00    	mov    0x4bb1a4,%ecx
434a71:	33 c0                	xor    %eax,%eax
434a73:	8d 7d f0             	lea    -0x10(%ebp),%edi
434a76:	ab                   	stos   %eax,%es:(%edi)
434a77:	ab                   	stos   %eax,%es:(%edi)
434a78:	ab                   	stos   %eax,%es:(%edi)
434a79:	81 4d f0 00 00 00 80 	orl    $0x80000000,-0x10(%ebp)
434a80:	8b c1                	mov    %ecx,%eax
434a82:	99                   	cltd
434a83:	83 e2 1f             	and    $0x1f,%edx
434a86:	03 c2                	add    %edx,%eax
434a88:	c1 f8 05             	sar    $0x5,%eax
434a8b:	89 45 cc             	mov    %eax,-0x34(%ebp)
434a8e:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
434a94:	79 05                	jns    0x434a9b
434a96:	49                   	dec    %ecx
434a97:	83 c9 e0             	or     $0xffffffe0,%ecx
434a9a:	41                   	inc    %ecx
434a9b:	83 cf ff             	or     $0xffffffff,%edi
434a9e:	d3 e7                	shl    %cl,%edi
434aa0:	6a 20                	push   $0x20
434aa2:	58                   	pop    %eax
434aa3:	2b c1                	sub    %ecx,%eax
434aa5:	89 4d c8             	mov    %ecx,-0x38(%ebp)
434aa8:	f7 d7                	not    %edi
434aaa:	89 5d e0             	mov    %ebx,-0x20(%ebp)
434aad:	89 45 d8             	mov    %eax,-0x28(%ebp)
434ab0:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
434ab4:	8b c2                	mov    %edx,%eax
434ab6:	d3 ea                	shr    %cl,%edx
434ab8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
434abb:	23 c7                	and    %edi,%eax
434abd:	d3 e0                	shl    %cl,%eax
434abf:	0b 55 e0             	or     -0x20(%ebp),%edx
434ac2:	8b 4d c8             	mov    -0x38(%ebp),%ecx
434ac5:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
434ac9:	43                   	inc    %ebx
434aca:	89 45 e0             	mov    %eax,-0x20(%ebp)
434acd:	3b de                	cmp    %esi,%ebx
434acf:	7c df                	jl     0x434ab0
434ad1:	8b 75 cc             	mov    -0x34(%ebp),%esi
434ad4:	8b c6                	mov    %esi,%eax
434ad6:	c1 e0 02             	shl    $0x2,%eax
434ad9:	8d 55 f8             	lea    -0x8(%ebp),%edx
434adc:	6a 02                	push   $0x2
434ade:	2b d0                	sub    %eax,%edx
434ae0:	59                   	pop    %ecx
434ae1:	33 db                	xor    %ebx,%ebx
434ae3:	3b ce                	cmp    %esi,%ecx
434ae5:	7c 08                	jl     0x434aef
434ae7:	8b 02                	mov    (%edx),%eax
434ae9:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
434aed:	eb 04                	jmp    0x434af3
434aef:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
434af3:	83 ea 04             	sub    $0x4,%edx
434af6:	49                   	dec    %ecx
434af7:	79 ea                	jns    0x434ae3
434af9:	8b 35 ac b1 4b 00    	mov    0x4bb1ac,%esi
434aff:	03 35 98 b1 4b 00    	add    0x4bb198,%esi
434b05:	33 db                	xor    %ebx,%ebx
434b07:	43                   	inc    %ebx
434b08:	e9 95 00 00 00       	jmp    0x434ba2
434b0d:	8b 35 ac b1 4b 00    	mov    0x4bb1ac,%esi
434b13:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
434b1a:	03 f1                	add    %ecx,%esi
434b1c:	8b 0d a4 b1 4b 00    	mov    0x4bb1a4,%ecx
434b22:	8b c1                	mov    %ecx,%eax
434b24:	99                   	cltd
434b25:	83 e2 1f             	and    $0x1f,%edx
434b28:	03 c2                	add    %edx,%eax
434b2a:	c1 f8 05             	sar    $0x5,%eax
434b2d:	89 75 c8             	mov    %esi,-0x38(%ebp)
434b30:	89 45 d8             	mov    %eax,-0x28(%ebp)
434b33:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
434b39:	79 05                	jns    0x434b40
434b3b:	49                   	dec    %ecx
434b3c:	83 c9 e0             	or     $0xffffffe0,%ecx
434b3f:	41                   	inc    %ecx
434b40:	d3 e7                	shl    %cl,%edi
434b42:	6a 20                	push   $0x20
434b44:	89 5d e0             	mov    %ebx,-0x20(%ebp)
434b47:	8b f3                	mov    %ebx,%esi
434b49:	58                   	pop    %eax
434b4a:	8b d9                	mov    %ecx,%ebx
434b4c:	2b c3                	sub    %ebx,%eax
434b4e:	89 4d dc             	mov    %ecx,-0x24(%ebp)
434b51:	f7 d7                	not    %edi
434b53:	89 45 dc             	mov    %eax,-0x24(%ebp)
434b56:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
434b5a:	8b c2                	mov    %edx,%eax
434b5c:	8b cb                	mov    %ebx,%ecx
434b5e:	d3 ea                	shr    %cl,%edx
434b60:	8b 4d dc             	mov    -0x24(%ebp),%ecx
434b63:	23 c7                	and    %edi,%eax
434b65:	d3 e0                	shl    %cl,%eax
434b67:	0b 55 e0             	or     -0x20(%ebp),%edx
434b6a:	46                   	inc    %esi
434b6b:	89 54 b5 ec          	mov    %edx,-0x14(%ebp,%esi,4)
434b6f:	89 45 e0             	mov    %eax,-0x20(%ebp)
434b72:	83 fe 03             	cmp    $0x3,%esi
434b75:	7c df                	jl     0x434b56
434b77:	8b 7d d8             	mov    -0x28(%ebp),%edi
434b7a:	8b 75 c8             	mov    -0x38(%ebp),%esi
434b7d:	8b c7                	mov    %edi,%eax
434b7f:	c1 e0 02             	shl    $0x2,%eax
434b82:	8d 55 f8             	lea    -0x8(%ebp),%edx
434b85:	6a 02                	push   $0x2
434b87:	2b d0                	sub    %eax,%edx
434b89:	59                   	pop    %ecx
434b8a:	33 db                	xor    %ebx,%ebx
434b8c:	3b cf                	cmp    %edi,%ecx
434b8e:	7c 08                	jl     0x434b98
434b90:	8b 02                	mov    (%edx),%eax
434b92:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
434b96:	eb 04                	jmp    0x434b9c
434b98:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
434b9c:	83 ea 04             	sub    $0x4,%edx
434b9f:	49                   	dec    %ecx
434ba0:	79 ea                	jns    0x434b8c
434ba2:	8b 7d c0             	mov    -0x40(%ebp),%edi
434ba5:	6a 1f                	push   $0x1f
434ba7:	58                   	pop    %eax
434ba8:	2b 05 a4 b1 4b 00    	sub    0x4bb1a4,%eax
434bae:	8b c8                	mov    %eax,%ecx
434bb0:	8b 45 bc             	mov    -0x44(%ebp),%eax
434bb3:	d3 e6                	shl    %cl,%esi
434bb5:	f7 d8                	neg    %eax
434bb7:	1b c0                	sbb    %eax,%eax
434bb9:	25 00 00 00 80       	and    $0x80000000,%eax
434bbe:	0b f0                	or     %eax,%esi
434bc0:	a1 a8 b1 4b 00       	mov    0x4bb1a8,%eax
434bc5:	0b 75 f0             	or     -0x10(%ebp),%esi
434bc8:	83 f8 40             	cmp    $0x40,%eax
434bcb:	75 0a                	jne    0x434bd7
434bcd:	8b 45 f4             	mov    -0xc(%ebp),%eax
434bd0:	89 77 04             	mov    %esi,0x4(%edi)
434bd3:	89 07                	mov    %eax,(%edi)
434bd5:	eb 07                	jmp    0x434bde
434bd7:	83 f8 20             	cmp    $0x20,%eax
434bda:	75 02                	jne    0x434bde
434bdc:	89 37                	mov    %esi,(%edi)
434bde:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434be1:	5f                   	pop    %edi
434be2:	5e                   	pop    %esi
434be3:	8b c3                	mov    %ebx,%eax
434be5:	33 cd                	xor    %ebp,%ecx
434be7:	5b                   	pop    %ebx
434be8:	e8 1f 5b ff ff       	call   0x42a70c
434bed:	c9                   	leave
434bee:	c3                   	ret
434bef:	55                   	push   %ebp
434bf0:	8b ec                	mov    %esp,%ebp
434bf2:	83 ec 1c             	sub    $0x1c,%esp
434bf5:	53                   	push   %ebx
434bf6:	8b 5d 10             	mov    0x10(%ebp),%ebx
434bf9:	33 d2                	xor    %edx,%edx
434bfb:	56                   	push   %esi
434bfc:	b8 4e 40 00 00       	mov    $0x404e,%eax
434c01:	57                   	push   %edi
434c02:	89 45 fc             	mov    %eax,-0x4(%ebp)
434c05:	89 13                	mov    %edx,(%ebx)
434c07:	89 53 04             	mov    %edx,0x4(%ebx)
434c0a:	89 53 08             	mov    %edx,0x8(%ebx)
434c0d:	39 55 0c             	cmp    %edx,0xc(%ebp)
434c10:	0f 86 40 01 00 00    	jbe    0x434d56
434c16:	8b ca                	mov    %edx,%ecx
434c18:	89 4d 10             	mov    %ecx,0x10(%ebp)
434c1b:	89 55 f8             	mov    %edx,-0x8(%ebp)
434c1e:	89 55 f4             	mov    %edx,-0xc(%ebp)
434c21:	8b 55 10             	mov    0x10(%ebp),%edx
434c24:	8b f3                	mov    %ebx,%esi
434c26:	8d 7d e4             	lea    -0x1c(%ebp),%edi