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
436eaf:	41                   	inc    %ecx
436eb0:	83 cf ff             	or     $0xffffffff,%edi
436eb3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
436eb6:	6a 20                	push   $0x20
436eb8:	d3 e7                	shl    %cl,%edi
436eba:	58                   	pop    %eax
436ebb:	2b c1                	sub    %ecx,%eax
436ebd:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436ec0:	f7 d7                	not    %edi
436ec2:	89 45 d8             	mov    %eax,-0x28(%ebp)
436ec5:	8b 54 9d f0          	mov    -0x10(%ebp,%ebx,4),%edx
436ec9:	8b c2                	mov    %edx,%eax
436ecb:	d3 ea                	shr    %cl,%edx
436ecd:	23 c7                	and    %edi,%eax
436ecf:	0b 55 e0             	or     -0x20(%ebp),%edx
436ed2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
436ed5:	d3 e0                	shl    %cl,%eax
436ed7:	8b 4d c8             	mov    -0x38(%ebp),%ecx
436eda:	89 54 9d f0          	mov    %edx,-0x10(%ebp,%ebx,4)
436ede:	43                   	inc    %ebx
436edf:	89 45 e0             	mov    %eax,-0x20(%ebp)
436ee2:	3b de                	cmp    %esi,%ebx
436ee4:	7c df                	jl     0x436ec5
436ee6:	8b 75 cc             	mov    -0x34(%ebp),%esi
436ee9:	8d 55 f8             	lea    -0x8(%ebp),%edx
436eec:	8b c6                	mov    %esi,%eax
436eee:	c1 e0 02             	shl    $0x2,%eax
436ef1:	6a 02                	push   $0x2
436ef3:	2b d0                	sub    %eax,%edx
436ef5:	33 db                	xor    %ebx,%ebx
436ef7:	59                   	pop    %ecx
436ef8:	3b ce                	cmp    %esi,%ecx
436efa:	7c 08                	jl     0x436f04
436efc:	8b 02                	mov    (%edx),%eax
436efe:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436f02:	eb 04                	jmp    0x436f08
436f04:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436f08:	83 ea 04             	sub    $0x4,%edx
436f0b:	49                   	dec    %ecx
436f0c:	79 ea                	jns    0x436ef8
436f0e:	8b 35 3c 01 4c 00    	mov    0x4c013c,%esi
436f14:	33 db                	xor    %ebx,%ebx
436f16:	03 35 28 01 4c 00    	add    0x4c0128,%esi
436f1c:	43                   	inc    %ebx
436f1d:	e9 95 00 00 00       	jmp    0x436fb7
436f22:	8b 35 3c 01 4c 00    	mov    0x4c013c,%esi
436f28:	81 65 f0 ff ff ff 7f 	andl   $0x7fffffff,-0x10(%ebp)
436f2f:	03 f1                	add    %ecx,%esi
436f31:	8b 0d 34 01 4c 00    	mov    0x4c0134,%ecx
436f37:	8b c1                	mov    %ecx,%eax
436f39:	99                   	cltd
436f3a:	83 e2 1f             	and    $0x1f,%edx
436f3d:	89 75 c8             	mov    %esi,-0x38(%ebp)
436f40:	03 c2                	add    %edx,%eax
436f42:	c1 f8 05             	sar    $0x5,%eax
436f45:	89 45 d8             	mov    %eax,-0x28(%ebp)
436f48:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
436f4e:	79 05                	jns    0x436f55
436f50:	49                   	dec    %ecx
436f51:	83 c9 e0             	or     $0xffffffe0,%ecx
436f54:	41                   	inc    %ecx
436f55:	6a 20                	push   $0x20
436f57:	89 5d e0             	mov    %ebx,-0x20(%ebp)
436f5a:	8b f3                	mov    %ebx,%esi
436f5c:	d3 e7                	shl    %cl,%edi
436f5e:	8b d9                	mov    %ecx,%ebx
436f60:	58                   	pop    %eax
436f61:	2b c3                	sub    %ebx,%eax
436f63:	89 4d dc             	mov    %ecx,-0x24(%ebp)
436f66:	f7 d7                	not    %edi
436f68:	89 45 dc             	mov    %eax,-0x24(%ebp)
436f6b:	8b 54 b5 f0          	mov    -0x10(%ebp,%esi,4),%edx
436f6f:	8b cb                	mov    %ebx,%ecx
436f71:	8b c2                	mov    %edx,%eax
436f73:	d3 ea                	shr    %cl,%edx
436f75:	0b 55 e0             	or     -0x20(%ebp),%edx
436f78:	23 c7                	and    %edi,%eax
436f7a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
436f7d:	d3 e0                	shl    %cl,%eax
436f7f:	89 54 b5 f0          	mov    %edx,-0x10(%ebp,%esi,4)
436f83:	46                   	inc    %esi
436f84:	89 45 e0             	mov    %eax,-0x20(%ebp)
436f87:	83 fe 03             	cmp    $0x3,%esi
436f8a:	7c df                	jl     0x436f6b
436f8c:	8b 7d d8             	mov    -0x28(%ebp),%edi
436f8f:	8d 55 f8             	lea    -0x8(%ebp),%edx
436f92:	8b 75 c8             	mov    -0x38(%ebp),%esi
436f95:	8b c7                	mov    %edi,%eax
436f97:	c1 e0 02             	shl    $0x2,%eax
436f9a:	6a 02                	push   $0x2
436f9c:	2b d0                	sub    %eax,%edx
436f9e:	33 db                	xor    %ebx,%ebx
436fa0:	59                   	pop    %ecx
436fa1:	3b cf                	cmp    %edi,%ecx
436fa3:	7c 08                	jl     0x436fad
436fa5:	8b 02                	mov    (%edx),%eax
436fa7:	89 44 8d f0          	mov    %eax,-0x10(%ebp,%ecx,4)
436fab:	eb 04                	jmp    0x436fb1
436fad:	89 5c 8d f0          	mov    %ebx,-0x10(%ebp,%ecx,4)
436fb1:	83 ea 04             	sub    $0x4,%edx
436fb4:	49                   	dec    %ecx
436fb5:	79 ea                	jns    0x436fa1
436fb7:	8b 7d c0             	mov    -0x40(%ebp),%edi
436fba:	6a 1f                	push   $0x1f
436fbc:	58                   	pop    %eax
436fbd:	2b 05 34 01 4c 00    	sub    0x4c0134,%eax
436fc3:	8b c8                	mov    %eax,%ecx
436fc5:	8b 45 bc             	mov    -0x44(%ebp),%eax
436fc8:	d3 e6                	shl    %cl,%esi
436fca:	f7 d8                	neg    %eax
436fcc:	1b c0                	sbb    %eax,%eax
436fce:	25 00 00 00 80       	and    $0x80000000,%eax
436fd3:	0b f0                	or     %eax,%esi
436fd5:	a1 38 01 4c 00       	mov    0x4c0138,%eax
436fda:	0b 75 f0             	or     -0x10(%ebp),%esi
436fdd:	83 f8 40             	cmp    $0x40,%eax
436fe0:	75 0a                	jne    0x436fec
436fe2:	8b 45 f4             	mov    -0xc(%ebp),%eax
436fe5:	89 77 04             	mov    %esi,0x4(%edi)
436fe8:	89 07                	mov    %eax,(%edi)
436fea:	eb 07                	jmp    0x436ff3
436fec:	83 f8 20             	cmp    $0x20,%eax
436fef:	75 02                	jne    0x436ff3
436ff1:	89 37                	mov    %esi,(%edi)
436ff3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436ff6:	8b c3                	mov    %ebx,%eax
436ff8:	5f                   	pop    %edi
436ff9:	5e                   	pop    %esi
436ffa:	33 cd                	xor    %ebp,%ecx
436ffc:	5b                   	pop    %ebx
436ffd:	e8 34 58 ff ff       	call   0x42c836
437002:	8b e5                	mov    %ebp,%esp
437004:	5d                   	pop    %ebp
437005:	c3                   	ret
437006:	55                   	push   %ebp
437007:	8b ec                	mov    %esp,%ebp
437009:	83 ec 1c             	sub    $0x1c,%esp
43700c:	53                   	push   %ebx
43700d:	8b 5d 10             	mov    0x10(%ebp),%ebx
437010:	33 d2                	xor    %edx,%edx
437012:	b8 4e 40 00 00       	mov    $0x404e,%eax
437017:	56                   	push   %esi
437018:	57                   	push   %edi
437019:	89 45 fc             	mov    %eax,-0x4(%ebp)
43701c:	89 13                	mov    %edx,(%ebx)
43701e:	89 53 04             	mov    %edx,0x4(%ebx)
437021:	89 53 08             	mov    %edx,0x8(%ebx)
437024:	39 55 0c             	cmp    %edx,0xc(%ebp)
437027:	0f 86 3c 01 00 00    	jbe    0x437169
43702d:	8b ca                	mov    %edx,%ecx
43702f:	89 55 10             	mov    %edx,0x10(%ebp)
437032:	89 4d f4             	mov    %ecx,-0xc(%ebp)
437035:	89 55 f8             	mov    %edx,-0x8(%ebp)
437038:	8b 55 f4             	mov    -0xc(%ebp),%edx
43703b:	8d 7d e4             	lea    -0x1c(%ebp),%edi
43703e:	8b f3                	mov    %ebx,%esi
437040:	8b c1                	mov    %ecx,%eax
437042:	c1 e8 1f             	shr    $0x1f,%eax
437045:	03 d2                	add    %edx,%edx
437047:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437048:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437049:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43704a:	8b 75 10             	mov    0x10(%ebp),%esi
43704d:	8b ce                	mov    %esi,%ecx
43704f:	8b 7d f8             	mov    -0x8(%ebp),%edi
437052:	03 f6                	add    %esi,%esi
437054:	0b f0                	or     %eax,%esi
437056:	c1 e9 1f             	shr    $0x1f,%ecx
437059:	03 ff                	add    %edi,%edi
43705b:	8b c2                	mov    %edx,%eax
43705d:	0b f9                	or     %ecx,%edi
43705f:	c1 e8 1f             	shr    $0x1f,%eax
437062:	8b ce                	mov    %esi,%ecx
437064:	03 d2                	add    %edx,%edx
437066:	03 f6                	add    %esi,%esi