436b51:	8b ce                	mov    %esi,%ecx
436b53:	83 cf ff             	or     $0xffffffff,%edi
436b56:	d3 e0                	shl    %cl,%eax
436b58:	6a 03                	push   $0x3
436b5a:	5e                   	pop    %esi
436b5b:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
436b5f:	0f 84 a4 00 00 00    	je     0x436c09
436b65:	8b c7                	mov    %edi,%eax
436b67:	d3 e0                	shl    %cl,%eax
436b69:	f7 d0                	not    %eax
436b6b:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
436b6f:	eb 04                	jmp    0x436b75
436b71:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
436b75:	75 0a                	jne    0x436b81
436b77:	42                   	inc    %edx
436b78:	3b d6                	cmp    %esi,%edx
436b7a:	7c f5                	jl     0x436b71
436b7c:	e9 85 00 00 00       	jmp    0x436c06
436b81:	8b 45 cc             	mov    -0x34(%ebp),%eax
436b84:	99                   	cltd
436b85:	6a 1f                	push   $0x1f
436b87:	59                   	pop    %ecx
436b88:	23 d1                	and    %ecx,%edx
436b8a:	03 d0                	add    %eax,%edx
436b8c:	8b 45 cc             	mov    -0x34(%ebp),%eax
436b8f:	c1 fa 05             	sar    $0x5,%edx
436b92:	25 1f 00 00 80       	and    $0x8000001f,%eax
436b97:	79 05                	jns    0x436b9e
436b99:	48                   	dec    %eax
436b9a:	83 c8 e0             	or     $0xffffffe0,%eax
436b9d:	40                   	inc    %eax
436b9e:	2b c8                	sub    %eax,%ecx
436ba0:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
436ba3:	33 c0                	xor    %eax,%eax
436ba5:	40                   	inc    %eax
436ba6:	d3 e0                	shl    %cl,%eax
436ba8:	89 45 c8             	mov    %eax,-0x38(%ebp)
436bab:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
436baf:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436bb2:	03 c8                	add    %eax,%ecx
436bb4:	89 4d d8             	mov    %ecx,-0x28(%ebp)
436bb7:	3b c8                	cmp    %eax,%ecx
436bb9:	8b 45 d8             	mov    -0x28(%ebp),%eax
436bbc:	8b cb                	mov    %ebx,%ecx
436bbe:	6a ff                	push   $0xffffffff
436bc0:	5f                   	pop    %edi
436bc1:	72 05                	jb     0x436bc8
436bc3:	3b 45 c8             	cmp    -0x38(%ebp),%eax
436bc6:	73 06                	jae    0x436bce
436bc8:	33 c9                	xor    %ecx,%ecx
436bca:	41                   	inc    %ecx
436bcb:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
436bce:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436bd2:	4a                   	dec    %edx
436bd3:	78 2e                	js     0x436c03
436bd5:	85 c9                	test   %ecx,%ecx
436bd7:	74 27                	je     0x436c00
436bd9:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
436bdd:	8b cb                	mov    %ebx,%ecx
436bdf:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
436be2:	8d 78 01             	lea    0x1(%eax),%edi
436be5:	3b f8                	cmp    %eax,%edi
436be7:	89 7d d8             	mov    %edi,-0x28(%ebp)
436bea:	8b c7                	mov    %edi,%eax
436bec:	72 05                	jb     0x436bf3
436bee:	83 f8 01             	cmp    $0x1,%eax
436bf1:	73 06                	jae    0x436bf9
436bf3:	33 c9                	xor    %ecx,%ecx
436bf5:	41                   	inc    %ecx
436bf6:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
436bf9:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436bfd:	4a                   	dec    %edx
436bfe:	79 d5                	jns    0x436bd5
436c00:	83 cf ff             	or     $0xffffffff,%edi
436c03:	8b 4d d0             	mov    -0x30(%ebp),%ecx
436c06:	8b 55 c4             	mov    -0x3c(%ebp),%edx
436c09:	8b c7                	mov    %edi,%eax
436c0b:	d3 e0                	shl    %cl,%eax
436c0d:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
436c11:	8d 42 01             	lea    0x1(%edx),%eax
436c14:	3b c6                	cmp    %esi,%eax
436c16:	7d 11                	jge    0x436c29
436c18:	8d 7d f0             	lea    -0x10(%ebp),%edi
436c1b:	8b ce                	mov    %esi,%ecx
436c1d:	8d 3c 87             	lea    (%edi,%eax,4),%edi
436c20:	2b c8                	sub    %eax,%ecx
436c22:	33 c0                	xor    %eax,%eax
436c24:	f3 ab                	rep stos %eax,%es:(%edi)
436c26:	83 cf ff             	or     $0xffffffff,%edi
436c29:	8b 4d e0             	mov    -0x20(%ebp),%ecx
436c2c:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
436c2f:	74 01                	je     0x436c32
436c31:	41                   	inc    %ecx
436c32:	8b 15 2c 01 4c 00    	mov    0x4c012c,%edx
436c38:	8b c2                	mov    %edx,%eax
436c3a:	2b 05 30 01 4c 00    	sub    0x4c0130,%eax
436c40:	3b c8                	cmp    %eax,%ecx
436c42:	7d 0f                	jge    0x436c53
436c44:	33 c0                	xor    %eax,%eax
436c46:	8d 7d f0             	lea    -0x10(%ebp),%edi
436c49:	ab                   	stos   %eax,%es:(%edi)
436c4a:	ab                   	stos   %eax,%es:(%edi)
436c4b:	ab                   	stos   %eax,%es:(%edi)
436c4c:	8b f3                	mov    %ebx,%esi
436c4e:	e9 b6 fe ff ff       	jmp    0x436b09
436c53:	3b ca                	cmp    %edx,%ecx
436c55:	0f 8f 19 02 00 00    	jg     0x436e74
436c5b:	2b 55 dc             	sub    -0x24(%ebp),%edx
436c5e:	8d 75 e4             	lea    -0x1c(%ebp),%esi
436c61:	89 55 d0             	mov    %edx,-0x30(%ebp)
436c64:	8d 7d f0             	lea    -0x10(%ebp),%edi
436c67:	8b c2                	mov    %edx,%eax
436c69:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436c6a:	99                   	cltd
436c6b:	83 e2 1f             	and    $0x1f,%edx
436c6e:	03 c2                	add    %edx,%eax
436c70:	c1 f8 05             	sar    $0x5,%eax
436c73:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436c74:	89 45 c4             	mov    %eax,-0x3c(%ebp)
436c77:	8b 45 d0             	mov    -0x30(%ebp),%eax
436c7a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
436c7b:	25 1f 00 00 80       	and    $0x8000001f,%eax
436c80:	79 05                	jns    0x436c87
436c82:	48                   	dec    %eax
436c83:	83 c8 e0             	or     $0xffffffe0,%eax
436c86:	40                   	inc    %eax
436c87:	89 45 d0             	mov    %eax,-0x30(%ebp)
436c8a:	83 cf ff             	or     $0xffffffff,%edi
436c8d:	8b c7                	mov    %edi,%eax
436c8f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436c92:	8b 7d d0             	mov    -0x30(%ebp),%edi
436c95:	8b cf                	mov    %edi,%ecx
436c97:	d3 e0                	shl    %cl,%eax
436c99:	f7 d0                	not    %eax
436c9b:	6a 20                	push   $0x20
436c9d:	89 45 d8             	mov    %eax,-0x28(%ebp)
436ca0:	58                   	pop    %eax
436ca1:	2b c7                	sub    %edi,%eax
436ca3:	6a 03                	push   $0x3
436ca5:	89 45 c8             	mov    %eax,-0x38(%ebp)
436ca8:	5e                   	pop    %esi
436ca9:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
436cad:	8b cf                	mov    %edi,%ecx
436caf:	8b c2                	mov    %edx,%eax
436cb1:	d3 ea                	shr    %cl,%edx
436cb3:	0b 55 e0             	or     -0x20(%ebp),%edx
436cb6:	23 45 d8             	and    -0x28(%ebp),%eax
436cb9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436cbc:	d3 e0                	shl    %cl,%eax
436cbe:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
436cc2:	43                   	inc    %ebx
436cc3:	89 45 e0             	mov    %eax,-0x20(%ebp)
436cc6:	3b de                	cmp    %esi,%ebx
436cc8:	7c df                	jl     0x436ca9
436cca:	8b 45 c4             	mov    -0x3c(%ebp),%eax
436ccd:	8d 55 f8             	lea    -0x8(%ebp),%edx
436cd0:	c1 e0 02             	shl    $0x2,%eax
436cd3:	33 db                	xor    %ebx,%ebx
436cd5:	6a 02                	push   $0x2
436cd7:	2b d0                	sub    %eax,%edx
436cd9:	83 cf ff             	or     $0xffffffff,%edi
436cdc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
436cdf:	59                   	pop    %ecx
436ce0:	3b c8                	cmp    %eax,%ecx
436ce2:	7c 0b                	jl     0x436cef
436ce4:	8b 02                	mov    (%edx),%eax
436ce6:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436cea:	8b 45 c4             	mov    -0x3c(%ebp),%eax
436ced:	eb 04                	jmp    0x436cf3
436cef:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436cf3:	83 ea 04             	sub    $0x4,%edx
436cf6:	49                   	dec    %ecx
436cf7:	79 e7                	jns    0x436ce0
436cf9:	8b 4d cc             	mov    -0x34(%ebp),%ecx
436cfc:	41                   	inc    %ecx
436cfd:	8b c1                	mov    %ecx,%eax
436cff:	99                   	cltd
436d00:	83 e2 1f             	and    $0x1f,%edx
436d03:	03 d0                	add    %eax,%edx
436d05:	c1 fa 05             	sar    $0x5,%edx
436d08:	89 55 d4             	mov    %edx,-0x2c(%ebp)
436d0b:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436d11:	79 05                	jns    0x436d18
436d13:	49                   	dec    %ecx
436d14:	83 c9 e0             	or     $0xffffffe0,%ecx
436d17:	41                   	inc    %ecx
436d18:	6a 1f                	push   $0x1f
436d1a:	58                   	pop    %eax
436d1b:	2b c1                	sub    %ecx,%eax
436d1d:	89 45 d0             	mov    %eax,-0x30(%ebp)
436d20:	33 c0                	xor    %eax,%eax
436d22:	8b 4d d0             	mov    -0x30(%ebp),%ecx
436d25:	40                   	inc    %eax
436d26:	d3 e0                	shl    %cl,%eax
436d28:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
436d2c:	0f 84 92 00 00 00    	je     0x436dc4
436d32:	8b c7                	mov    %edi,%eax
436d34:	d3 e0                	shl    %cl,%eax
436d36:	f7 d0                	not    %eax
436d38:	85 44 95 f0          	test   %eax,-0x10(%ebp,%edx,4)
436d3c:	eb 04                	jmp    0x436d42
436d3e:	39 5c 95 f0          	cmp    %ebx,-0x10(%ebp,%edx,4)
436d42:	75 07                	jne    0x436d4b
436d44:	42                   	inc    %edx
436d45:	3b d6                	cmp    %esi,%edx
436d47:	7c f5                	jl     0x436d3e
436d49:	eb 76                	jmp    0x436dc1
436d4b:	8b 7d cc             	mov    -0x34(%ebp),%edi
436d4e:	8b c7                	mov    %edi,%eax
436d50:	6a 1f                	push   $0x1f
436d52:	99                   	cltd
436d53:	59                   	pop    %ecx
436d54:	23 d1                	and    %ecx,%edx
436d56:	03 d0                	add    %eax,%edx
436d58:	c1 fa 05             	sar    $0x5,%edx
436d5b:	81 e7 1f 00 00 80    	and    $0x8000001f,%edi
436d61:	79 05                	jns    0x436d68
436d63:	4f                   	dec    %edi
436d64:	83 cf e0             	or     $0xffffffe0,%edi
436d67:	47                   	inc    %edi
436d68:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
436d6c:	2b cf                	sub    %edi,%ecx
436d6e:	33 ff                	xor    %edi,%edi
436d70:	47                   	inc    %edi
436d71:	d3 e7                	shl    %cl,%edi
436d73:	8b cb                	mov    %ebx,%ecx
436d75:	89 7d dc             	mov    %edi,-0x24(%ebp)
436d78:	03 f8                	add    %eax,%edi
436d7a:	89 7d e0             	mov    %edi,-0x20(%ebp)
436d7d:	3b f8                	cmp    %eax,%edi
436d7f:	8b 45 e0             	mov    -0x20(%ebp),%eax
436d82:	6a ff                	push   $0xffffffff
436d84:	5f                   	pop    %edi
436d85:	72 05                	jb     0x436d8c
436d87:	3b 45 dc             	cmp    -0x24(%ebp),%eax
436d8a:	73 03                	jae    0x436d8f
436d8c:	33 c9                	xor    %ecx,%ecx
436d8e:	41                   	inc    %ecx
436d8f:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436d93:	4a                   	dec    %edx
436d94:	78 28                	js     0x436dbe
436d96:	85 c9                	test   %ecx,%ecx
436d98:	74 21                	je     0x436dbb
436d9a:	8b 44 95 f0          	mov    -0x10(%ebp,%edx,4),%eax
436d9e:	8b cb                	mov    %ebx,%ecx
436da0:	8d 78 01             	lea    0x1(%eax),%edi
436da3:	3b f8                	cmp    %eax,%edi
436da5:	89 7d e0             	mov    %edi,-0x20(%ebp)
436da8:	8b c7                	mov    %edi,%eax
436daa:	72 05                	jb     0x436db1
436dac:	83 f8 01             	cmp    $0x1,%eax
436daf:	73 03                	jae    0x436db4
436db1:	33 c9                	xor    %ecx,%ecx
436db3:	41                   	inc    %ecx
436db4:	89 44 95 f0          	mov    %eax,-0x10(%ebp,%edx,4)
436db8:	4a                   	dec    %edx
436db9:	79 db                	jns    0x436d96
436dbb:	83 cf ff             	or     $0xffffffff,%edi
436dbe:	8b 4d d0             	mov    -0x30(%ebp),%ecx
436dc1:	8b 55 d4             	mov    -0x2c(%ebp),%edx
436dc4:	8b c7                	mov    %edi,%eax
436dc6:	d3 e0                	shl    %cl,%eax
436dc8:	21 44 95 f0          	and    %eax,-0x10(%ebp,%edx,4)
436dcc:	42                   	inc    %edx
436dcd:	3b d6                	cmp    %esi,%edx
436dcf:	7d 11                	jge    0x436de2
436dd1:	8d 7d f0             	lea    -0x10(%ebp),%edi
436dd4:	8b ce                	mov    %esi,%ecx
436dd6:	8d 3c 97             	lea    (%edi,%edx,4),%edi
436dd9:	2b ca                	sub    %edx,%ecx
436ddb:	33 c0                	xor    %eax,%eax
436ddd:	f3 ab                	rep stos %eax,%es:(%edi)
436ddf:	83 cf ff             	or     $0xffffffff,%edi
436de2:	8b 0d 34 01 4c 00    	mov    0x4c0134,%ecx
436de8:	41                   	inc    %ecx
436de9:	8b c1                	mov    %ecx,%eax
436deb:	99                   	cltd
436dec:	83 e2 1f             	and    $0x1f,%edx
436def:	03 c2                	add    %edx,%eax
436df1:	c1 f8 05             	sar    $0x5,%eax
436df4:	89 45 d8             	mov    %eax,-0x28(%ebp)
436df7:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436dfd:	79 05                	jns    0x436e04
436dff:	49                   	dec    %ecx
436e00:	83 c9 e0             	or     $0xffffffe0,%ecx
436e03:	41                   	inc    %ecx
436e04:	89 4d dc             	mov    %ecx,-0x24(%ebp)
436e07:	8b c3                	mov    %ebx,%eax
436e09:	d3 e7                	shl    %cl,%edi
436e0b:	6a 20                	push   $0x20
436e0d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436e10:	f7 d7                	not    %edi
436e12:	8b 5d dc             	mov    -0x24(%ebp),%ebx
436e15:	59                   	pop    %ecx
436e16:	2b cb                	sub    %ebx,%ecx
436e18:	89 45 cc             	mov    %eax,-0x34(%ebp)
436e1b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
436e1e:	8b 54 85 f0          	mov    -0x10(%ebp,%eax,4),%edx
436e22:	8b cb                	mov    %ebx,%ecx
436e24:	8b c2                	mov    %edx,%eax
436e26:	d3 ea                	shr    %cl,%edx
436e28:	8b 4d cc             	mov    -0x34(%ebp),%ecx
436e2b:	23 c7                	and    %edi,%eax
436e2d:	0b 55 e0             	or     -0x20(%ebp),%edx
436e30:	89 54 8d f0          	mov    %edx,-0x10(%ebp,%ecx,4)
436e34:	8b 4d dc             	mov    -0x24(%ebp),%ecx
436e37:	d3 e0                	shl    %cl,%eax
436e39:	89 45 e0             	mov    %eax,-0x20(%ebp)
436e3c:	8b 45 cc             	mov    -0x34(%ebp),%eax
436e3f:	40                   	inc    %eax
436e40:	89 45 cc             	mov    %eax,-0x34(%ebp)
436e43:	3b c6                	cmp    %esi,%eax
436e45:	7c d7                	jl     0x436e1e
436e47:	8b 75 d8             	mov    -0x28(%ebp),%esi
436e4a:	8d 55 f8             	lea    -0x8(%ebp),%edx
436e4d:	8b c6                	mov    %esi,%eax
436e4f:	c1 e0 02             	shl    $0x2,%eax
436e52:	6a 02                	push   $0x2
436e54:	2b d0                	sub    %eax,%edx
436e56:	33 db                	xor    %ebx,%ebx
436e58:	59                   	pop    %ecx
436e59:	3b ce                	cmp    %esi,%ecx
436e5b:	7c 08                	jl     0x436e65
436e5d:	8b 02                	mov    (%edx),%eax
436e5f:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436e63:	eb 04                	jmp    0x436e69
436e65:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436e69:	83 ea 04             	sub    $0x4,%edx
436e6c:	49                   	dec    %ecx
436e6d:	79 ea                	jns    0x436e59
436e6f:	e9 d8 fd ff ff       	jmp    0x436c4c
436e74:	3b 0d 28 01 4c 00    	cmp    0x4c0128,%ecx
436e7a:	0f 8c a2 00 00 00    	jl     0x436f22
436e80:	8b 0d 34 01 4c 00    	mov    0x4c0134,%ecx
436e86:	8d 7d f0             	lea    -0x10(%ebp),%edi
436e89:	33 c0                	xor    %eax,%eax
436e8b:	ab                   	stos   %eax,%es:(%edi)
436e8c:	ab                   	stos   %eax,%es:(%edi)
436e8d:	ab                   	stos   %eax,%es:(%edi)
436e8e:	8b c1                	mov    %ecx,%eax
436e90:	81 4d f0 00 00 00 80 	orl    $0x80000000,-0x10(%ebp)
436e97:	99                   	cltd
436e98:	83 e2 1f             	and    $0x1f,%edx
436e9b:	03 c2                	add    %edx,%eax
436e9d:	c1 f8 05             	sar    $0x5,%eax
436ea0:	89 45 cc             	mov    %eax,-0x34(%ebp)
436ea3:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436ea9:	79 05                	jns    0x436eb0
436eab:	49                   	dec    %ecx
436eac:	83 c9 e0             	or     $0xffffffe0,%ecx